2.5 filebrowser
authorAndrea Weikert <elubie@gmx.net>
Tue, 3 Mar 2009 10:24:06 +0000 (10:24 +0000)
committerAndrea Weikert <elubie@gmx.net>
Tue, 3 Mar 2009 10:24:06 +0000 (10:24 +0000)
bugfix: create directories to store thumbnails if they don't exist.

source/blender/editors/space_file/space_file.c
source/blender/imbuf/IMB_thumbs.h
source/blender/imbuf/intern/thumbs.c

index 48f501f0173789607bd2811235dc711c442cd7be..dfa353cc6e4074794271a1737f62fe62a5aad3cf 100644 (file)
@@ -36,6 +36,8 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "BIF_gl.h"
+
 #include "BLO_readfile.h"
 
 #include "BLI_blenlib.h"
@@ -50,7 +52,8 @@
 #include "ED_screen.h"
 #include "ED_fileselect.h"
 
-#include "BIF_gl.h"
+#include "IMB_imbuf_types.h"
+#include "IMB_thumbs.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -414,6 +417,7 @@ void ED_file_init(void)
        BLI_make_file_string("/", name, BLI_gethome(), ".Bfs");
        fsmenu_read_file(name);
        filelist_init_icons();
+       IMB_thumb_makedirs();
 }
 
 void ED_file_exit(void)
index 4f4b77ff000325059fcc8b75c3c05265624c7507..53b63b4d304901b78a5c462d8be72c5348f34dbf 100644 (file)
@@ -67,7 +67,8 @@ void IMB_thumb_delete(const char* dir, const char* file, ThumbSize size);
 /* return the state of the thumb, needed to determine how to manage the thumb */
 ImBuf* IMB_thumb_manage(const char* dir, const char* file, ThumbSize size, ThumbSource source);
 
-
+/* create the necessary dirs to store the thumbnails */
+void IMB_thumb_makedirs();
 
 
 #endif /* _IMB_THUMBS_H */
index 14d6cb2d54b61d7088340a059fd0cbc234b6834f..86ca43824f3de79e835eb1275e2b207083ba1cdc 100644 (file)
@@ -232,6 +232,16 @@ static int thumbpath_from_uri(const char* uri, char* path, ThumbSize size)
        return rv;
 }
 
+void IMB_thumb_makedirs()
+{
+       char tpath[FILE_MAX];
+       if (get_thumb_dir(tpath, THB_NORMAL)) {
+               BLI_recurdir_fileops(tpath);
+       }
+       if (get_thumb_dir(tpath, THB_FAIL)) {
+               BLI_recurdir_fileops(tpath);
+       }
+}
 
 /* create thumbnail for file and returns new imbuf for thumbnail */
 ImBuf* IMB_thumb_create(const char* dir, const char* file, ThumbSize size, ThumbSource source)