37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
--- gimp-2.9.2/app/main.c.orig 2014-02-27 14:45:08.125400000 +0400
|
|
+++ gimp-2.9.2/app/main.c 2014-02-27 15:05:28.119200000 +0400
|
|
@@ -345,6 +245,33 @@
|
|
goto out;
|
|
|
|
SetDllDirectoryW (w_bin_dir);
|
|
+
|
|
+ /* Add ourself to system path */
|
|
+ {
|
|
+ int result = 0;
|
|
+ static char progpath[PATH_MAX] = {'\0'};
|
|
+ char *path = getenv("PATH");
|
|
+ result = GetModuleFileNameA(NULL, progpath, PATH_MAX);
|
|
+ if (path) {
|
|
+ /* Add path of executable to system path. */
|
|
+ char *module_path = progpath;
|
|
+ char *new_path = alloca(strlen("PATH=")+strlen(module_path)+1+strlen(path)+1);
|
|
+ if (new_path) {
|
|
+ strcpy( new_path, "PATH=" );
|
|
+ strcat( new_path, module_path );
|
|
+ char *slashes = strchr( new_path, '/' );
|
|
+ while (slashes) {
|
|
+ *slashes = '\\';
|
|
+ slashes = strchr( slashes+1, '/' );
|
|
+ }
|
|
+ char *end = strrchr(new_path, '\\') ? strrchr(new_path, '\\') : new_path + strlen(new_path);
|
|
+ end[0] = ';';
|
|
+ end[1] = '\0';
|
|
+ strcat( new_path, path );
|
|
+ putenv( new_path );
|
|
+ }
|
|
+ }
|
|
+ }
|
|
|
|
out:
|
|
if (w_bin_dir)
|