summaryrefslogtreecommitdiff
path: root/libview/ev-view.c
diff options
context:
space:
mode:
authorrootavish <[email protected]>2014-08-10 01:05:45 +0530
committerrootavish <[email protected]>2014-08-10 01:05:45 +0530
commit1548bcb4629a6a41641a0188003215b3098aa5fc (patch)
tree368ef186c9aa1a60eeeba84fabcaceb6d30bd30f /libview/ev-view.c
parent3a013d3b19c5a81372560e735cf6f9f5c3ebdd37 (diff)
downloadatril-1548bcb4629a6a41641a0188003215b3098aa5fc.tar.bz2
atril-1548bcb4629a6a41641a0188003215b3098aa5fc.tar.xz
Page Label handling, other fixes
Added the function to handle links from the toolbar, also added functions to disconnect all ev-view handlers once it has been replaced by ev-web-view, and vice-versa(to drop all handler associated to ev-web-view). Also the unref call to job_thumb was causing thumbnail jobs to crash with GTK2, so had to revert that, now we're back to the document folder not getting deleted from disk.
Diffstat (limited to 'libview/ev-view.c')
-rwxr-xr-x[-rw-r--r--]libview/ev-view.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 7bb56cae..ec378758 100644..100755
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -6568,3 +6568,41 @@ ev_view_previous_page (EvView *view)
}
}
+/**
+ * ev_view_disconnect_handlers
+ * @view: #EvView instance
+ *
+ * Disconnect all signal handlers from the model, to ensure error free operation of the webview,
+ * we have an equivalent function for the webview.
+ */
+void
+ev_view_disconnect_handlers(EvView *view)
+{
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_rotation_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_inverted_colors_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_sizing_mode_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_scale_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_continuous_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_dual_page_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_fullscreen_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_page_changed_cb),
+ view);
+ g_signal_handlers_disconnect_by_func(view->model,
+ G_CALLBACK (ev_view_document_changed_cb),
+ view);
+} \ No newline at end of file