diff --git a/src/modules/fancyzones/lib/ZoneWindowDrawing.cpp b/src/modules/fancyzones/lib/ZoneWindowDrawing.cpp index 143a7cfa09..4a9f61c20d 100644 --- a/src/modules/fancyzones/lib/ZoneWindowDrawing.cpp +++ b/src/modules/fancyzones/lib/ZoneWindowDrawing.cpp @@ -219,7 +219,7 @@ void ZoneWindowDrawing::Show(unsigned animationMillis) } } -void ZoneWindowDrawing::DrawActiveZoneSet(const std::vector>& zones, +void ZoneWindowDrawing::DrawActiveZoneSet(const IZoneSet::ZonesMap& zones, const std::vector& highlightZones, winrt::com_ptr host) { @@ -236,17 +236,15 @@ void ZoneWindowDrawing::DrawActiveZoneSet(const std::vectorGetZoneHighlightOpacity() / 100.f; highlightColor.a = host->GetZoneHighlightOpacity() / 100.f; - std::vector isHighlighted(zones.size(), false); + std::vector isHighlighted(zones.size() + 1, false); for (size_t x : highlightZones) { isHighlighted[x] = true; } // First draw the inactive zones - for (auto iter = zones.begin(); iter != zones.end(); iter++) + for (const auto& [zoneId, zone] : zones) { - int zoneId = static_cast(iter - zones.begin()); - winrt::com_ptr zone = iter->try_as(); if (!zone) { continue; @@ -266,10 +264,8 @@ void ZoneWindowDrawing::DrawActiveZoneSet(const std::vector(iter - zones.begin()); - winrt::com_ptr zone = iter->try_as(); if (!zone) { continue; diff --git a/src/modules/fancyzones/lib/ZoneWindowDrawing.h b/src/modules/fancyzones/lib/ZoneWindowDrawing.h index 4c0e736527..dbd3d96b91 100644 --- a/src/modules/fancyzones/lib/ZoneWindowDrawing.h +++ b/src/modules/fancyzones/lib/ZoneWindowDrawing.h @@ -52,7 +52,7 @@ public: void Hide(); void Show(unsigned animationMillis); void ForceRender(); - void DrawActiveZoneSet(const std::vector>& zones, + void DrawActiveZoneSet(const IZoneSet::ZonesMap& zones, const std::vector& highlightZones, winrt::com_ptr host); };