mirror of
				https://github.com/chibicitiberiu/rainmeter-studio.git
				synced 2024-02-24 04:33:31 +00:00 
			
		
		
		
	Additional changes to af8befd
				
					
				
			This commit is contained in:
		| @@ -137,7 +137,7 @@ CMeterWindow::CMeterWindow(const std::wstring& folderPath, const std::wstring& f | ||||
| 	m_FadeStartValue(), | ||||
| 	m_FadeEndValue(), | ||||
| 	m_TransparencyValue(), | ||||
| 	m_Refreshing(false), | ||||
| 	m_State(STATE_INITIALIZING), | ||||
| 	m_Hidden(false), | ||||
| 	m_ResizeWindow(RESIZEMODE_NONE), | ||||
| 	m_UpdateCounter(), | ||||
| @@ -215,6 +215,8 @@ void CMeterWindow::Dispose(bool refresh) | ||||
| 	KillTimer(m_Window, TIMER_FADE); | ||||
| 	KillTimer(m_Window, TIMER_TRANSITION); | ||||
|  | ||||
| 	m_FadeStartTime = 0; | ||||
|  | ||||
| 	UnregisterMouseInput(); | ||||
| 	m_HasMouseScrollAction = false; | ||||
|  | ||||
| @@ -389,6 +391,8 @@ void CMeterWindow::RemoveWindowExStyle(LONG_PTR flag) | ||||
| */ | ||||
| void CMeterWindow::Deactivate() | ||||
| { | ||||
| 	m_State = STATE_CLOSING; | ||||
|  | ||||
| 	Rainmeter->RemoveMeterWindow(this); | ||||
|  | ||||
| 	HideFade(); | ||||
| @@ -403,6 +407,9 @@ void CMeterWindow::Refresh(bool init, bool all) | ||||
| { | ||||
| 	assert(Rainmeter != NULL); | ||||
|  | ||||
| 	if (m_State == STATE_CLOSING) return; | ||||
| 	m_State = STATE_REFRESHING; | ||||
|  | ||||
| 	Rainmeter->SetCurrentParser(&m_Parser); | ||||
|  | ||||
| 	std::wstring notice = L"Refreshing skin \"" + m_FolderPath; | ||||
| @@ -411,7 +418,6 @@ void CMeterWindow::Refresh(bool init, bool all) | ||||
| 	notice += L'"'; | ||||
| 	Log(LOG_NOTICE, notice.c_str()); | ||||
|  | ||||
| 	m_Refreshing = true; | ||||
| 	SetResizeWindowMode(RESIZEMODE_RESET); | ||||
|  | ||||
| 	if (!init) | ||||
| @@ -473,7 +479,7 @@ void CMeterWindow::Refresh(bool init, bool all) | ||||
|  | ||||
| 	Rainmeter->SetCurrentParser(NULL); | ||||
|  | ||||
| 	m_Refreshing = false; | ||||
| 	m_State = STATE_RUNNING; | ||||
|  | ||||
| 	if (!m_OnRefreshAction.empty()) | ||||
| 	{ | ||||
| @@ -3375,7 +3381,10 @@ LRESULT CMeterWindow::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam) | ||||
| 		break; | ||||
|  | ||||
| 	case IDM_CLOSESKIN: | ||||
| 		Rainmeter->DeactivateSkin(this, -1); | ||||
| 		if (m_State != STATE_CLOSING) | ||||
| 		{ | ||||
| 			Rainmeter->DeactivateSkin(this, -1); | ||||
| 		} | ||||
| 		break; | ||||
|  | ||||
| 	case IDM_SKIN_FROMRIGHT: | ||||
| @@ -3718,7 +3727,7 @@ LRESULT CMeterWindow::OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lPara | ||||
| { | ||||
| 	LPWINDOWPOS wp = (LPWINDOWPOS)lParam; | ||||
|  | ||||
| 	if (!m_Refreshing) | ||||
| 	if (m_State != STATE_REFRESHING) | ||||
| 	{ | ||||
| 		if (m_WindowZPosition == ZPOSITION_NORMAL && Rainmeter->IsNormalStayDesktop() && CSystem::GetShowDesktop()) | ||||
| 		{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 spx
					spx