diff options
Diffstat (limited to 'libmisc/ev-page-action-widget.c')
-rw-r--r-- | libmisc/ev-page-action-widget.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/libmisc/ev-page-action-widget.c b/libmisc/ev-page-action-widget.c index cf3b6a6a..6b5d476c 100644 --- a/libmisc/ev-page-action-widget.c +++ b/libmisc/ev-page-action-widget.c @@ -43,7 +43,7 @@ struct _EvPageActionWidget GtkWidget *entry; GtkWidget *label; - guint signal_id; + gulong signal_id; GtkTreeModel *filter_model; GtkTreeModel *model; }; @@ -202,11 +202,16 @@ ev_page_action_widget_document_changed_cb (EvDocumentModel *model, g_object_unref (action_widget->document); action_widget->document = document; +#if GLIB_CHECK_VERSION(2,62,0) + g_clear_signal_handler (&action_widget->signal_id, + action_widget->doc_model); +#else if (action_widget->signal_id > 0) { g_signal_handler_disconnect (action_widget->doc_model, action_widget->signal_id); action_widget->signal_id = 0; } +#endif action_widget->signal_id = g_signal_connect_object (action_widget->doc_model, "page-changed", @@ -240,6 +245,13 @@ ev_page_action_widget_finalize (GObject *object) EvPageActionWidget *action_widget = EV_PAGE_ACTION_WIDGET (object); if (action_widget->doc_model != NULL) { +#if GLIB_CHECK_VERSION(2,62,0) + if ((action_widget->signal_id != 0) && + (g_signal_handler_is_connected (action_widget->doc_model, + action_widget->signal_id))) + g_clear_signal_handler (&action_widget->signal_id, + action_widget->doc_model); +#else if (action_widget->signal_id > 0) { if (g_signal_handler_is_connected(action_widget->doc_model, action_widget->signal_id)) @@ -247,6 +259,7 @@ ev_page_action_widget_finalize (GObject *object) action_widget->signal_id); action_widget->signal_id = 0; } +#endif g_object_remove_weak_pointer (G_OBJECT (action_widget->doc_model), (gpointer)&action_widget->doc_model); action_widget->doc_model = NULL; @@ -305,7 +318,6 @@ match_selected_cb (GtkEntryCompletion *completion, return TRUE; } - static void display_completion_text (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, @@ -349,7 +361,6 @@ match_completion (GtkEntryCompletion *completion, EV_DOCUMENT_LINKS_COLUMN_LINK, &link, -1); - if (link) { text = ev_link_get_title (link); g_object_unref (link); @@ -445,7 +456,6 @@ get_filter_model_from_model (GtkTreeModel *model) return filter_model; } - void ev_page_action_widget_update_links_model (EvPageActionWidget *proxy, GtkTreeModel *model) { |