- std::string prefix;
- //Get path to *.xml files (typically ./bin/../plugins/)
-#ifdef WIN32
- HMODULE hModule = GetModuleHandleW(NULL);
- WCHAR wchar_path[MAX_PATH];
- GetModuleFileNameW(hModule, wchar_path, MAX_PATH);
- char char_path[MAX_PATH];
- char DefChar = ' ';
- WideCharToMultiByte(CP_ACP, 0, wchar_path, -1, char_path, MAX_PATH, &DefChar, NULL);
- prefix = std::string(char_path);
- //chop "bin\XGUI.exe"
- unsigned found = prefix.rfind("bin");
- if(found != std::string::npos)
- prefix.replace(found, prefix.length(), "plugins\\");
-#else
- //TODO(sbh): Find full path to binary on linux
- prefix = "../plugins/";
-#endif
+ std::string prefix = "";
+ /*
+ * Get path to *.xml files (typically ./bin/../plugins/)
+
+ * the problem: application may be launched using python executable,
+ * to use environment variable (at least for the current moment)
+ */
+ char* anEnv = getenv("NEW_GEOM_CONFIG_FILE");
+ if (anEnv) {
+ prefix = std::string(anEnv) + "/";
+ }