From 78decce3d8efe7727512f43783526219ff1e38f5 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Wed, 25 Nov 2020 23:51:41 +0100 Subject: [PATCH] Don't change sizer dimensions on DPI change Closes #18969. --- src/msw/window.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 703d65a93c..9e7e26a778 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -4924,10 +4924,13 @@ static void UpdateSizerOnDPIChange(wxSizer* sizer, float scaleFactor) ScaleCoordIfSet(min.y, scaleFactor); sizerItem->SetMinSize(min); - wxSize size = sizerItem->GetSize(); - ScaleCoordIfSet(size.x, scaleFactor); - ScaleCoordIfSet(size.y, scaleFactor); - sizerItem->SetDimension(wxDefaultPosition, size); + if ( sizerItem->IsSpacer() ) + { + wxSize size = sizerItem->GetSize(); + ScaleCoordIfSet(size.x, scaleFactor); + ScaleCoordIfSet(size.y, scaleFactor); + sizerItem->SetDimension(wxDefaultPosition, size); + } // Update any child sizers if this is a sizer UpdateSizerOnDPIChange(sizerItem->GetSizer(), scaleFactor);