summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonsta <[email protected]>2017-05-29 16:36:04 +0300
committermonsta <[email protected]>2017-05-29 16:36:04 +0300
commit82cfd0a0827910464429f904a59ba86582ad8bc4 (patch)
tree9c6a0647bb3ea97ea1b77e623fe1e89c0b3488e1
parent9560d6518ad1aa4e18b35f121ec37e5fc3925ebf (diff)
downloadmate-panel-82cfd0a0827910464429f904a59ba86582ad8bc4.tar.bz2
mate-panel-82cfd0a0827910464429f904a59ba86582ad8bc4.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);