[FancyZones]Fix not shown layout on window dragging(#18542)

* log

* check if current vd id null
This commit is contained in:
Seraphima Zykova
2022-05-30 12:16:33 +02:00
committed by GitHub
parent ba4b9cf549
commit 3cf6685eeb
2 changed files with 8 additions and 1 deletions

View File

@@ -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;
}

View File

@@ -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;
}