summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorMatthias Clasen <matthiasc@src.gnome.org>2008-07-04 20:09:57 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2008-07-04 20:09:57 +0000
commitf1f83c1da0e6b1944c8bbb5b3b6b71d183b71f69 (patch)
treeb07bc6b24ef8eb18d79f6a4cbd8b4782e7bff939 /gtk
parent81376a6e58b9331f3ca83faea270bfcb30f045eb (diff)
downloadgtk+-f1f83c1da0e6b1944c8bbb5b3b6b71d183b71f69.tar.gz
More debork
svn path=/trunk/; revision=20766
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkmenu.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 9687c3ab13..4d21d4a8b7 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -794,7 +794,17 @@ gtk_menu_set_property (GObject *object,
gtk_menu_set_accel_path (menu, g_value_get_string (value));
break;
case PROP_ATTACH_WIDGET:
- gtk_menu_attach_to_widget (menu, g_value_get_object (value), NULL);
+ {
+ GtkWidget *widget;
+
+ widget = gtk_menu_get_attach_widget (menu);
+ if (widget)
+ gtk_menu_detach (menu);
+
+ widget = (GtkWidget*) g_value_get_object (value);
+ if (widget)
+ gtk_menu_attach_to_widget (menu, widget, NULL);
+ }
break;
case PROP_TEAROFF_STATE:
gtk_menu_set_tearoff_state (menu, g_value_get_boolean (value));