ide: fix about menu items not opening files/folders if environment variable XDF_DATA_...
authorRejean Loyer <redj@ecere.com>
Sun, 7 Dec 2014 00:13:16 +0000 (19:13 -0500)
committerRejean Loyer <redj@ecere.com>
Mon, 16 Mar 2015 05:31:40 +0000 (01:31 -0400)
ide/src/ide.ec

index ceea56c..694f520 100755 (executable)
@@ -3640,19 +3640,34 @@ bool GetInstalledFileOrFolder(const char * subDir, const char * name, char * pat
 #else
    if(!found)
    {
+      char * p = null;
       char * tokens[256];
       int c, numTokens;
 
       GetEnvironment("XDG_DATA_DIRS", v, maxPathLen);
       numTokens = TokenizeWith(v, sizeof(tokens) / sizeof(byte *), tokens, ":", false);
+      if(!numTokens)
+      {
+         p = new char[MAX_LOCATION];
+         p[0] = '\0';
+         strcat(p, "/usr/share");
+         tokens[0] = p;
+         numTokens = 1;
+      }
       for(c=0; c<numTokens; c++)
       {
          strncpy(path, tokens[c], MAX_LOCATION); path[MAX_LOCATION-1] = '\0';
          PathCat(path, sdkDirName);
          PathCat(path, subDir);
-         if(name) PathCat(path, name);
-         if(FileExists(path) & attribs) found = true;
+         if(name)
+            PathCat(path, name);
+         if(FileExists(path) & attribs)
+         {
+            found = true;
+            break;
+         }
       }
+      delete p;
    }
 #endif
    delete v;