diff options
author | Stefano Karapetsas <[email protected]> | 2014-02-17 17:02:14 +0100 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2014-02-17 17:02:14 +0100 |
commit | 453154a00f0f17e20340e408055e224ea57cc4e8 (patch) | |
tree | 01006728be3b989e2a0cacd20b4e287a5d63eec9 /mate-panel/panel-profile.c | |
parent | 9043b93048346404662950b55b5d60b7e588e375 (diff) | |
download | mate-panel-453154a00f0f17e20340e408055e224ea57cc4e8.tar.bz2 mate-panel-453154a00f0f17e20340e408055e224ea57cc4e8.tar.xz |
Fix mate-panel --reset
Diffstat (limited to 'mate-panel/panel-profile.c')
-rw-r--r-- | mate-panel/panel-profile.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mate-panel/panel-profile.c b/mate-panel/panel-profile.c index 3dad813b..b5504a7e 100644 --- a/mate-panel/panel-profile.c +++ b/mate-panel/panel-profile.c @@ -82,6 +82,7 @@ static GQuark queued_changes_quark = 0; static GQuark commit_timeout_quark = 0; static void panel_profile_object_id_list_update (gchar **objects); +static void panel_profile_ensure_toplevel_per_screen (void); static void panel_profile_set_toplevel_id (PanelToplevel *toplevel, @@ -778,6 +779,8 @@ panel_profile_toplevel_change_notify (GSettings *settings, gchar *key, PanelToplevel *toplevel) { + if (toplevel == NULL || !PANEL_IS_TOPLEVEL (toplevel)) + return; #define UPDATE_STRING(k, n) \ if (!strcmp (key, k)) { \ @@ -880,6 +883,8 @@ panel_profile_background_change_notify (GSettings *settings, PanelWidget *panel_widget; PanelBackground *background; + if (toplevel == NULL || !PANEL_IS_TOPLEVEL (toplevel)) + return; panel_widget = panel_toplevel_get_panel_widget (toplevel); if (panel_widget == NULL) return; @@ -1594,6 +1599,10 @@ panel_profile_toplevel_id_list_notify (GSettings *settings, (PanelProfileGetIdFunc) panel_profile_get_toplevel_id, (PanelProfileDestroyFunc) panel_profile_destroy_toplevel); + /* if there are no panels, reset layout to default */ + if (g_slist_length (toplevel_ids) == 0) + panel_profile_ensure_toplevel_per_screen (); + g_slist_free (existing_toplevels); g_slist_free (toplevel_ids); } |