diff --git a/menu/menu_shader.c b/menu/menu_shader.c index f6acc2b6aa..0eaf9e3c05 100644 --- a/menu/menu_shader.c +++ b/menu/menu_shader.c @@ -335,14 +335,13 @@ bool menu_shader_manager_save_preset( #ifdef HAVE_SHADER_MANAGER bool ret = false; char buffer[PATH_MAX_LENGTH]; - char config_directory[PATH_MAX_LENGTH]; char preset_path[PATH_MAX_LENGTH]; unsigned d, type = RARCH_SHADER_NONE; const char *dirs[3] = {0}; config_file_t *conf = NULL; struct video_shader *shader = menu_shader_get(); - buffer[0] = config_directory[0] = '\0'; + buffer[0] = '\0'; preset_path[0] = '\0'; menu_shader_manager_init_paths(); @@ -355,16 +354,17 @@ bool menu_shader_manager_save_preset( if (type == RARCH_SHADER_NONE) return false; - *config_directory = '\0'; - if (basename) { strlcpy(buffer, basename, sizeof(buffer)); /* Append extension automatically as appropriate. */ - if ( !strstr(basename, file_path_str(FILE_PATH_CGP_EXTENSION)) - && !strstr(basename, file_path_str(FILE_PATH_GLSLP_EXTENSION)) - && !strstr(basename, file_path_str(FILE_PATH_SLANGP_EXTENSION))) + if ( !strstr(basename, + file_path_str(FILE_PATH_CGP_EXTENSION)) + && !strstr(basename, + file_path_str(FILE_PATH_GLSLP_EXTENSION)) + && !strstr(basename, + file_path_str(FILE_PATH_SLANGP_EXTENSION))) { switch (type) { @@ -415,15 +415,19 @@ bool menu_shader_manager_save_preset( strlcpy(buffer, conf_path, sizeof(buffer)); } - if (!path_is_empty(RARCH_PATH_CONFIG)) - fill_pathname_basedir( - config_directory, - path_get(RARCH_PATH_CONFIG), - sizeof(config_directory)); - if (!fullpath) { + char config_directory[PATH_MAX_LENGTH]; settings_t *settings = config_get_ptr(); + + *config_directory = '\0'; + + if (!path_is_empty(RARCH_PATH_CONFIG)) + fill_pathname_basedir( + config_directory, + path_get(RARCH_PATH_CONFIG), + sizeof(config_directory)); + dirs[0] = settings->paths.directory_video_shader; dirs[1] = settings->paths.directory_menu_config; dirs[2] = config_directory;