summaryrefslogtreecommitdiff
path: root/settings
diff options
context:
space:
mode:
Diffstat (limited to 'settings')
-rw-r--r--settings/xfpm-settings.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/settings/xfpm-settings.c b/settings/xfpm-settings.c
index d282d251..f8ffd273 100644
--- a/settings/xfpm-settings.c
+++ b/settings/xfpm-settings.c
@@ -2277,6 +2277,7 @@ xfpm_settings_dialog_new (XfconfChannel *channel, gboolean auth_suspend,
Window id, gchar *device_id)
{
GtkWidget *plug;
+ GtkWidget *parent;
GtkWidget *dialog;
GtkWidget *plugged_box;
GtkWidget *viewport;
@@ -2441,7 +2442,16 @@ xfpm_settings_dialog_new (XfconfChannel *channel, gboolean auth_suspend,
plugged_box = GTK_WIDGET (gtk_builder_get_object (xml, "plug-child"));
plug = gtk_plug_new (id);
gtk_widget_show (plug);
- gtk_widget_reparent (plugged_box, plug);
+
+ parent = gtk_widget_get_parent (plugged_box);
+ if (parent)
+ {
+ g_object_ref (plugged_box);
+ gtk_container_remove (GTK_CONTAINER (parent), plugged_box);
+ gtk_container_add (GTK_CONTAINER (plug), plugged_box);
+ g_object_unref (plugged_box);
+ }
+
g_signal_connect (plug, "delete-event",
G_CALLBACK (delete_event_cb), channel);
gdk_notify_startup_complete ();