Commit: 21a2b73a1e0eff0f48fe93161779bd71f8f141f7
Author: Bastien Montagne
Date: Tue Feb 17 19:11:47 2015 +0100
Branches: master
https://developer.blender.org/rB21a2b73a1e0eff0f48fe93161779bd71f8f141f7
Fix T43684 (again!): Mighty Windows thinks it’s perfectly sensible to block
everyone during 5 seconds for a mere stat() call on "A:\" path...
For now, just always consider those floppy entries ("A:\" and "B:\") as
valid... sigh.
===================================================================
M source/blender/editors/space_file/fsmenu.c
===================================================================
diff --git a/source/blender/editors/space_file/fsmenu.c
b/source/blender/editors/space_file/fsmenu.c
index f717573..0cbb31b 100644
--- a/source/blender/editors/space_file/fsmenu.c
+++ b/source/blender/editors/space_file/fsmenu.c
@@ -219,6 +219,20 @@ void ED_fsmenu_entry_set_name(struct FSMenuEntry *fsentry,
const char *name)
void fsmenu_entry_refresh_valid(struct FSMenuEntry *fsentry)
{
if (fsentry->path && fsentry->path[0]) {
+ /* XXX Special case, always consider those as valid.
+ * Thanks to Windows, which can spend five seconds to
perform a mere stat() call on those paths...
+ * See T43684.
+ */
+ const char *exceptions[] = {"A:\\", "B:\\", NULL};
+ const size_t exceptions_len[] = {strlen(exceptions[0]),
strlen(exceptions[1]), 0};
+ int i;
+
+ for (i = 0; exceptions[i]; i++) {
+ if (STREQLEN(fsentry->path, exceptions[i],
exceptions_len[i])) {
+ fsentry->valid = true;
+ return;
+ }
+ }
fsentry->valid = BLI_is_dir(fsentry->path);
}
else {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs