summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2014-05-22 16:01:24 +0200
committerDaniel Friesel <derf@finalrewind.org>2014-05-22 16:01:24 +0200
commit717f2a00b002b0bf17f874f8d542a22175b9ad2f (patch)
tree7895aba7e3929bc85a7f917ff16c479d7bcba928
parent28053de1b28721e39a74e2190d75183c700acdc9 (diff)
wallpaper.c: Handle missing HOME
-rw-r--r--src/wallpaper.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/wallpaper.c b/src/wallpaper.c
index 02c0549..6e629dc 100644
--- a/src/wallpaper.c
+++ b/src/wallpaper.c
@@ -228,9 +228,19 @@ void feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled,
char bgfil[4096];
char sendbuf[4096];
+ /*
+ * TODO this re-implements mkstemp (badly). However, it is only needed
+ * for non-file images and enlightenment. Might be easier to just remove
+ * it.
+ */
+
snprintf(bgname, sizeof(bgname), "FEHBG_%d", num);
if (!fil && im) {
+ if (getenv("HOME") == NULL) {
+ weprintf("Cannot save wallpaper to temporary file: You have no HOME");
+ return;
+ }
snprintf(bgfil, sizeof(bgfil), "%s/.%s.png", getenv("HOME"), bgname);
imlib_context_set_image(im);
imlib_image_set_format("png");