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)
committerJerome St-Louis <jerome@ecere.com>
Wed, 9 Dec 2015 23:11:36 +0000 (18:11 -0500)
ide/src/ide.ec

index 71cb82e..d9ad1d0 100644 (file)
@@ -3628,19 +3628,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;