The window deletion is now delayed when !RainmeterDeactivateConfig is used. This fixes the problem: Issue 116: Crash when skin tries to deactivate self by measure action.

This commit is contained in:
Kimmo Pekkola
2009-10-17 06:43:18 +00:00
parent a5b6d3a46e
commit 2c6c43c652
4 changed files with 44 additions and 21 deletions

View File

@ -161,13 +161,15 @@ public:
std::wstring ParseCommand(const WCHAR* command, CMeterWindow* meterWindow);
void ExecuteCommand(const WCHAR* command, CMeterWindow* meterWindow);
void ClearDeleteLaterList();
static PLATFORM IsNT();
static std::wstring ExtractPath(const std::wstring& strFilePath);
static void ExpandEnvironmentVariables(std::wstring& strPath);
private:
void CreateMeterWindow(std::wstring path, std::wstring config, std::wstring iniFile);
bool DeleteMeterWindow(CMeterWindow* meterWindow);
bool DeleteMeterWindow(CMeterWindow* meterWindow, bool bLater);
void ScanForConfigs(std::wstring& path);
void ScanForThemes(std::wstring& path);
void ReadGeneralSettings(std::wstring& path);
@ -219,6 +221,8 @@ private:
ULONG_PTR m_GDIplusToken;
std::list<CMeterWindow*> m_DelayDeleteList;
static bool c_DummyLitestep; // true, if not a Litestep plugin
static std::wstring c_CmdLine; // The command line arguments
static GlobalConfig c_GlobalConfig;