From c5421263e4347c94dd0481249e6ae30a9d7ebecb Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Mon, 5 Nov 2012 03:19:50 +0100 Subject: [PATCH] gail: use connect_object() for connecting to GtkTextBuffer signals because the user_data is the GtkTextView. This used to crash when the text view got destroyed, and the buffer was used for another view. Fixes bug #652204. --- modules/other/gail/gailtextview.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/modules/other/gail/gailtextview.c b/modules/other/gail/gailtextview.c index 985cb40c79..9979305414 100644 --- a/modules/other/gail/gailtextview.c +++ b/modules/other/gail/gailtextview.c @@ -227,14 +227,18 @@ setup_buffer (GtkTextView *view, gail_text_util_buffer_setup (gail_view->textutil, buffer); /* Set up signal callbacks */ - g_signal_connect_data (buffer, "insert-text", - (GCallback) _gail_text_view_insert_text_cb, view, NULL, 0); - g_signal_connect_data (buffer, "delete-range", - (GCallback) _gail_text_view_delete_range_cb, view, NULL, 0); - g_signal_connect_data (buffer, "mark-set", - (GCallback) _gail_text_view_mark_set_cb, view, NULL, 0); - g_signal_connect_data (buffer, "changed", - (GCallback) _gail_text_view_changed_cb, view, NULL, 0); + g_signal_connect_object (buffer, "insert-text", + (GCallback) _gail_text_view_insert_text_cb, + view, 0); + g_signal_connect_object (buffer, "delete-range", + (GCallback) _gail_text_view_delete_range_cb, + view, 0); + g_signal_connect_object (buffer, "mark-set", + (GCallback) _gail_text_view_mark_set_cb, + view, 0); + g_signal_connect_object (buffer, "changed", + (GCallback) _gail_text_view_changed_cb, + view, 0); }