#include "base/HGDef.h" #include "base/HGInc.h" #include "base/HGUtility.h" #if defined (HG_CMP_MSC) #include "qmfcapp.hpp" #include "qwinwidget.hpp" HINSTANCE g_hInst = NULL; bool g_ownApplication = FALSE; BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/) { if (dwReason == DLL_PROCESS_ATTACH) { g_hInst = hInstance; HGChar moduleName[512]; HGBase_GetModuleName(DllMain, moduleName, 512); HGChar modulePath[512]; HGBase_GetFilePath(moduleName, modulePath, 512); char *env = getenv("QT_QPA_PLATFORM_PLUGIN_PATH"); if (NULL == env) { char newEnv[256]; sprintf(newEnv, "QT_QPA_PLATFORM_PLUGIN_PATH=%s", modulePath); putenv(newEnv); } else if (NULL == strstr(env, modulePath)) { char *newEnv = new char [strlen(env) + 256]; sprintf(newEnv, "QT_QPA_PLATFORM_PLUGIN_PATH=%s;%s", env, modulePath); putenv(newEnv); delete []newEnv; } } else if (dwReason == DLL_PROCESS_DETACH) { if (g_ownApplication) delete qApp; g_hInst = NULL; } return TRUE; } #else void __attribute__((constructor)) global_load(void); void __attribute__((destructor)) global_unload(void); void global_load(void) { } void global_unload(void) { } #endif