summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonsta <[email protected]>2017-05-29 16:36:04 +0300
committermonsta <[email protected]>2017-06-11 16:15:17 +0300
commit7440461d1735a9fa1d801d0514962b16b9004f0f (patch)
treea37ca54539d471900b6ea76b070bb6e7070678ea
parentba921ad3ef9f53ea6042ec96061a50d354c57790 (diff)
downloadmate-panel-7440461d1735a9fa1d801d0514962b16b9004f0f.tar.bz2
mate-panel-7440461d1735a9fa1d801d0514962b16b9004f0f.tar.xz
fix moving applets between panels
fixes https://github.com/mate-desktop/mate-panel/issues/504 have to repeat my change from 024f89bc7c8074f753120d9c8ec4bd839745984b because of fallout from 225702b3c6a609065465c66f0f2739fc1d2184a9
-rw-r--r--mate-panel/panel-widget.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/mate-panel/panel-widget.c b/mate-panel/panel-widget.c
index ff4640c4..b178b860 100644
--- a/mate-panel/panel-widget.c
+++ b/mate-panel/panel-widget.c
@@ -2754,10 +2754,12 @@ panel_widget_reparent (PanelWidget *old_panel,
if (gtk_container_get_focus_child (GTK_CONTAINER (old_panel)) == applet)
focus_widget = gtk_window_get_focus (GTK_WINDOW (old_panel->toplevel));
- g_object_ref (applet);
- gtk_container_remove (GTK_CONTAINER (old_panel), applet);
- gtk_container_add (GTK_CONTAINER (new_panel), applet);
- g_object_unref (applet);
+ /* Do not touch until GTK+4
+ * or until we figure out how to properly
+ * reimplement gtk_widget_reparent.
+ * https://github.com/mate-desktop/mate-panel/issues/504
+ */
+ gtk_widget_reparent (applet, GTK_WIDGET (new_panel));
if (info && info->type == PANEL_OBJECT_APPLET)
mate_panel_applet_frame_set_panel (MATE_PANEL_APPLET_FRAME (ad->applet), new_panel);