66 if (previous_folder && previous_folder->
foldername) {
73 folder = MEM_cnew<FolderList>(__func__);
84 if (!folderlist->
last) {
131 folder->foldername = (
char *)
MEM_dupallocN(folder->foldername);
145 if (history->browse_mode == browse_mode) {
158 history = MEM_cnew<FileFolderHistory>(__func__);
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void void void void void void BLI_duplicatelist(struct ListBase *dst, const struct ListBase *src) ATTR_NONNULL(1
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
FileSelectParams * ED_fileselect_get_active_params(const SpaceFile *sfile)
Read Guarded memory(de)allocation.
bool folderlist_clear_next(SpaceFile *sfile)
const char * folderlist_peeklastdir(ListBase *folderlist)
void folder_history_list_ensure_for_active_browse_mode(SpaceFile *sfile)
void folder_history_list_free(SpaceFile *sfile)
void folderlist_pushdir(ListBase *folderlist, const char *dir)
ListBase folder_history_list_duplicate(ListBase *listbase)
void folderlist_free(ListBase *folderlist)
static FileFolderHistory * folder_history_find(const SpaceFile *sfile, eFileBrowse_Mode browse_mode)
static ListBase folderlist_duplicate(ListBase *folderlist)
void folderlist_popdir(ListBase *folderlist, char *dir)
static void folder_history_entry_free(SpaceFile *sfile, FileFolderHistory *history)
void MEM_freeN(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
ListBase folder_histories