summaryrefslogtreecommitdiff
path: root/gtk/gtksignal.h
diff options
context:
space:
mode:
authorTim Janik <timj@gimp.org>1998-02-03 21:36:06 +0000
committerTim Janik <timj@src.gnome.org>1998-02-03 21:36:06 +0000
commit64ca527ecbcbbf715551b59a7248ef3b225894ce (patch)
tree6f731eb83bae539a5a149bb02d63343cce32b273 /gtk/gtksignal.h
parent3b0de24a7b2a2786c1c3b8ff3fbda1168e8909df (diff)
downloadgtk+-64ca527ecbcbbf715551b59a7248ef3b225894ce.tar.gz
for the emission of AFTER signals, fetch the objects signals via
Tue Feb 3 15:09:55 1998 Tim Janik <timj@gimp.org> * gtk/gtksignal.c (gtk_signal_real_emit): for the emission of AFTER signals, fetch the objects signals via gtk_signal_get_handlers again. some handlers might have been removed or added. not doing this would mess up the memchunk allocation of signal handlers (this had been triggered by multiple *_while_alive connections), bad, bad, bad! (gtk_handlers_run): do the referencing on signal handlers unconditionally, the invokation of AFTER handlers will now take care of modified lists. * gtk/gtksignal.h: added gtk_signal_connect_while_alive.
Diffstat (limited to 'gtk/gtksignal.h')
-rw-r--r--gtk/gtksignal.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtksignal.h b/gtk/gtksignal.h
index 108006de1f..39a793b192 100644
--- a/gtk/gtksignal.h
+++ b/gtk/gtksignal.h
@@ -113,6 +113,11 @@ void gtk_signal_connect_object_while_alive (GtkObject *object,
const gchar *signal,
GtkSignalFunc func,
GtkObject *alive_object);
+void gtk_signal_connect_while_alive (GtkObject *object,
+ const gchar *signal,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkObject *alive_object);
void gtk_signal_disconnect (GtkObject *object,
gint anid);