Revision: 18376
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18376
Author:   elubie
Date:     2009-01-06 20:22:29 +0100 (Tue, 06 Jan 2009)

Log Message:
-----------
2.5 filebrowser
further cleanup:
- moved struct FileList* back to SpaceFile
- fix for memory related errors and freeing operator in file_free
- removed wmSubWindowSet, we're not doing OpenGL select in filebrowser
- removed drawing of load button when invoked from windowtype pupmenu
2.5 MSVC projectfiles:
- slipped in removal of multires_firstlevel.c in blenkernel

Modified Paths:
--------------
    
branches/blender2.5/blender/projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj
    branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h
    branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_header.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
    branches/blender2.5/blender/source/blender/editors/space_file/filesel.c
    branches/blender2.5/blender/source/blender/editors/space_file/space_file.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h

Modified: 
branches/blender2.5/blender/projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj
===================================================================
--- 
branches/blender2.5/blender/projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj
       2009-01-06 19:00:22 UTC (rev 18375)
+++ 
branches/blender2.5/blender/projectfiles_vc9/blender/blenkernel/BKE_blenkernel.vcproj
       2009-01-06 19:22:29 UTC (rev 18376)
@@ -650,10 +650,6 @@
                                >
                        </File>
                        <File
-                               
RelativePath="..\..\..\source\blender\blenkernel\intern\multires-firstlevel.c"
-                               >
-                       </File>
-                       <File
                                
RelativePath="..\..\..\source\blender\blenkernel\intern\multires.c"
                                >
                        </File>

Modified: 
branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h  
2009-01-06 19:00:22 UTC (rev 18375)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h  
2009-01-06 19:22:29 UTC (rev 18376)
@@ -51,9 +51,6 @@
        char *pupmenu; /* allows menu for save options - result stored in menup 
*/
        short menu; /* currently selected option in pupmenu */
        /* XXX --- end unused -- */
-
-       struct FileList *files;
-
 } FileSelectParams;
 
 FileSelectParams* ED_fileselect_get_params(const struct bContext *C);

Modified: 
branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c   
2009-01-06 19:00:22 UTC (rev 18375)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c   
2009-01-06 19:22:29 UTC (rev 18376)
@@ -159,11 +159,9 @@
        slen = UI_GetStringWidth(G.font, sfile->params->title, 0);
        loadbutton= slen > 60 ? slen + 20 : MAX2(80, 
20+UI_GetStringWidth(G.font, params->title, 0));
        if(ar->v2d.mask.xmax-ar->v2d.mask.xmin > loadbutton+20) {
-               /* XXX
-               if(simasel->title[0]==0) {
+               if(params->title[0]==0) {
                        loadbutton= 0;
                }
-               */
        }
        else {
                loadbutton= 0;
@@ -295,7 +293,7 @@
                sfile->tile_h = sfile->prv_h + 2*sfile->prv_border_y + 
U.fontsize*3/2;
                width= (v2d->cur.xmax - v2d->cur.xmin - 2*sfile->tile_border_x);
                columns= file_view_columns(sfile, v2d);
-               rows= filelist_numfiles(params->files)/columns + 1; // XXX 
dirty, modulo is zero
+               rows= filelist_numfiles(sfile->files)/columns + 1; // XXX 
dirty, modulo is zero
                height= rows*(sfile->tile_h+sfile->tile_border_y) + 
sfile->tile_border_y*2;
        } else {
                sfile->prv_w = 0;
@@ -308,7 +306,7 @@
                sfile->tile_h = U.fontsize*3/2;
                height= v2d->cur.ymax - v2d->cur.ymin;
                rows = file_view_rows(sfile, v2d);
-               columns = filelist_numfiles(params->files)/rows + 1; // XXX 
dirty, modulo is zero
+               columns = filelist_numfiles(sfile->files)/rows + 1; // XXX 
dirty, modulo is zero
                width = columns * (sfile->tile_w + sfile->tile_border_x) + 
sfile->tile_border_x*2;
        }
 
@@ -321,7 +319,7 @@
        FileSelectParams* params=sfile->params;
        View2D *v2d= &ar->v2d;
        static double lasttime= 0;
