Browse Source

Avoided repeated calls to dladdr(), which could cause problems in some plugin situations.

tags/2021-05-28
jules 13 years ago
parent
commit
c4af628d14
1 changed files with 12 additions and 3 deletions
  1. +12
    -3
      modules/juce_core/native/juce_posix_SharedCode.h

+ 12
- 3
modules/juce_core/native/juce_posix_SharedCode.h View File

@@ -571,9 +571,18 @@ File juce_getExecutableFile()
#if JUCE_ANDROID
return File (android.appFile);
#else
Dl_info exeInfo;
dladdr ((void*) juce_getExecutableFile, &exeInfo); // (can't be a const void* on android)
return File::getCurrentWorkingDirectory().getChildFile (CharPointer_UTF8 (exeInfo.dli_fname));
struct DLAddrReader
{
static String getFilename()
{
Dl_info exeInfo;
dladdr ((void*) juce_getExecutableFile, &exeInfo);
return CharPointer_UTF8 (exeInfo.dli_fname);
}
};
static String filename (DLAddrReader::getFilename());
return File::getCurrentWorkingDirectory().getChildFile (filename);
#endif
}


Loading…
Cancel
Save