[Goodies-commits] r4640 - xfmpc/trunk/src
Mike Massonnet
mmassonnet at xfce.org
Sun Apr 20 21:40:08 CEST 2008
Author: mmassonnet
Date: 2008-04-20 19:40:08 +0000 (Sun, 20 Apr 2008)
New Revision: 4640
Modified:
xfmpc/trunk/src/extended-interface.c
Log:
Detach the context menu in a cleaner way
* src/extended-interface.c(xfmpc_extended_interface_dispose),
src/extended-interface.c(xfmpc_extended_interface_finalize):
- Detach the menu (destroys also its childrens)
- Don't destroy the menu on finalize (it prints bad stuff on stderr)
Modified: xfmpc/trunk/src/extended-interface.c
===================================================================
--- xfmpc/trunk/src/extended-interface.c 2008-04-20 19:40:03 UTC (rev 4639)
+++ xfmpc/trunk/src/extended-interface.c 2008-04-20 19:40:08 UTC (rev 4640)
@@ -56,8 +56,6 @@
static void cb_random_switch (XfmpcExtendedInterface *extended_interface);
static void cb_context_menu (GtkToggleButton *button,
XfmpcExtendedInterface *extended_interface);
-static void cb_context_menu_detach (GtkWidget *button,
- GtkMenu *menu);
static void cb_context_menu_deactivate (GtkMenuShell *menu,
GtkWidget *attach_widget);
static void position_context_menu (GtkMenu *menu,
@@ -215,16 +213,18 @@
{
XfmpcExtendedInterfacePrivate *priv = XFMPC_EXTENDED_INTERFACE_GET_PRIVATE (object);
- if (GTK_IS_WIDGET (priv->repeat))
+ if (GTK_IS_MENU (priv->context_menu))
{
- gtk_widget_destroy (priv->repeat);
+ gtk_menu_detach (GTK_MENU (priv->context_menu));
+ priv->context_menu = NULL;
priv->repeat = NULL;
+ priv->random = NULL;
}
- if (GTK_IS_WIDGET (priv->random))
+ if (GTK_IS_WIDGET (priv->context_button))
{
- gtk_widget_destroy (priv->random);
- priv->random = NULL;
+ gtk_widget_destroy (priv->context_button);
+ priv->context_button = NULL;
}
(*G_OBJECT_CLASS (parent_class)->dispose) (object);
@@ -236,7 +236,6 @@
XfmpcExtendedInterface *extended_interface = XFMPC_EXTENDED_INTERFACE (object);
XfmpcExtendedInterfacePrivate *priv = XFMPC_EXTENDED_INTERFACE_GET_PRIVATE (extended_interface);
g_object_unref (G_OBJECT (extended_interface->mpdclient));
- gtk_widget_destroy (priv->context_menu);
(*G_OBJECT_CLASS (parent_class)->finalize) (object);
}
@@ -347,7 +346,7 @@
return;
if (GTK_IS_MENU (priv->context_menu))
- gtk_widget_destroy (priv->context_menu);
+ gtk_menu_detach (GTK_MENU (priv->context_menu));
xfmpc_extended_interface_context_menu_new (extended_interface, priv->context_button);
gtk_menu_popup (GTK_MENU (priv->context_menu),
More information about the Goodies-commits
mailing list