-       struct FileList* files = params->files;
+       struct FileList* files = sfile->files;
        int numfiles;
        struct direntry *file;
 
@@ -474,7 +472,7 @@
 {
        SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
        FileSelectParams* params = sfile->params;
-       struct FileList* files = params->files;
+       struct FileList* files = sfile->files;
        struct direntry *file;
        int numfiles;
        int colorid = 0;

Modified: 
branches/blender2.5/blender/source/blender/editors/space_file/file_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_header.c 
2009-01-06 19:00:22 UTC (rev 18375)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_header.c 
2009-01-06 19:22:29 UTC (rev 18376)
@@ -103,7 +103,7 @@
        SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
        switch(event) {
                case B_SORTIMASELLIST:
-                       filelist_sort(sfile->params->files, 
sfile->params->sort);
+                       filelist_sort(sfile->files, sfile->params->sort);
                        WM_event_add_notifier(C, NC_WINDOW, NULL);
                        break;
                case B_RELOADIMASELDIR:

Modified: 
branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c    
2009-01-06 19:00:22 UTC (rev 18375)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c    
2009-01-06 19:22:29 UTC (rev 18376)
@@ -67,7 +67,7 @@
        int active_file = -1;
        struct direntry* file;
        int offsetx, offsety;
-       int numfiles = filelist_numfiles(params->files);
+       int numfiles = filelist_numfiles(sfile->files);
        int columns;
 
        View2D* v2d = &ar->v2d;
@@ -82,7 +82,7 @@
        {
                params->active_file = active_file;
                if (params->selstate & ACTIVATE) {
-                       file = filelist_file(params->files, 
params->active_file);
+                       file = filelist_file(sfile->files, params->active_file);
                        file->flags |= ACTIVE;
                }                       
        }
@@ -94,7 +94,7 @@
        int offsetx, offsety;
        float x,y;
        int active_file = -1;
-       int numfiles = filelist_numfiles(params->files);
+       int numfiles = filelist_numfiles(sfile->files);
        int rows;
        struct direntry* file;
 
@@ -109,7 +109,7 @@
        {
                params->active_file = active_file;
                if (params->selstate & ACTIVATE) {
-                       file = filelist_file(params->files, 
params->active_file);
+                       file = filelist_file(sfile->files, params->active_file);
                        file->flags |= ACTIVE;
                }                       
        } 
@@ -128,7 +128,7 @@
 
 static void mouse_select(SpaceFile* sfile, FileSelectParams* params, ARegion* 
ar, short *mval)
 {
-       int numfiles = filelist_numfiles(params->files);
+       int numfiles = filelist_numfiles(sfile->files);
        if(mval[0]>ar->v2d.mask.xmin && mval[0]<ar->v2d.mask.xmax
                && mval[1]>ar->v2d.mask.ymin && mval[1]<ar->v2d.mask.ymax) {
                        params->selstate = NOTACTIVE;
@@ -138,7 +138,7 @@
                                set_active_file(sfile, params, ar, mval);
                        }
                        if (params->active_file >= 0 && params->active_file < 
numfiles) {
-                               struct direntry* file = 
filelist_file(params->files, params->active_file);
+                               struct direntry* file = 
filelist_file(sfile->files, params->active_file);
                                
                                if(file && S_ISDIR(file->type)) {
                                        /* the path is too long and we are not 
going up! */
@@ -157,8 +157,8 @@
                                                        params->file[0] = '\0';
                                                        BLI_cleanup_dir(G.sce, 
params->dir);
                                                }
-                                               filelist_setdir(params->files, 
params->dir);
-                                               filelist_free(params->files);
+                                               filelist_setdir(sfile->files, 
params->dir);
+                                               filelist_free(sfile->files);
                                                params->active_file = -1;
                                        }
                                }
@@ -194,8 +194,8 @@
                        FileSelectParams* params = sfile->params;
                        BLI_strncpy(params->dir, selected, sizeof(params->dir));
                        BLI_cleanup_dir(G.sce, params->dir);
-                       filelist_free(params->files);   
-                       filelist_setdir(params->files, params->dir);
+                       filelist_free(sfile->files);    
+                       filelist_setdir(sfile->files, params->dir);
                        params->file[0] = '\0';                 
                        params->active_file = -1;
                }
@@ -208,9 +208,6 @@
        SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
        short mval[2];
        
-       /* note; otherwise opengl select won't work. do this for every 
glSelectBuffer() */
-       wmSubWindowSet(CTX_wm_window(C), ar->swinid);
-       
        mval[0]= event->x - ar->winrct.xmin;
        mval[1]= event->y - ar->winrct.ymin;
        mouse_select(sfile, sfile->params, ar, mval);
@@ -238,9 +235,6 @@
        SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
        short mval[2];
        
-       /* note; otherwise opengl select won't work. do this for every 
glSelectBuffer() */
-       wmSubWindowSet(CTX_wm_window(C), ar->swinid);
-       
        mval[0]= event->x - ar->winrct.xmin;
        mval[1]= event->y - ar->winrct.ymin;
        mouse_select_bookmark(sfile, ar, mval);

Modified: 
branches/blender2.5/blender/source/blender/editors/space_file/filesel.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/filesel.c     
2009-01-06 19:00:22 UTC (rev 18375)
+++ branches/blender2.5/blender/source/blender/editors/space_file/filesel.c     
2009-01-06 19:22:29 UTC (rev 18376)
@@ -104,7 +104,6 @@
 
        if (!sfile->params) {
                sfile->params = MEM_callocN(sizeof(FileSelectParams), 
"fileselparams");
-               sfile->params->files = filelist_new();
        }
        params = sfile->params;
 
@@ -132,14 +131,14 @@
                                BLI_strncpy(params->dir, dir, 
sizeof(params->dir));
                                BLI_make_file_string(G.sce, params->dir, dir, 
""); /* XXX needed ? - also solve G.sce */
                                
-                               filelist_settype(params->files, type);
-                               filelist_setdir(params->files, params->dir);
+                               filelist_settype(sfile->files, type);
+                               filelist_setdir(sfile->files, params->dir);
                                BLI_cleanup_dir(G.sce, params->dir); /* XXX 
solve G.sce */
 
                                /* free: filelist and libfiledata became 
incorrect */
-                               if (params->files) {
-                                       filelist_free(params->files);
-                                       filelist_freelib(params->files);
+                               if (sfile->files) {
+                                       filelist_free(sfile->files);
+                                       filelist_freelib(sfile->files);
                                }                               
                        }
                        break;

Modified: 
branches/blender2.5/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/space_file.c  
2009-01-06 19:00:22 UTC (rev 18375)
+++ branches/blender2.5/blender/source/blender/editors/space_file/space_file.c  
2009-01-06 19:22:29 UTC (rev 18376)
@@ -76,20 +76,12 @@
        sfile= MEM_callocN(sizeof(SpaceFile), "initfile");
        sfile->spacetype= SPACE_FILE;   
        sfile->params= MEM_callocN(sizeof(FileSelectParams), "fileselparams");
-       sfile->params->files = filelist_new();
+       sfile->files = filelist_new();
+       
+       ED_fileselect_set_params(C, FILE_UNIX, "", "/", NULL, NULL, 0, 0, 0);
+       filelist_setdir(sfile->files, sfile->params->dir);
+       filelist_settype(sfile->files, sfile->params->type);
 
-       // ED_fileselect_set_params(C, FILE_UNIX, "Load File", 
"F:\\photos\\2008_Kos", NULL, NULL, 0, 0, 0);
-
-       /* XXX move to context
-       sfile->dir[0]= '/';
-       strcpy(sfile->dir, "F:\\photos\\2008_Kos");
-       sfile->type= FILE_UNIX;
-       strcpy(sfile->title, "Load");
-       sfile->prv_h = 96;
-       sfile->prv_w = 96;
-       sfile->files = NULL;
-       */
-
        /* header */
        ar= MEM_callocN(sizeof(ARegion), "header for file");
        BLI_addtail(&sfile->regionbase, ar);
@@ -126,38 +118,49 @@
 {      
        SpaceFile *sfile= (SpaceFile *) sl;
        
+       if(sfile->files) {
+               filelist_free(sfile->files);
+               filelist_freelib(sfile->files);
+               MEM_freeN(sfile->files);

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to