Browse Source

Fix race condition on exit. Based on patch by Adriano Winter Bess.

(Old svn revision: 20515)
upstream/xfce4-panel-4.10.1
Jasper Huijsmans 17 years ago
parent
commit
6c931f5a46
  1. 14
      panel/panel-app.c
  2. 7
      panel/panel.c

14
panel/panel-app.c

@ -132,13 +132,6 @@ cleanup_panels (void)
l = g_list_delete_link (l, l);
}
for (i = 0; i < panel_app.monitor_list->len; ++i)
{
XfceMonitor *xmon = g_ptr_array_index (panel_app.monitor_list, i);
g_free (xmon);
}
g_ptr_array_free (panel_app.monitor_list, TRUE);
for (i = 0; i < panel_app.panel_list->len; ++i)
{
Panel *panel = g_ptr_array_index (panel_app.panel_list, i);
@ -153,6 +146,13 @@ cleanup_panels (void)
}
g_ptr_array_free (panel_app.panel_list, TRUE);
for (i = 0; i < panel_app.monitor_list->len; ++i)
{
XfceMonitor *xmon = g_ptr_array_index (panel_app.monitor_list, i);
g_free (xmon);
}
g_ptr_array_free (panel_app.monitor_list, TRUE);
}
/* signal handling */

7
panel/panel.c

@ -736,6 +736,13 @@ panel_free_data (Panel *panel)
priv = panel->priv;
/* try and prevent some race conditions */
priv->block_autohide++;
xfce_panel_window_set_move_function (XFCE_PANEL_WINDOW (panel),
NULL, NULL);
xfce_panel_window_set_resize_function (XFCE_PANEL_WINDOW (panel),
NULL, NULL);
for (l = gtk_container_get_children (GTK_CONTAINER (priv->itembar));
l != NULL; l = l->next)
{

Loading…
Cancel
Save