Fix bookmarks not appearing in file browser after "copy previous settings".
This commit is contained in:
@@ -106,5 +106,7 @@ void ED_fileselect_exit(struct wmWindowManager *wm, struct SpaceFile *sfile);
|
||||
|
||||
int ED_file_extension_icon(const char *relname);
|
||||
|
||||
void ED_file_read_bookmarks(void);
|
||||
|
||||
#endif /* __ED_FILESELECT_H__ */
|
||||
|
||||
|
@@ -545,11 +545,16 @@ void fsmenu_refresh_system_category(struct FSMenu *fsmenu)
|
||||
fsmenu_read_system(fsmenu, TRUE);
|
||||
}
|
||||
|
||||
void fsmenu_free(struct FSMenu *fsmenu)
|
||||
void fsmenu_free(void)
|
||||
{
|
||||
fsmenu_free_category(fsmenu, FS_CATEGORY_SYSTEM);
|
||||
fsmenu_free_category(fsmenu, FS_CATEGORY_SYSTEM_BOOKMARKS);
|
||||
fsmenu_free_category(fsmenu, FS_CATEGORY_BOOKMARKS);
|
||||
fsmenu_free_category(fsmenu, FS_CATEGORY_RECENT);
|
||||
MEM_freeN(fsmenu);
|
||||
if (g_fsmenu) {
|
||||
fsmenu_free_category(g_fsmenu, FS_CATEGORY_SYSTEM);
|
||||
fsmenu_free_category(g_fsmenu, FS_CATEGORY_SYSTEM_BOOKMARKS);
|
||||
fsmenu_free_category(g_fsmenu, FS_CATEGORY_BOOKMARKS);
|
||||
fsmenu_free_category(g_fsmenu, FS_CATEGORY_RECENT);
|
||||
MEM_freeN(g_fsmenu);
|
||||
}
|
||||
|
||||
g_fsmenu = NULL;
|
||||
}
|
||||
|
||||
|
@@ -84,7 +84,7 @@ void fsmenu_read_bookmarks(struct FSMenu *fsmenu, const char *filename);
|
||||
void fsmenu_read_system(struct FSMenu *fsmenu, int read_bookmarks);
|
||||
|
||||
/** Free's all the memory associated with the fsmenu */
|
||||
void fsmenu_free(struct FSMenu *fsmenu);
|
||||
void fsmenu_free(void);
|
||||
|
||||
/** Refresh system directory menu */
|
||||
void fsmenu_refresh_system_category(struct FSMenu *fsmenu);
|
||||
|
@@ -637,15 +637,7 @@ void ED_spacetype_file(void)
|
||||
|
||||
void ED_file_init(void)
|
||||
{
|
||||
const char * const cfgdir = BLI_get_folder(BLENDER_USER_CONFIG, NULL);
|
||||
|
||||
fsmenu_read_system(fsmenu_get(), TRUE);
|
||||
|
||||
if (cfgdir) {
|
||||
char name[FILE_MAX];
|
||||
BLI_make_file_string("/", name, cfgdir, BLENDER_BOOKMARK_FILE);
|
||||
fsmenu_read_bookmarks(fsmenu_get(), name);
|
||||
}
|
||||
ED_file_read_bookmarks();
|
||||
|
||||
if (G.background == FALSE) {
|
||||
filelist_init_icons();
|
||||
@@ -656,9 +648,25 @@ void ED_file_init(void)
|
||||
|
||||
void ED_file_exit(void)
|
||||
{
|
||||
fsmenu_free(fsmenu_get());
|
||||
fsmenu_free();
|
||||
|
||||
if (G.background == FALSE) {
|
||||
filelist_free_icons();
|
||||
}
|
||||
}
|
||||
|
||||
void ED_file_read_bookmarks(void)
|
||||
{
|
||||
const char * const cfgdir = BLI_get_folder(BLENDER_USER_CONFIG, NULL);
|
||||
|
||||
fsmenu_free();
|
||||
|
||||
fsmenu_read_system(fsmenu_get(), TRUE);
|
||||
|
||||
if (cfgdir) {
|
||||
char name[FILE_MAX];
|
||||
BLI_make_file_string("/", name, cfgdir, BLENDER_BOOKMARK_FILE);
|
||||
fsmenu_read_bookmarks(fsmenu_get(), name);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -97,6 +97,7 @@
|
||||
#include "IMB_thumbs.h"
|
||||
|
||||
#include "ED_datafiles.h"
|
||||
#include "ED_fileselect.h"
|
||||
#include "ED_object.h"
|
||||
#include "ED_screen.h"
|
||||
#include "ED_sculpt.h"
|
||||
@@ -662,7 +663,7 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c
|
||||
|
||||
int wm_history_read_exec(bContext *UNUSED(C), wmOperator *UNUSED(op))
|
||||
{
|
||||
/* TODO, read bookmarks */
|
||||
ED_file_read_bookmarks();
|
||||
wm_read_history();
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
@@ -270,6 +270,8 @@ void ED_space_image_set_mask(struct bContext *C, struct SpaceImage *sima, struct
|
||||
void ED_area_tag_redraw_regiontype(struct ScrArea *sa, int regiontype) {STUB_ASSERT(0);}
|
||||
void ED_render_engine_changed(struct Main *bmain) {STUB_ASSERT(0);}
|
||||
|
||||
void ED_file_read_bookmarks(void) {STUB_ASSERT(0);}
|
||||
|
||||
struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob) {STUB_ASSERT(0); return (struct PTCacheEdit *) NULL;}
|
||||
void PE_current_changed(struct Scene *scene, struct Object *ob) {STUB_ASSERT(0);}
|
||||
|
||||
|
Reference in New Issue
Block a user