[gnome-desktop] Don't crash if unable to set background
- From: William Jon McCann <mccann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-desktop] Don't crash if unable to set background
- Date: Wed, 15 Aug 2012 16:30:51 +0000 (UTC)
commit bd6fb734806f40f6b8777792eebdc06635d001ea
Author: William Jon McCann <jmccann redhat com>
Date: Sat Jul 21 02:13:05 2012 -0400
Don't crash if unable to set background
https://bugzilla.gnome.org/show_bug.cgi?id=680354
libgnome-desktop/gnome-bg.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/libgnome-desktop/gnome-bg.c b/libgnome-desktop/gnome-bg.c
index 95e24d6..1b4ce9e 100644
--- a/libgnome-desktop/gnome-bg.c
+++ b/libgnome-desktop/gnome-bg.c
@@ -1080,6 +1080,8 @@ gnome_bg_get_pixmap_size (GnomeBG *bg,
* TRUE, the surface created will be created by a temporary X server connection
* so that if someone calls XKillClient on it, it won't affect the application
* who created it.
+ *
+ * Returns: %NULL on error (e.g. out of X connections)
**/
cairo_surface_t *
gnome_bg_create_surface (GnomeBG *bg,
@@ -1115,7 +1117,10 @@ gnome_bg_create_surface (GnomeBG *bg,
CAIRO_CONTENT_COLOR,
pm_width, pm_height);
}
-
+
+ if (surface == NULL)
+ return NULL;
+
cr = cairo_create (surface);
if (!bg->filename && bg->color_type == G_DESKTOP_BACKGROUND_SHADING_SOLID) {
gdk_cairo_set_source_color (cr, &(bg->primary));
@@ -1553,6 +1558,7 @@ gnome_bg_set_surface_as_root (GdkScreen *screen, cairo_surface_t *surface)
int screen_num;
g_return_if_fail (screen != NULL);
+ g_return_if_fail (surface != NULL);
g_return_if_fail (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_XLIB);
screen_num = gdk_screen_get_number (screen);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]