**System Information**
Windows 7 x64, Geforce 540M
**Blender Version**
Broken: Blender 2.69.7
**Short description of error**
CUDA does not show up in the User Preferences, if Blender is located in a directory with umlauts. (like D:\blender_dev\install\blenderöä\)
I am not sure where the exact error is, but it might be inside OIIO: this_program_path() uses GetModuleFileName() to retreive the path, I guess GetModuleFileNameW() should be used here.
I tried to hack something together and recompiled the OIIO lib, but the error in Cycles remained. So either my code is wrong or the problem is somewhere else.
diff --git a/src/libutil/sysutil.cpp b/src/libutil/sysutil.cpp
index 0c862bb..9bac5c1 100644
--- a/src/libutil/sysutil.cpp
+++ b/src/libutil/sysutil.cpp
@@ -73,6 +73,7 @@
#include "dassert.h"
#include "sysutil.h"
+#include "strutil.h"
OIIO_NAMESPACE_ENTER
{
@@ -234,8 +235,14 @@ Sysutil::this_program_path ()
r = size;
#elif defined(_WIN32)
// According to MSDN...
- unsigned int size = sizeof(filename);
- int r = GetModuleFileName (NULL, filename, size);
+
+ wchar_t filename16[10240];
+ filename16[0] = 0;
+ unsigned int size = sizeof(filename16);
+ int r = GetModuleFileNameW (NULL, filename16, size);
+
+ if (r > 0)
+ return Strutil::utf16_to_utf8(filename16);
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
int mib[4];
mib[0] = CTL_KERN;