diff options
author | Tim Janik <timj@gtk.org> | 2000-11-01 03:03:52 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2000-11-01 03:03:52 +0000 |
commit | da5fdc1360a6002b06b0196e33e294527069a90c (patch) | |
tree | d50bccf961c5376eefca5b4940f431fd72861ad1 | |
parent | c42cee3e7f635cd027ff4ccb548d430b079585e4 (diff) | |
download | gtk+-da5fdc1360a6002b06b0196e33e294527069a90c.tar.gz |
make use of g_signal_handlers_block_matched,
Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_compat_matched): make use of
g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
g_signal_handlers_disconnect_matched to block/unblock and disconnect
multiple handlers respectively, instead of only treating the
first handler found (bug reported by owen).
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 8 | ||||
-rw-r--r-- | gtk/gtksignal.c | 21 |
8 files changed, 66 insertions, 11 deletions
@@ -1,3 +1,11 @@ +Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org> + + * gtk/gtksignal.c (gtk_signal_compat_matched): make use of + g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and + g_signal_handlers_disconnect_matched to block/unblock and disconnect + multiple handlers respectively, instead of only treating the + first handler found (bug reported by owen). + Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 784fdd980c..88b586bf5a 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org> + + * gtk/gtksignal.c (gtk_signal_compat_matched): make use of + g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and + g_signal_handlers_disconnect_matched to block/unblock and disconnect + multiple handlers respectively, instead of only treating the + first handler found (bug reported by owen). + Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 784fdd980c..88b586bf5a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org> + + * gtk/gtksignal.c (gtk_signal_compat_matched): make use of + g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and + g_signal_handlers_disconnect_matched to block/unblock and disconnect + multiple handlers respectively, instead of only treating the + first handler found (bug reported by owen). + Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 784fdd980c..88b586bf5a 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org> + + * gtk/gtksignal.c (gtk_signal_compat_matched): make use of + g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and + g_signal_handlers_disconnect_matched to block/unblock and disconnect + multiple handlers respectively, instead of only treating the + first handler found (bug reported by owen). + Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 784fdd980c..88b586bf5a 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org> + + * gtk/gtksignal.c (gtk_signal_compat_matched): make use of + g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and + g_signal_handlers_disconnect_matched to block/unblock and disconnect + multiple handlers respectively, instead of only treating the + first handler found (bug reported by owen). + Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 784fdd980c..88b586bf5a 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org> + + * gtk/gtksignal.c (gtk_signal_compat_matched): make use of + g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and + g_signal_handlers_disconnect_matched to block/unblock and disconnect + multiple handlers respectively, instead of only treating the + first handler found (bug reported by owen). + Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 784fdd980c..88b586bf5a 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org> + + * gtk/gtksignal.c (gtk_signal_compat_matched): make use of + g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and + g_signal_handlers_disconnect_matched to block/unblock and disconnect + multiple handlers respectively, instead of only treating the + first handler found (bug reported by owen). + Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. diff --git a/gtk/gtksignal.c b/gtk/gtksignal.c index b911ae6a96..883d04792b 100644 --- a/gtk/gtksignal.c +++ b/gtk/gtksignal.c @@ -160,22 +160,21 @@ gtk_signal_compat_matched (GtkObject *object, GSignalMatchType match, guint action) { - guint id; + guint n_handlers; g_return_if_fail (GTK_IS_OBJECT (object)); + + switch (action) + { + case 0: n_handlers = g_signal_handlers_disconnect_matched (object, match, 0, 0, NULL, func, data); break; + case 1: n_handlers = g_signal_handlers_block_matched (object, match, 0, 0, NULL, func, data); break; + case 2: n_handlers = g_signal_handlers_unblock_matched (object, match, 0, 0, NULL, func, data); break; + default: n_handlers = 0; break; + } - id = g_signal_handler_find (object, match, 0, 0, NULL, func, data); - - if (!id) + if (!n_handlers) g_warning ("unable to find signal handler for object(%p) with func(%p) and data(%p)", object, func, data); - else - switch (action) - { - case 0: g_signal_handler_disconnect (object, id); break; - case 1: g_signal_handler_block (object, id); break; - case 2: g_signal_handler_unblock (object, id); break; - } } static inline gboolean |