summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.pre-2-105
-rw-r--r--ChangeLog.pre-2-45
-rw-r--r--ChangeLog.pre-2-65
-rw-r--r--ChangeLog.pre-2-85
-rw-r--r--gtk/gtktoolbar.c18
6 files changed, 38 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a79fdd01b..4e7d64d2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-06 Morten Welinder <terra@gnome.org>
+
+ * gtk/gtktoolbar.c (show_menu): Cleanup using
+ gtk_menu_attach_to_widget. Also fixes leak, see #133411.
+
2004-02-06 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free the
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index a79fdd01b..4e7d64d2f 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,8 @@
+2004-02-06 Morten Welinder <terra@gnome.org>
+
+ * gtk/gtktoolbar.c (show_menu): Cleanup using
+ gtk_menu_attach_to_widget. Also fixes leak, see #133411.
+
2004-02-06 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free the
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index a79fdd01b..4e7d64d2f 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,8 @@
+2004-02-06 Morten Welinder <terra@gnome.org>
+
+ * gtk/gtktoolbar.c (show_menu): Cleanup using
+ gtk_menu_attach_to_widget. Also fixes leak, see #133411.
+
2004-02-06 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free the
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index a79fdd01b..4e7d64d2f 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,8 @@
+2004-02-06 Morten Welinder <terra@gnome.org>
+
+ * gtk/gtktoolbar.c (show_menu): Cleanup using
+ gtk_menu_attach_to_widget. Also fixes leak, see #133411.
+
2004-02-06 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free the
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index a79fdd01b..4e7d64d2f 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,8 @@
+2004-02-06 Morten Welinder <terra@gnome.org>
+
+ * gtk/gtktoolbar.c (show_menu): Cleanup using
+ gtk_menu_attach_to_widget. Also fixes leak, see #133411.
+
2004-02-06 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free the
diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c
index 9a4a337c9..efc15367e 100644
--- a/gtk/gtktoolbar.c
+++ b/gtk/gtktoolbar.c
@@ -2422,11 +2422,18 @@ menu_deactivated (GtkWidget *menu,
GtkToolbar *toolbar)
{
GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar);
-
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->arrow_button), FALSE);
}
static void
+menu_detached (GtkWidget *toolbar,
+ GtkMenu *menu)
+{
+ GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar);
+ priv->menu = NULL;
+}
+
+static void
remove_item (GtkWidget *menu_item,
gpointer data)
{
@@ -2445,10 +2452,13 @@ show_menu (GtkToolbar *toolbar,
gtk_container_foreach (GTK_CONTAINER (priv->menu), remove_item, NULL);
gtk_widget_destroy (GTK_WIDGET (priv->menu));
}
-
+
priv->menu = GTK_MENU (gtk_menu_new ());
+ gtk_menu_attach_to_widget (priv->menu,
+ GTK_WIDGET (toolbar),
+ menu_detached);
g_signal_connect (priv->menu, "deactivate", G_CALLBACK (menu_deactivated), toolbar);
-
+
for (list = priv->content; list != NULL; list = list->next)
{
ToolbarContent *content = list->data;
@@ -2466,8 +2476,6 @@ show_menu (GtkToolbar *toolbar,
}
}
- gtk_window_set_screen (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (priv->menu))),
- gtk_widget_get_screen (GTK_WIDGET (toolbar)));
gtk_widget_show_all (GTK_WIDGET (priv->menu));
gtk_menu_popup (priv->menu, NULL, NULL,