summaryrefslogtreecommitdiff
path: root/libmisc/ev-page-action-widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmisc/ev-page-action-widget.c')
-rw-r--r--libmisc/ev-page-action-widget.c18
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)
{