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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to