diff options
author | Michael Natterer <mitch@gimp.org> | 2012-11-05 03:19:50 +0100 |
---|---|---|
committer | Michael Natterer <mitch@gimp.org> | 2012-11-05 03:19:50 +0100 |
commit | c5421263e4347c94dd0481249e6ae30a9d7ebecb (patch) | |
tree | 891f30b3e7fb1624b00ea03b662d0ef9e0e9b93c | |
parent | de89546e30db83e6e10f72062b3b5c38814bb64d (diff) | |
download | gtk+-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.c | 20 |
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); } |