diff options
Diffstat (limited to 'xorg-server/hw/xwin/winprefs.c')
-rw-r--r-- | xorg-server/hw/xwin/winprefs.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/xorg-server/hw/xwin/winprefs.c b/xorg-server/hw/xwin/winprefs.c index 76c30e9e3..b003f455d 100644 --- a/xorg-server/hw/xwin/winprefs.c +++ b/xorg-server/hw/xwin/winprefs.c @@ -51,6 +51,8 @@ extern const char *winGetBaseDir(void); +extern const char *g_pszLogFile; + /* From winprefslex.l, the real parser */ extern int parse_file (FILE *fp); @@ -376,8 +378,8 @@ HandleCustomWM_COMMAND (unsigned long hwndIn, memset (&start, 0, sizeof (start)); start.cb = sizeof (start); - start.dwFlags = STARTF_USESHOWWINDOW; - start.wShowWindow = SW_HIDE; + //start.dwFlags = STARTF_USESHOWWINDOW; + //start.wShowWindow = SW_HIDE; memset (&child, 0, sizeof (child)); @@ -388,7 +390,7 @@ HandleCustomWM_COMMAND (unsigned long hwndIn, CloseHandle (child.hProcess); } else - MessageBox(NULL, m->menuItem[j].param, "Mingrc Exec Command Error!", MB_OK | MB_ICONEXCLAMATION); + MessageBox(NULL, m->menuItem[j].param, "VcXsrv Exec Command Error!", MB_OK | MB_ICONEXCLAMATION); } return TRUE; #endif @@ -808,17 +810,13 @@ LoadPreferences (void) } /* Setup a DISPLAY environment variable, need to allocate on heap */ - /* because putenv doesn't copy the argument... */ - snprintf (szDisplay, 512, "DISPLAY=127.0.0.1:%s.0", display); - szEnvDisplay = (char *)(malloc (strlen(szDisplay)+1)); - if (szEnvDisplay) - { - strcpy (szEnvDisplay, szDisplay); - putenv (szEnvDisplay); - } + /* because putenv doesn't copy the argument... Always use screen 0 */ + winGetDisplayName(szDisplay, 0); + szEnvDisplay = (char *)(malloc(strlen(szDisplay)+9/*strlen("DISPLAY=")+1*/)); + snprintf(szEnvDisplay, 512, "DISPLAY=%s", szDisplay); + putenv (szEnvDisplay); /* Replace any "%display%" in menu commands with display string */ - snprintf (szDisplay, 512, "127.0.0.1:%s.0", display); for (i=0; i<pref.menuItems; i++) { for (j=0; j<pref.menu[i].menuItems; j++) @@ -834,6 +832,12 @@ LoadPreferences (void) dstParam += strlen(szDisplay); srcParam += 9; } + else if (!strncmp(srcParam, "%logfile%", 9)) + { + memcpy (dstParam, g_pszLogFile, strlen(g_pszLogFile)); + dstParam += strlen(g_pszLogFile); + srcParam += 9; + } else { *dstParam = *srcParam; |