aboutsummaryrefslogtreecommitdiff
path: root/libsylph/utils.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-12-13 09:24:37 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-12-13 09:24:37 +0000
commit7646fa9d26b362581e7c140ea5ccb87f612c9066 (patch)
treed3e56e69a0f4ea6c2241d18c3945575b2b514eab /libsylph/utils.c
parent7369bebad1a924e7a4036368ae9274c1ce5fd3af (diff)
set_startup_dir(): OS X: set application bundle directory rather than /.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@3316 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/utils.c')
-rw-r--r--libsylph/utils.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/libsylph/utils.c b/libsylph/utils.c
index 474d96a6..1e54ebc5 100644
--- a/libsylph/utils.c
+++ b/libsylph/utils.c
@@ -52,6 +52,10 @@
# include <shlobj.h>
#endif
+#ifdef __APPLE__
+# include <AppKit/AppKit.h>
+#endif
+
#include "utils.h"
#include "socket.h"
@@ -2129,6 +2133,21 @@ void set_startup_dir(void)
} else
startup_dir = g_get_current_dir();
}
+#elif defined(__APPLE__)
+ if (!startup_dir) {
+ const gchar *path;
+ NSAutoreleasePool *pool;
+
+ pool = [[NSAutoreleasePool alloc] init];
+
+ path = [[[NSBundle mainBundle] bundlePath] UTF8String];
+ startup_dir = g_strdup(path);
+
+ [pool release];
+
+ if (!startup_dir)
+ startup_dir = g_get_current_dir();
+ }
#else
if (!startup_dir)
startup_dir = g_get_current_dir();