summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--pkg/osx/Execute.m11
2 files changed, 13 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index ba7c81b1..ac12bded 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,8 @@
no longer necessary to compile binaries for this system by
hand. The package includes a simple graphical launcher
program and can be installed simply by dragging the "Chocolate
- Doom" icon to the Applications folder.
+ Doom" icon to the Applications folder. (thanks to Rikard Lang
+ for extensive testing and feedback)
* The video mode auto-adjust code will automatically choose
windowed mode if no fullscreen video modes are available.
* The zone memory size is automatically reduced on systems with
diff --git a/pkg/osx/Execute.m b/pkg/osx/Execute.m
index bb4eed45..608443e2 100644
--- a/pkg/osx/Execute.m
+++ b/pkg/osx/Execute.m
@@ -100,6 +100,7 @@ static void DoExec(const char *executable, const char *iwad, const char *args)
void ExecuteProgram(const char *executable, const char *iwad, const char *args)
{
pid_t childpid;
+ char *homedir;
childpid = fork();
@@ -107,6 +108,16 @@ void ExecuteProgram(const char *executable, const char *iwad, const char *args)
{
signal(SIGCHLD, SIG_DFL);
+ // Change directory to home dir before launch, so that any demos
+ // are saved somewhere sensible.
+
+ homedir = getenv("HOME");
+
+ if (homedir != NULL)
+ {
+ chdir(homedir);
+ }
+
DoExec(executable, iwad, args);
}
else