rnd-20060820-1-src
authorHolger Schemel <info@artsoft.org>
Sun, 20 Aug 2006 12:13:08 +0000 (14:13 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:53:02 +0000 (10:53 +0200)
* fixed nasty bugs with handling error message file on Mac OS X systems

ChangeLog
src/conftime.h
src/libgame/misc.c
src/libgame/sdl.c
src/libgame/setup.c

index 6ef7fb8a947d8e8f276563795cc3e70cc8525626..da91536c00adb4284cedab77bffa7c07b6b10633 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
 2006-08-20
        * version 3.2.1 released
 
+2006-08-20
+       * fixed nasty bugs with handling error message file on Mac OS X systems
+
 2006-08-19
        * general code cleanup (removing many annoying "#if 0" blocks etc.)
 
index ca4ade1949360561f574773c80fa61084c24a71a..c4fef1c5bc592f4ce82e2b838ddd8cbb1a7409a4 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2006-08-19 18:41]"
+#define COMPILE_DATE_STRING "[2006-08-19 19:17]"
index c4b351e7a72bf00e791c6fda8ae1c711d54fbf32..f9ec87fe5b15cf9c1206f7f6b83bade9c302e0df 100644 (file)
@@ -2726,14 +2726,11 @@ char *getErrorFilename(char *basename)
 
 void openErrorFile()
 {
-  /* always start with reliable default values */
-  program.error_file = stderr;
+  InitUserDataDirectory();
 
-#if defined(PLATFORM_WIN32) || defined(PLATFORM_MSDOS)
   if ((program.error_file = fopen(program.error_filename, MODE_WRITE)) == NULL)
     fprintf_newline(stderr, "ERROR: cannot open file '%s' for writing!",
                    program.error_filename);
-#endif
 }
 
 void closeErrorFile()
index 2395cd042813bc7c043cbdb734eb44ca94380ec8..d06cca94da5646c067e79efca76810e78daa0209 100644 (file)
@@ -63,6 +63,10 @@ static void setFullscreenParameters()
 
 static void SDLSetWindowIcon(char *basename)
 {
+  /* (setting the window icon on Mac OS X would replace the high-quality
+     dock icon with the currently smaller (and uglier) icon from file) */
+
+#if !defined(PLATFORM_MACOSX)
   char *filename = getCustomImageFilename(basename);
   SDL_Surface *surface;
 
@@ -85,6 +89,7 @@ static void SDLSetWindowIcon(char *basename)
                  SDL_MapRGB(surface->format, 0x00, 0x00, 0x00));
 
   SDL_WM_SetIcon(surface, NULL);
+#endif
 }
 
 void SDLInitVideoDisplay(void)
index ff8485bce818df7358ea49379fc43503cae5a7da..4f00449473f8cadcb520d70c9a0ea542c40f4797 100644 (file)
@@ -1205,18 +1205,20 @@ char *getPersonalDataDir(void)
 
 char *getUserGameDataDir(void)
 {
-  if (program.userdata_path == NULL)
-    program.userdata_path = getPath2(getPersonalDataDir(),
-                                    program.userdata_subdir);
+  static char *user_game_data_dir = NULL;
 
-  return program.userdata_path;
+  if (user_game_data_dir == NULL)
+    user_game_data_dir = getPath2(getPersonalDataDir(),
+                                 program.userdata_subdir);
+
+  return user_game_data_dir;
 }
 
 void updateUserGameDataDir()
 {
 #if defined(PLATFORM_MACOSX)
   char *userdata_dir_old = getPath2(getHomeDir(), program.userdata_subdir_unix);
-  char *userdata_dir_new = getUserGameDataDir();
+  char *userdata_dir_new = getUserGameDataDir();       /* do not free() this */
 
   /* convert old Unix style game data directory to Mac OS X style, if needed */
   if (fileExists(userdata_dir_old) && !fileExists(userdata_dir_new))
@@ -1233,7 +1235,6 @@ void updateUserGameDataDir()
   }
 
   free(userdata_dir_old);
-  free(userdata_dir_new);
 #endif
 }