]> git.tdb.fi Git - libs/core.git/blobdiff - source/core/unix/main.cpp
OS X tweaks
[libs/core.git] / source / core / unix / main.cpp
index 601ddb6f998ee0ac188f0113e5687e78a56fc018..698ec69ad514ee4d62d20b14ed9a9ec31ae6ff53 100644 (file)
@@ -2,5 +2,23 @@
 
 int main(int argc, char **argv)
 {
-       return Msp::Application::run(argc, argv);
+       void *data = 0;
+
+#ifdef __APPLE__
+       /* Applications launched from Finder get a special argument, which would
+       interfere with GetOpt.  Remove it from argv but pass it as data so it can
+       be used to determine how the application was launhed. */
+       int j = 0;
+       for(int i=0; i<argc; ++i)
+       {
+               if(!strncmp(argv[i], "-psn_", 5))
+                       data = argv[i];
+               else
+                       argv[j++] = argv[i];
+       }
+       argc = j;
+       argv[j] = 0;
+#endif
+
+       return Msp::Application::run(argc, argv, data);
 }