client: tablet-shell: fallback in the lack of lockscreen icon
authorTiago Vignatti <tiago.vignatti@intel.com>
Wed, 28 Mar 2012 17:56:48 +0000 (20:56 +0300)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 3 Apr 2012 18:53:47 +0000 (14:53 -0400)
lockscreen, homescreen and shell launchers are falling back okay already and
only lockscreen icon was missing some way to keep the shell client running in
the absence of images. This patch fix it.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
clients/tablet-shell.c

index e486782..4f4eec5 100644 (file)
@@ -197,11 +197,17 @@ lockscreen_draw(struct widget *widget, void *data)
 
        cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
        icon = load_cairo_surface(key_lockscreen_icon);
-       width = cairo_image_surface_get_width(icon);
-       height = cairo_image_surface_get_height(icon);
-       cairo_set_source_surface(cr, icon,
-                                allocation.x + (allocation.width - width) / 2,
-                                allocation.y + (allocation.height - height) / 2);
+       if (icon) {
+               width = cairo_image_surface_get_width(icon);
+               height = cairo_image_surface_get_height(icon);
+               cairo_set_source_surface(cr, icon,
+                       allocation.x + (allocation.width - width) / 2,
+                       allocation.y + (allocation.height - height) / 2);
+       } else {
+               fprintf(stderr, "couldn't load lockscreen icon: %s\n",
+                                key_lockscreen_icon);
+               cairo_set_source_rgb(cr, 0.2, 0, 0);
+       }
        cairo_paint(cr);
        cairo_destroy(cr);
        cairo_surface_destroy(icon);