diff --git a/mupdf-64M-memory-limit.diff b/mupdf-64M-memory-limit.diff new file mode 100644 index 000000000..94db74fd6 --- /dev/null +++ b/mupdf-64M-memory-limit.diff @@ -0,0 +1,12 @@ +diff --git a/fitz/res_pixmap.c b/fitz/res_pixmap.c +index 83f4652..c4d7d6a 100644 +--- a/fitz/res_pixmap.c ++++ b/fitz/res_pixmap.c +@@ -1,6 +1,6 @@ + #include "fitz.h" + +-static int fz_memory_limit = 256 << 20; ++static int fz_memory_limit = 64 << 20; // XXX dpavlin - limit memory usage to 64M + static int fz_memory_used = 0; + + fz_pixmap * diff --git a/reader.lua b/reader.lua index 9f24c53e7..872839cc5 100755 --- a/reader.lua +++ b/reader.lua @@ -117,7 +117,7 @@ function freecache() end function checkcache(no) for i = 1, #cache do - if cache[i].no == no then + if cache[i].no == no and cache[i].page ~= nil then print("cache hit: slot="..i.." page="..no) return i end @@ -216,13 +216,12 @@ function modify_gamma(offset) if gamma == -1 then gamma = 1 end - print("modify_gamma slot="..slot.." gamma="..gamma.." offset="..offset) + local no = cache[slot].no + print("modify_gamma "..no.." slot="..slot.." gamma="..gamma.." offset="..offset) gamma = gamma + offset; - cache[slot].dc:setGamma( gamma ); optarg["G"] = gamma; -- for next page - cache[slot].page:draw(cache[slot].dc, cache[slot].bb, 0, 0) - fb:blitFullFrom(cache[slot].bb) - fb:refresh(0) + freecache() + goto(no) end function mainloop()