summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Natterer <mitch@gimp.org>2012-11-05 03:19:50 +0100
committerMichael Natterer <mitch@gimp.org>2012-11-05 03:19:50 +0100
commitc5421263e4347c94dd0481249e6ae30a9d7ebecb (patch)
tree891f30b3e7fb1624b00ea03b662d0ef9e0e9b93c
parentde89546e30db83e6e10f72062b3b5c38814bb64d (diff)
downloadgtk+-c5421263e4347c94dd0481249e6ae30a9d7ebecb.tar.gz
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.
-rw-r--r--modules/other/gail/gailtextview.c20
1 files 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);
}