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).
This commit is contained in:
Tim Janik 2000-11-01 03:03:52 +00:00 committed by Tim Janik
parent c42cee3e7f
commit da5fdc1360
8 changed files with 66 additions and 11 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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