summaryrefslogtreecommitdiff
path: root/backend
AgeCommit message (Collapse)AuthorFilesLines
2015-12-17Fix crash for epubs when accessibility is enabledAndrey Gursky1-0/+11
Once epub support has been implemented, atril crashes with all epubs. Backtrace for 1.10.2+repack1-1 (Debian Stretch): Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffd26d2700 (LWP 22276)] 0x0000000000000000 in ?? () (gdb) bt #0 0x0000000000000000 in () #1 0x00007ffff755914e in ev_job_page_data_run (job=0x9e3850 [EvJobPageData]) at ev-jobs.c:762 #2 0x00007ffff755a85a in ev_job_thread_proxy (job=0x9e3850 [EvJobPageData]) at ev-job-scheduler.c:184 #3 0x00007ffff755a85a in ev_job_thread_proxy (data=<optimized out>) at ev-job-scheduler.c:217 #4 0x00007ffff14e1955 in g_thread_proxy (data=0x7fff84002280) at /build/glib2.0-VKSJTv/glib2.0-2.46.1/./glib/gthread.c:778 #5 0x00007ffff08690a4 in start_thread (arg=0x7fffd26d2700) at pthread_create.c:309 #6 0x00007ffff059e06d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 (gdb) It turns out it couldn't really work since one function pointer is uninitialized. But nobody complained. Thus I investigated it further, why it fails only for me. First, I tried a gtk3 version. And it works properly, but the broken code is not hit at all. Due to the threaded design, it was harder to figure out, why. Here is the code path: --> ev_window_load_job_cb (shell/ev-window.c) --> ev_document_model_set_document (libview/ev-document-model.c) --> ev_view_document_changed_cb (libview/ev-view.c) --> setup_caches (libview/ev-view.c) --> if (ev_view_is_a11y_enabled (view)) { ev_page_cache_set_flags(); } ev_page_cache_set_flags (libview/ev-page-cache.c) --> ev_page_cache_set_page_range (libview/ev-page-cache.c) --> data->job = ev_job_page_data_new (cache->document, i, flags); ... ev_job_scheduler_push_job (data->job, EV_JOB_PRIORITY_NONE); ... --> ev_job_thread_proxy (libview/ev-job-scheduler.c) --> ev_job_page_data_run (libview/ev-jobs.c) --> ev_document_links_get_links (libdocument/ev-document-links.c) --> EvDocumentLinksInterface *iface = EV_DOCUMENT_LINKS_GET_IFACE (document_links); return iface->get_links (document_links, page); (get_links == NULL) --> crash As one can see it depends on the accessibility. And it is enabled on my box. It can be reproduced with gsettings set org.mate.interface accessibility true (mate logout and login) Why the enabled accessibility is not discovered by the gtk3 version is another story. My question [1] was motivated by this. [1] https://github.com/mate-desktop/atril/issues/171
2015-11-05dvi: fix crash due to regressionmonsta1-1/+1
fixes https://github.com/mate-desktop/atril/issues/164 regression has been introduced in https://github.com/mate-desktop/atril/commit/94dcb761b95ee54ef1f1512d59721932d75ffb7f
2015-09-10epub: drop embedded MathJax in favor of using distro-packaged onemonsta257-4472/+2
closes https://github.com/mate-desktop/atril/issues/158
2015-09-02comics: Fix -Wold-style-declaration warningChristian Persch1-1/+1
2015-09-02xps: Remove extra call to gxps_link_get_area()Carlos Garcia Campos1-1/+0
2015-09-02pdf: remove unused variablesHib Eris1-12/+2
2015-09-02pdf: remove unused variableHib Eris1-1/+0
2015-09-02Remove unused variables from mdvi-libHib Eris3-6/+1
2015-08-31pdf: Fix compile warningCarlos Garcia Campos1-0/+3
2015-08-31pdf: Fix saving annotations added to different pagesDaniel Glöckner1-4/+9
Fixes bug #628378.
2015-03-19corrected bug tracker links everywhereMonsta1-5/+5
Closes https://github.com/mate-desktop/atril/pull/132
2015-01-22fix careless hack: don't do double-free, avoid weird crashesMonsta1-2/+1
because backends manager frees that var already. actually, adding ev_backends_manager_get_backends_dir to the public API was still careless. backends manager and epub document jobs seem to be in the different threads, and there's no mutex seen anywhere around. luckily, what we have here is just a reading of a variable that has been assigned only once (in backends_dir function), so it's not as catastrophic as it would be if it was e.g. concurrent writing without a mutex. Closes https://github.com/mate-desktop/atril/pull/124
2015-01-10comics backend: add support for bsdtarBalló György1-0/+24
bsdtar is able to extract all supported comics archive format.
2014-12-29epub: Fix some typosinfirit1-2/+2
Thanks to tibbi <[email protected]> for spotting them.
2014-12-10fix some more leaks and stuffMonsta1-2/+2
2014-12-10tiff: Set stopOnError to zero on TIFFReadRGBAImageOriented() callsinfirit1-2/+2
This allows overlooking errors and processing malformed tiff files. Taken from evince commit: 2f2b0dbbf86b3b0def86c78e27f7e530e4041308 From: Juanjo Marín <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=644806
2014-12-10dvi: Another fix for buffer overwrite in dvi-backendinfirit1-2/+2
Taken from evince commit: efadec4ffcdde3373f6f4ca0eaac98dc963c4fd5 From: Scott Reeves <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=643882
2014-12-10tiff: Use TIFFOpenW on windowsinfirit1-0/+14
Taken from evince commit: 019c902c1e873aa465e877ae700f36eb94d04c45 From: Hib Eris <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=644928
2014-12-10backends: Fix another security issue in the dvi-backendinfirit1-1/+1
Taken from evince commit: 439c5070022eab6cef7266aab47f978058012c72 From: Vincent Untz <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=640923
2014-12-10Fix problem with some pk fontsinfirit1-2/+3
Taken from evince commit: 0a6e8aabcc46d47b5d84e5414cd0e07d57ef171b From: José Aliste <[email protected]>
2014-12-10pdf: Bump poppler requirements to 0.16.0infirit1-103/+9
And remove all unneeded #ifdefs Based on evince commit: e214c8e963fc4224c5ee54b8b9f0d23cb07019d7 From: Carlos Garcia Campos <[email protected]>
2014-12-10Fixed minor bug, it returned NULL when expecting gbooleaninfirit1-1/+1
Taken from evince commit: d9458f7a82b916efcc7bebf576388ef9bf2e8e45 From: danigm <[email protected]>
2014-12-10backends: Fix several security issues in the dvi-backend.infirit5-3/+23
See CVE-2010-2640, CVE-2010-2641, CVE-2010-2642 and CVE-2010-2643. Taken from evince commit: d4139205b010ed06310d14284e63114e88ec6de2 From: José Aliste <[email protected]>
2014-12-09pdf: Support .pdf.xz filesinfirit1-2/+1
Taken from evince commit: d68a55580d2e63c0587b11580dfde219d5ef56fb From: Christian Persch <[email protected]>
2014-12-09dvi: Don't use cairo_image_surface_create_for_data()infirit1-14/+6
We can use cairo_image_surface_create() and let cairo/pixman handle the memory. Taken from evince commit: cb697193fec59edfcefe503c390592851a79dd6b From: Carlos Garcia Campos <[email protected]>
2014-12-09dvi: Fix drawing glyphs with transparencyinfirit2-43/+13
Taken from evince commit: 0891eb8e130103c2abe4b48b7f2b5fa42d0fdaa0 From: Carlos Rendon <[email protected]>
2014-12-09dvi: Add image_done method to DviDevice to notify that the image is finishedinfirit3-0/+11
This way we can mark the surface dirty when all pixels have been modified. Taken from evince commit: c565f15e696db4b4cf983cdddf1e1ab273d547dc From: Carlos Garcia Campos <[email protected]>
2014-12-09[djvu] Implement document_links_find_link_page()infirit3-6/+31
Taken from evince commit: 4f13859ce0aa0918a5c6a0a24686d97ffd7d2ee2 From: Carlos Garcia Campos <[email protected]>
2014-12-09[pdf] Implement document_links_find_link_page()infirit1-0/+20
Taken from evince commit: 42fdab936eef083c81a9e6798ffea2c4bfab3842 From: Carlos Garcia Campos <[email protected]>
2014-12-09[pdf] Do not resolve named destinations in the backendinfirit1-30/+1
Taken from evince commit: c4923eca28c74fad47acdd1ebaafff206107f721 From: Carlos Garcia Campos <[email protected]>
2014-12-09[pdf] Update to poppler api changesinfirit1-0/+11
Linearized PopplerDocument property is now boolean rather than string. Based on evince commit: f77e6cf4fd7fef49ac91d8c62b6a9a993529adb8 From: Carlos Garcia Campos <[email protected]>
2014-12-09[pdf] Add support for OCG State actionsinfirit1-2/+41
Based on evince commit: e39bde3f3b8ce3c111c27f7aa6b384c7a5f98672 From: Carlos Garcia Campos <[email protected]>
2014-12-09Do not cache layers in the backendsinfirit1-19/+17
se g_object_set_data instead, to attach the backend object to the evince layer. Based on evince commit: 08993c59369086fa8916236f580438d656ccb8f7 From: Carlos Garcia Campos <[email protected]>
2014-12-08don't leak memoryMonsta1-100/+125
2014-12-08removed some code that had no effectmonsta1-1/+0
2014-12-08epub backend: more anti-NULL protection for epub_document_set_index_pagesMonsta1-1/+4
2014-12-08ePub: Can open documents which do not have tocrootavish1-2/+15
I always thought all ePub documents had either a traditional ncx or an epub3 nav. Now as it turns out, sometimes neither of these are present. Fixed.
2014-12-08ePub backend: unescape uri strings from tocrootavish1-0/+6
Toc may include links with strings escaped for URI format. We needed to un-escape them.
2014-11-25properly return a value from non-void functionmonsta1-2/+2
2014-11-11don't leak memoryMonsta1-3/+4
Closes https://github.com/mate-desktop/atril/pull/99
2014-10-27Fix minizip Makefileinfirit1-3/+1
2014-10-24epub: Fix make distatril-1.9.0Stefano Karapetsas36-0/+74
2014-10-03pdf: Return FALSE instead of NULL in gboolean functionStefano Karapetsas1-1/+1
Closes https://github.com/mate-desktop/atril/issues/30
2014-09-23Fix glib deprecationsinfirit1-12/+10
Based on evince commit by Carlos Garcia Campos <[email protected]> Url: https://git.gnome.org/browse/evince/commit/?id=bf90f90e0af99bbfdd20e6d21fd228c05cffae51 Url: https://git.gnome.org/browse/evince/commit/?id=76151be92239ed5f491cb26c87a2328b670e9f64
2014-08-19Mathjax Supportrootavish257-2/+4478
The Mathjax files will be installed to $(backenddir)/epub/MathJax This was as small as the install got.
2014-08-17Added epub3 navsheetsrootavish1-21/+174
I came across a document that didn't have an old style toc, and thus the all accomodating navsheet support. Also fixed some mistakes here and there.
2014-08-14Tweaked the inverted colors,shell Makefilerootavish1-4/+19
Tweaked the way we handle inverted colors so that documents with no "day" class tag fr their primary stylesheets can revert back to these stylesheets when prompted, the inverted colors run into problems on document reload, this needs to be fixed. Other than that I removed the webkit flags and libs from shell/Makefile.am , they were there because at a very early stage of the project I had decided to use a webkit_web_view directly, then I ended up extending and using it in libview.
2014-08-14Inverted colors(night) viewing mode for ePubrootavish1-0/+135
Added the capability to view and epub document with inverted colors, yet to test for documents where we write the stylesheet, although the code is there.
2014-08-12Fixed Makefile to include webkit outside epubrootavish1-2/+2
I noticed I had forgotten to move the webkit check outside the epub plugin, did so now, accordingly modified the module names.
2014-08-12Modified ioapi.h for missing macrorootavish1-2/+4