fancyzones unity3d crash fix (#1914)

* fancyzones unity3d crash fix

* intelisence warning fix, and review issue fix

* Fix for review comment
This commit is contained in:
PrzemyslawTusinski 2020-04-03 20:17:12 +02:00 committed by GitHub
parent 75f3a30d38
commit 2806c386d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -259,8 +259,12 @@ private:
static const UINT m_showAnimationDuration = 200; // ms
static const UINT m_flashDuration = 700; // ms
HWND draggedWindow;
BYTE draggedWindowInitialAlpha;
HWND draggedWindow = nullptr;
long draggedWindowExstyle = 0;
COLORREF draggedWindowCrKey = RGB(0, 0, 0);
DWORD draggedWindowDwFlags = 0;
BYTE draggedWindowInitialAlpha = 0;
ULONG_PTR gdiplusToken;
};
@ -335,22 +339,27 @@ bool ZoneWindow::Init(IZoneWindowHost* host, HINSTANCE hinstance, HMONITOR monit
IFACEMETHODIMP ZoneWindow::MoveSizeEnter(HWND window, bool dragEnabled) noexcept
{
if (m_host->isMakeDraggedWindowTransparentActive())
{
draggedWindow = window;
SetWindowLong(window,
GWL_EXSTYLE,
GetWindowLong(window, GWL_EXSTYLE) | WS_EX_LAYERED);
GetLayeredWindowAttributes(window, 0, &draggedWindowInitialAlpha, 0);
SetLayeredWindowAttributes(window, 0, (255 * 50) / 100, LWA_ALPHA);
}
if (m_windowMoveSize)
{
return E_INVALIDARG;
}
if (m_host->isMakeDraggedWindowTransparentActive())
{
RestoreOrginalTransparency();
draggedWindowExstyle = GetWindowLong(window, GWL_EXSTYLE);
draggedWindow = window;
SetWindowLong(window,
GWL_EXSTYLE,
draggedWindowExstyle | WS_EX_LAYERED);
GetLayeredWindowAttributes(window, &draggedWindowCrKey, &draggedWindowInitialAlpha, &draggedWindowDwFlags);
SetLayeredWindowAttributes(window, 0, (255 * 50) / 100, LWA_ALPHA);
}
m_dragEnabled = dragEnabled;
m_windowMoveSize = window;
m_drawHints = true;
@ -415,10 +424,8 @@ ZoneWindow::RestoreOrginalTransparency() noexcept
{
if (m_host->isMakeDraggedWindowTransparentActive() && draggedWindow != nullptr)
{
SetLayeredWindowAttributes(draggedWindow,
0,
draggedWindowInitialAlpha == 0 ? 255 : draggedWindowInitialAlpha,
LWA_ALPHA);
SetLayeredWindowAttributes(draggedWindow, draggedWindowCrKey, draggedWindowInitialAlpha, draggedWindowDwFlags);
SetWindowLong(draggedWindow, GWL_EXSTYLE, draggedWindowExstyle);
draggedWindow = nullptr;
}
}
@ -738,7 +745,10 @@ void ZoneWindow::CycleActiveZoneSetInternal(DWORD wparam, Trace::ZoneWindow::Inp
void ZoneWindow::FlashZones() noexcept
{
// "Turning FLASHING_ZONE option off"
if(true) return;
if (true)
{
return;
}
m_flashMode = true;