diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.h b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.h index fcb434868e..213c5c28d7 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.h +++ b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.h @@ -24,7 +24,13 @@ namespace FancyZonesWindowProcessing // For windows that FancyZones shouldn't process (start menu, tray, popup menus) // VirtualDesktopManager is unable to retrieve virtual desktop id and returns an error. auto desktopId = VirtualDesktop::instance().GetDesktopId(window); - if (!desktopId.has_value() || (desktopId.has_value() && *desktopId != VirtualDesktop::instance().GetCurrentVirtualDesktopId())) + auto currentDesktopId = VirtualDesktop::instance().GetCurrentVirtualDesktopId(); + if (!desktopId.has_value()) + { + return false; + } + + if (currentDesktopId != GUID_NULL && desktopId.value() != currentDesktopId) { return false; } diff --git a/src/modules/fancyzones/FancyZonesLib/WorkArea.cpp b/src/modules/fancyzones/FancyZonesLib/WorkArea.cpp index ca14e7d079..ce500b5ec4 100644 --- a/src/modules/fancyzones/FancyZonesLib/WorkArea.cpp +++ b/src/modules/fancyzones/FancyZonesLib/WorkArea.cpp @@ -502,6 +502,7 @@ void WorkArea::CalculateZoneSet(OverlappingZonesAlgorithm overlappingAlgorithm) const auto appliedLayout = AppliedLayouts::instance().GetDeviceLayout(m_uniqueId); if (!appliedLayout.has_value()) { + Logger::error(L"Layout wasn't applied. Can't init zone set"); return; }