diff --git a/ChangeLog b/ChangeLog index 9ef0e1152d..2ee6800992 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-08-24 Matthias Clasen + + * gtk/gtkaction.c (connect_proxy, disconnect_proxy): Handle + action_group being NULL. (#150869, Tommi Komulainen) + 2004-08-24 Matthias Clasen * gdk/gdkimage.c (allocate_scratch_images): Use the correct diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 9ef0e1152d..2ee6800992 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2004-08-24 Matthias Clasen + + * gtk/gtkaction.c (connect_proxy, disconnect_proxy): Handle + action_group being NULL. (#150869, Tommi Komulainen) + 2004-08-24 Matthias Clasen * gdk/gdkimage.c (allocate_scratch_images): Use the correct diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 9ef0e1152d..2ee6800992 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2004-08-24 Matthias Clasen + + * gtk/gtkaction.c (connect_proxy, disconnect_proxy): Handle + action_group being NULL. (#150869, Tommi Komulainen) + 2004-08-24 Matthias Clasen * gdk/gdkimage.c (allocate_scratch_images): Use the correct diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 9ef0e1152d..2ee6800992 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2004-08-24 Matthias Clasen + + * gtk/gtkaction.c (connect_proxy, disconnect_proxy): Handle + action_group being NULL. (#150869, Tommi Komulainen) + 2004-08-24 Matthias Clasen * gdk/gdkimage.c (allocate_scratch_images): Use the correct diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c index 003353be22..4b16a8881c 100644 --- a/gtk/gtkaction.c +++ b/gtk/gtkaction.c @@ -743,8 +743,6 @@ static void connect_proxy (GtkAction *action, GtkWidget *proxy) { - GtkActionGroup *group = action->private_data->action_group; - g_object_ref (action); g_object_set_data_full (G_OBJECT (proxy), "gtk-action", action, g_object_unref); @@ -904,15 +902,14 @@ connect_proxy (GtkAction *action, G_CONNECT_SWAPPED); } - _gtk_action_group_emit_connect_proxy (group, action, proxy); + if (action->private_data->action_group) + _gtk_action_group_emit_connect_proxy (action->private_data->action_group, action, proxy); } static void disconnect_proxy (GtkAction *action, GtkWidget *proxy) { - GtkActionGroup *group = action->private_data->action_group; - g_object_set_data (G_OBJECT (proxy), "gtk-action", NULL); /* remove proxy from list of proxies */ @@ -951,7 +948,8 @@ disconnect_proxy (GtkAction *action, G_CALLBACK (gtk_action_create_menu_proxy), action); - _gtk_action_group_emit_disconnect_proxy (group, action, proxy); + if (action->private_data->action_group) + _gtk_action_group_emit_disconnect_proxy (action->private_data->action_group, action, proxy); } void