Browse Source

Another attempt to fix bug #2598: re-enable setting struts in idle handler.

(Old svn revision: 23948)
upstream/xfce4-panel-4.10.1
Jasper Huijsmans 17 years ago
parent
commit
f4887bf725
  1. 22
      panel/panel-properties.c

22
panel/panel-properties.c

@ -327,6 +327,25 @@ _set_struts (Panel *panel, XfceMonitor *xmon, int x, int y, int w, int h)
gdk_error_trap_pop ();
}
static gboolean
unblock_struts (Panel *panel)
{
PanelPrivate * priv;
XfceMonitor * xmon;
int x, y, w, h;
priv = PANEL (panel)->priv;
priv->edit_mode = FALSE;
gtk_window_get_position (GTK_WINDOW (panel), &x, &y);
gtk_window_get_size (GTK_WINDOW (panel), &w, &h);
xmon = panel_app_get_monitor (priv->monitor);
_set_struts (panel, xmon, x, y, w, h);
return FALSE;
}
static void
panel_move_end (XfcePanelWindow *window, int x, int y)
{
@ -1204,8 +1223,7 @@ panel_set_screen_position (Panel *panel, XfceScreenPosition position)
gtk_widget_queue_draw (GTK_WIDGET (panel));
/* use edit_mode property to test if we are changing position */
priv->edit_mode = FALSE;
g_idle_add((GSourceFunc)unblock_struts, panel);
}
}

Loading…
Cancel
Save