src/platform_beos.cpp
changeset 1133 958df28c5449
parent 1131 267ac8c2eb6b
child 1211 09280603503b
--- a/src/platform_beos.cpp	Sun Nov 14 00:43:47 2010 -0500
+++ b/src/platform_beos.cpp	Thu Dec 30 19:50:58 2010 -0500
@@ -170,14 +170,18 @@
 
 char *__PHYSFS_platformCalcBaseDir(const char *argv0)
 {
-    /* in case there isn't a BApplication yet, we'll construct a roster. */
-    BRoster roster; 
-    app_info info;
-    status_t rc = roster.GetRunningAppInfo(getTeamID(), &info);
-    BAIL_IF_MACRO(rc < B_OK, strerror(rc), NULL);
-    BEntry entry(&(info.ref), true);
+    image_info info;
+    int32 cookie = 0;
+
+    while (get_next_image_info(0, &cookie, &info) == B_OK)
+    {
+        if (info.type == B_APP_IMAGE)
+            break;
+    } /* while */
+
+    BEntry entry(info.name, true);
     BPath path;
-    rc = entry.GetPath(&path);  /* (path) now has binary's path. */
+    status_t rc = entry.GetPath(&path);  /* (path) now has binary's path. */
     assert(rc == B_OK);
     rc = path.GetParent(&path); /* chop filename, keep directory. */
     assert(rc == B_OK);