For some reason wine will sometimes give us a windows style path for an application. For example when running the 64bit version of Rage wine gives a Unix style path, but when running the 32bit version is gives a windows style path.
If we detect no '/' in the path at all it should be safe to assume we have a wine application and instead look for a '\'. --- src/util/u_process.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/util/u_process.c b/src/util/u_process.c index 5bf3f56db4e..e8da10ffcad 100644 --- a/src/util/u_process.c +++ b/src/util/u_process.c @@ -40,11 +40,19 @@ extern char *program_invocation_name, *program_invocation_short_name; static const char * __getProgramName() { - char * arg = strrchr(program_invocation_name, '/'); - if (arg) - return arg+1; - else - return program_invocation_name; + char * arg = strrchr(program_invocation_name, '/'); + if (arg) { + return arg+1; + } else { + /* If there was no '/' at all we likely have a windows like path from + * a wine application. + */ + char * arg = strrchr(program_invocation_name, '\\'); + if (arg) + return arg+1; + + return program_invocation_name; + } } # define GET_PROGRAM_NAME() __getProgramName() #elif defined(__CYGWIN__) -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev