summaryrefslogtreecommitdiff
path: root/plugins/background/msd-background-manager.c
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2013-02-09 00:34:17 +0100
committerStefano Karapetsas <[email protected]>2013-02-09 00:34:17 +0100
commit6fe628c5580ebffc53d27eacfc5ae2c7159a58bc (patch)
tree11715add44a1cb01a0c7244be9f5416aa89d3ec6 /plugins/background/msd-background-manager.c
parent95d9d774d24d7106fa67dc2edeb1433ff8ed7139 (diff)
downloadmate-settings-daemon-6fe628c5580ebffc53d27eacfc5ae2c7159a58bc.tar.bz2
mate-settings-daemon-6fe628c5580ebffc53d27eacfc5ae2c7159a58bc.tar.xz
Fix segmentation fault on resolution change
Diffstat (limited to 'plugins/background/msd-background-manager.c')
-rw-r--r--plugins/background/msd-background-manager.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugins/background/msd-background-manager.c b/plugins/background/msd-background-manager.c
index e1a366f..a2164b4 100644
--- a/plugins/background/msd-background-manager.c
+++ b/plugins/background/msd-background-manager.c
@@ -263,6 +263,11 @@ static void
on_screen_size_changed (GdkScreen *screen,
MsdBackgroundManager *manager)
{
+ MsdBackgroundManagerPrivate *p = manager->priv;
+
+ if (!p->msd_can_draw || p->draw_in_progress || caja_is_drawing_bg (manager))
+ return;
+
gint scr_num = gdk_screen_get_number (screen);
gchar *old_size = g_list_nth (manager->priv->scr_sizes, scr_num)->data;
gchar *new_size = g_strdup_printf ("%dx%d", gdk_screen_get_width (screen),