From 9bae1046c7bae9ef1bb13ee8befb9540fc1c5008 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 25 Feb 2024 01:26:53 +0100 Subject: [PATCH] Update tab control height in wxAuiNotebook on DPI change Otherwise layout is computed incorrectly, resulting in visual artefacts. Closes #24348. Closes #24355. --- include/wx/aui/auibook.h | 1 + src/aui/auibook.cpp | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/include/wx/aui/auibook.h b/include/wx/aui/auibook.h index 427ac706dd..d46c9fe82b 100644 --- a/include/wx/aui/auibook.h +++ b/include/wx/aui/auibook.h @@ -434,6 +434,7 @@ protected: void OnTabBgDClick(wxAuiNotebookEvent& evt); void OnNavigationKeyNotebook(wxNavigationKeyEvent& event); void OnSysColourChanged(wxSysColourChangedEvent& event); + void OnDpiChanged(wxDPIChangedEvent& event); // set selection to the given window (which must be non-null and be one of // our pages, otherwise an assert is raised) diff --git a/src/aui/auibook.cpp b/src/aui/auibook.cpp index 0ccb258efb..9297a71c6b 100644 --- a/src/aui/auibook.cpp +++ b/src/aui/auibook.cpp @@ -1700,6 +1700,7 @@ wxBEGIN_EVENT_TABLE(wxAuiNotebook, wxBookCtrlBase) wxAuiNotebook::OnTabBgDClick) EVT_NAVIGATION_KEY(wxAuiNotebook::OnNavigationKeyNotebook) EVT_SYS_COLOUR_CHANGED(wxAuiNotebook::OnSysColourChanged) + EVT_DPI_CHANGED(wxAuiNotebook::OnDpiChanged) wxEND_EVENT_TABLE() void wxAuiNotebook::OnSysColourChanged(wxSysColourChangedEvent &event) @@ -1723,6 +1724,12 @@ void wxAuiNotebook::OnSysColourChanged(wxSysColourChangedEvent &event) Refresh(); } +void wxAuiNotebook::OnDpiChanged(wxDPIChangedEvent& event) +{ + UpdateTabCtrlHeight(); + event.Skip(); +} + void wxAuiNotebook::Init() { m_curPage = -1;