[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11941] trunk/blender/source/blender/src: == imagebrowser ==
Andrea Weikert
elubie at gmx.net
Tue Sep 4 22:27:43 CEST 2007
Revision: 11941
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11941
Author: elubie
Date: 2007-09-04 22:27:43 +0200 (Tue, 04 Sep 2007)
Log Message:
-----------
== imagebrowser ==
- fix: deleting bookmark didn't update .Bfs file (see tracker #7298)
- also fixed memleak, thanks to the guardedalloc :)
Modified Paths:
--------------
trunk/blender/source/blender/src/editimasel.c
trunk/blender/source/blender/src/fsmenu.c
Modified: trunk/blender/source/blender/src/editimasel.c
===================================================================
--- trunk/blender/source/blender/src/editimasel.c 2007-09-04 19:07:51 UTC (rev 11940)
+++ trunk/blender/source/blender/src/editimasel.c 2007-09-04 20:27:43 UTC (rev 11941)
@@ -1058,15 +1058,18 @@
case XKEY:
getmouseco_areawin(mval);
if (simasel->flag & FILE_BOOKMARKS) {
- if(mval[0]>simasel->bookmarkrect.xmin && mval[0]<simasel->bookmarkrect.xmax && mval[1]>simasel->bookmarkrect.ymin && mval[1]<simasel->bookmarkrect.ymax) {
- int nentries = fsmenu_get_nentries();
- set_active_bookmark(simasel, mval[1]);
- if (simasel->active_bookmark >= 0 && simasel->active_bookmark < nentries) {
- fsmenu_remove_entry(simasel->active_bookmark);
- simasel->active_bookmark = -1;
- do_draw = 1;
- }
+ if(mval[0]>simasel->bookmarkrect.xmin && mval[0]<simasel->bookmarkrect.xmax && mval[1]>simasel->bookmarkrect.ymin && mval[1]<simasel->bookmarkrect.ymax) {
+ int nentries = fsmenu_get_nentries();
+ set_active_bookmark(simasel, mval[1]);
+ if (simasel->active_bookmark >= 0 && simasel->active_bookmark < nentries) {
+ char name[FILE_MAX];
+ BLI_make_file_string(G.sce, name, BLI_gethome(), ".Bfs");
+ fsmenu_remove_entry(simasel->active_bookmark);
+ fsmenu_write_file(name);
+ simasel->active_bookmark = -1;
+ do_draw = 1;
}
+ }
}
break;
}
Modified: trunk/blender/source/blender/src/fsmenu.c
===================================================================
--- trunk/blender/source/blender/src/fsmenu.c 2007-09-04 19:07:51 UTC (rev 11940)
+++ trunk/blender/source/blender/src/fsmenu.c 2007-09-04 20:27:43 UTC (rev 11941)
@@ -206,24 +206,21 @@
idx--;
if (fsme) {
- if (prev) {
- prev->next= fsme->next;
- } else {
- fsmenu= fsme->next;
- if (fsme->save) {
- if (prev) {
- prev->next= fsme->next;
- } else {
- fsmenu= fsme->next;
- }
- // you should only be able to remove entries that were
- // not added by default
- if (fsme->path) {
- MEM_freeN(fsme->path);
- }
- MEM_freeN(fsme);
+ /* you should only be able to remove entries that were
+ not added by default, like windows drives.
+ also separators (where path == NULL) shouldn't be removed */
+ if (fsme->save && fsme->path) {
+
+ /* remove fsme from list */
+ if (prev) {
+ prev->next= fsme->next;
+ } else {
+ fsmenu= fsme->next;
}
- }
+ /* free entry */
+ MEM_freeN(fsme->path);
+ MEM_freeN(fsme);
+ }
}
}
More information about the Bf-blender-cvs
mailing list