desktop-shell: Only use default background if no background color is set
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 22 Apr 2014 05:54:37 +0000 (22:54 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 22 Apr 2014 05:54:37 +0000 (22:54 -0700)
Previously we would only use the set background color if the
background-image value was explicitly set to empty or a non-existing
image.  With this change, we only load the default background image
if there's no configure background image or background color.  In case
of both an image and a color, the image takes precedence as before.

clients/desktop-shell.c

index a0c6b6d..4880888 100644 (file)
@@ -709,6 +709,8 @@ background_draw(struct widget *widget, void *data)
        image = NULL;
        if (background->image)
                image = load_cairo_surface(background->image);
+       else if (background->color == 0)
+               image = load_cairo_surface(DATADIR "/weston/pattern.png");
 
        if (image && background->type != -1) {
                im_w = cairo_image_surface_get_width(image);
@@ -1057,10 +1059,9 @@ background_create(struct desktop *desktop)
 
        s = weston_config_get_section(desktop->config, "shell", NULL, NULL);
        weston_config_section_get_string(s, "background-image",
-                                        &background->image,
-                                        DATADIR "/weston/pattern.png");
+                                        &background->image, NULL);
        weston_config_section_get_uint(s, "background-color",
-                                      &background->color, 0xff002244);
+                                      &background->color, 0);
 
        weston_config_section_get_string(s, "background-type",
                                         &type, "tile");