From 1548bcb4629a6a41641a0188003215b3098aa5fc Mon Sep 17 00:00:00 2001 From: rootavish Date: Sun, 10 Aug 2014 01:05:45 +0530 Subject: 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. --- libview/ev-view.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) mode change 100644 => 100755 libview/ev-view.c (limited to 'libview/ev-view.c') diff --git a/libview/ev-view.c b/libview/ev-view.c old mode 100644 new mode 100755 index 7bb56cae..ec378758 --- 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 -- cgit v1.2.1