Browse Source

Bugfix: fallback when the image cannot be loaded

If the specified file does not exist or is invalid, previously, the unlock
indicator wouldn’t show up at all, because the invalid surface was still used.

With this commit, i3lock will react like if you didn’t specify an image at all.
master
Michael Stapelberg 13 years ago
parent
commit
3c2436cb71
  1. 7
      i3lock.c

7
i3lock.c

@ -688,6 +688,13 @@ int main(int argc, char *argv[]) {
if (image_path) { if (image_path) {
/* Create a pixmap to render on, fill it with the background color */ /* Create a pixmap to render on, fill it with the background color */
img = cairo_image_surface_create_from_png(image_path); img = cairo_image_surface_create_from_png(image_path);
/* In case loading failed, we just pretend no -i was specified. */
if (cairo_surface_status(img) != CAIRO_STATUS_SUCCESS) {
if (debug_mode)
fprintf(stderr, "Could not load image \"%s\": cairo surface status %d\n",
image_path, cairo_surface_status(img));
img = NULL;
}
} }
#endif #endif

Loading…
Cancel
Save