diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-03-15 23:56:29 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-03-15 23:56:29 +0400 |
commit | 88cf1a2bc73bbd2f2fbf2ba3d5b1e7d4a1db7a93 (patch) | |
tree | 0ff0b71ff27279f622be9ff872d100a64abc3aa4 /source/blender/editors/space_file/filesel.c | |
parent | 433c82649e0eb7380dd8c6092e6b49cd1b84df26 (diff) |
Screen: add exit callback for area and region types, this gets called when
hiding or removing an area or region.
Diffstat (limited to 'source/blender/editors/space_file/filesel.c')
-rw-r--r-- | source/blender/editors/space_file/filesel.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index a1929f962ce..b8db7dc97b7 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -578,11 +578,12 @@ FileLayout *ED_fileselect_get_layout(struct SpaceFile *sfile, ARegion *ar) void file_change_dir(bContext *C, int checkdir) { + wmWindowManager *wm = CTX_wm_manager(C); SpaceFile *sfile = CTX_wm_space_file(C); if (sfile->params) { - ED_fileselect_clear(C, sfile); + ED_fileselect_clear(wm, sfile); if (checkdir && !BLI_is_dir(sfile->params->dir)) { BLI_strncpy(sfile->params->dir, filelist_dir(sfile->files), sizeof(sfile->params->dir)); @@ -691,24 +692,24 @@ void autocomplete_file(struct bContext *C, char *str, void *UNUSED(arg_v)) } } -void ED_fileselect_clear(struct bContext *C, struct SpaceFile *sfile) +void ED_fileselect_clear(struct wmWindowManager *wm, struct SpaceFile *sfile) { /* only NULL in rare cases - [#29734] */ if (sfile->files) { - thumbnails_stop(sfile->files, C); + thumbnails_stop(wm, sfile->files); filelist_freelib(sfile->files); filelist_free(sfile->files); } sfile->params->active_file = -1; - WM_event_add_notifier(C, NC_SPACE | ND_SPACE_FILE_LIST, NULL); + WM_main_add_notifier(NC_SPACE | ND_SPACE_FILE_LIST, NULL); } -void ED_fileselect_exit(struct bContext *C, struct SpaceFile *sfile) +void ED_fileselect_exit(struct wmWindowManager *wm, struct SpaceFile *sfile) { if (!sfile) return; if (sfile->op) { - WM_event_fileselect_event(C, sfile->op, EVT_FILESELECT_EXTERNAL_CANCEL); + WM_event_fileselect_event(wm, sfile->op, EVT_FILESELECT_EXTERNAL_CANCEL); sfile->op = NULL; } @@ -716,7 +717,7 @@ void ED_fileselect_exit(struct bContext *C, struct SpaceFile *sfile) folderlist_free(sfile->folders_next); if (sfile->files) { - ED_fileselect_clear(C, sfile); + ED_fileselect_clear(wm, sfile); MEM_freeN(sfile->files); sfile->files = NULL; } |