[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36321] trunk/blender/source/blender/ editors: fix for a crash with the following steps.
Campbell Barton
ideasman42 at gmail.com
Mon Apr 25 11:28:52 CEST 2011
Revision: 36321
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36321
Author: campbellbarton
Date: 2011-04-25 09:28:52 +0000 (Mon, 25 Apr 2011)
Log Message:
-----------
fix for a crash with the following steps.
- open file sel
- save user defaults
- new file
- ctrl+u (crash)
wasn't type checking the space file, passed info space to ED_fileselect_exit().
Modified Paths:
--------------
trunk/blender/source/blender/editors/screen/screen_edit.c
trunk/blender/source/blender/editors/space_file/file_ops.c
trunk/blender/source/blender/editors/space_file/filelist.c
trunk/blender/source/blender/editors/space_file/filesel.c
Modified: trunk/blender/source/blender/editors/screen/screen_edit.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_edit.c 2011-04-25 06:44:43 UTC (rev 36320)
+++ trunk/blender/source/blender/editors/screen/screen_edit.c 2011-04-25 09:28:52 UTC (rev 36321)
@@ -1133,7 +1133,10 @@
ARegion *ar;
if (sa->spacetype == SPACE_FILE) {
- ED_fileselect_exit(C, (SpaceFile*)(sa) ? sa->spacedata.first : CTX_wm_space_data(C));
+ SpaceLink *sl= sa->spacedata.first;
+ if(sl->spacetype == SPACE_FILE) {
+ ED_fileselect_exit(C, (SpaceFile *)sl);
+ }
}
CTX_wm_area_set(C, sa);
Modified: trunk/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_ops.c 2011-04-25 06:44:43 UTC (rev 36320)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c 2011-04-25 09:28:52 UTC (rev 36321)
@@ -854,7 +854,7 @@
folderlist_pushdir(sfile->folders_prev, sfile->params->dir);
folderlist_popdir(sfile->folders_next, sfile->params->dir);
- // update folder_prev so we can check for it in folderlist_clear_next()
+ // update folders_prev so we can check for it in folderlist_clear_next()
folderlist_pushdir(sfile->folders_prev, sfile->params->dir);
file_change_dir(C, 1);
Modified: trunk/blender/source/blender/editors/space_file/filelist.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filelist.c 2011-04-25 06:44:43 UTC (rev 36320)
+++ trunk/blender/source/blender/editors/space_file/filelist.c 2011-04-25 09:28:52 UTC (rev 36321)
@@ -469,13 +469,12 @@
/* not listbase itself */
void folderlist_free(ListBase* folderlist)
{
- FolderList *folder;
if (folderlist){
+ FolderList *folder;
for(folder= folderlist->first; folder; folder= folder->next)
MEM_freeN(folder->foldername);
BLI_freelistN(folderlist);
}
- folderlist= NULL;
}
ListBase *folderlist_duplicate(ListBase* folderlist)
Modified: trunk/blender/source/blender/editors/space_file/filesel.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filesel.c 2011-04-25 06:44:43 UTC (rev 36320)
+++ trunk/blender/source/blender/editors/space_file/filesel.c 2011-04-25 09:28:52 UTC (rev 36321)
@@ -655,9 +655,10 @@
void ED_fileselect_exit(struct bContext *C, struct SpaceFile *sfile)
{
if(!sfile) return;
- if(sfile->op)
+ if(sfile->op) {
WM_event_fileselect_event(C, sfile->op, EVT_FILESELECT_EXTERNAL_CANCEL);
- sfile->op = NULL;
+ sfile->op = NULL;
+ }
folderlist_free(sfile->folders_prev);
folderlist_free(sfile->folders_next);
More information about the Bf-blender-cvs
mailing list