diff --git a/include/wx/aui/auibar.h b/include/wx/aui/auibar.h index 08485ac771..3515fa3bd5 100644 --- a/include/wx/aui/auibar.h +++ b/include/wx/aui/auibar.h @@ -254,7 +254,7 @@ private: int m_alignment; // sizer alignment flag, defaults to wxCENTER, may be wxEXPAND or any other }; -using wxAuiToolBarItemArray = wxBaseArray; +using wxAuiToolBarItemArray = wxBaseObjectArray; diff --git a/tests/controls/auitest.cpp b/tests/controls/auitest.cpp index 81649a39f4..74c75f6825 100644 --- a/tests/controls/auitest.cpp +++ b/tests/controls/auitest.cpp @@ -21,10 +21,13 @@ #include "wx/panel.h" +#include "wx/aui/auibar.h" #include "wx/aui/auibook.h" #include "asserthelper.h" +#include + // ---------------------------------------------------------------------------- // test fixtures // ---------------------------------------------------------------------------- @@ -165,4 +168,15 @@ TEST_CASE_METHOD(AuiNotebookTestCase, "wxAuiNotebook::FindPage", "[aui]") CHECK( nb->FindPage(p3) == wxNOT_FOUND ); } +TEST_CASE("wxAuiToolBar::Items", "[aui][toolbar]") +{ + std::unique_ptr tbar{new wxAuiToolBar(wxTheApp->GetTopWindow())}; + + // Check that adding more toolbar elements doesn't invalidate the existing + // pointers. + auto first = tbar->AddLabel(wxID_ANY, "first"); + tbar->AddLabel(wxID_ANY, "second"); + CHECK( first->GetLabel() == "first" ); +} + #endif