diff --git a/process_pipeline.c b/process_pipeline.c index 4fca4b3..64003a2 100644 --- a/process_pipeline.c +++ b/process_pipeline.c @@ -357,10 +357,23 @@ process_capture_burst(cairo_surface_t *thumb) char timestamp[30]; strftime(timestamp, 30, "%Y%m%d%H%M%S", &tim); - sprintf(capture_fname, - "%s/IMG%s", - g_get_user_special_dir(G_USER_DIRECTORY_PICTURES), - timestamp); + if (g_get_user_special_dir(G_USER_DIRECTORY_PICTURES) != NULL) { + sprintf(capture_fname, + "%s/IMG%s", + g_get_user_special_dir(G_USER_DIRECTORY_PICTURES), + timestamp); + } else if (getenv("XDG_PICTURES_DIR") != NULL) { + sprintf(capture_fname, + "%s/IMG%s", + getenv("XDG_PICTURES_DIR"), + timestamp); + } else { + sprintf(capture_fname, + "%s/Pictures/IMG%s", + getenv("HOME"), + timestamp); + } + // Start post-processing the captured burst g_print("Post process %s to %s.ext\n", burst_dir, capture_fname);