From 557843c5046ee8260730bb91259bd12508c2ad02 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 7 Feb 2020 17:47:15 +0100 Subject: [PATCH] Remove wxRibbonButtonBar::m_ownerRibbonBar There is already a function returning the containing ribbon bar, so just use it instead. --- include/wx/ribbon/buttonbar.h | 1 - src/ribbon/buttonbar.cpp | 32 ++++++++++---------------------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/include/wx/ribbon/buttonbar.h b/include/wx/ribbon/buttonbar.h index e4bccc185f..bc54379261 100644 --- a/include/wx/ribbon/buttonbar.h +++ b/include/wx/ribbon/buttonbar.h @@ -213,7 +213,6 @@ protected: bool m_layouts_valid; bool m_lock_active_state; bool m_show_tooltips_for_disabled; - wxRibbonBar* m_ownerRibbonBar; #ifndef SWIG wxDECLARE_CLASS(wxRibbonButtonBar); diff --git a/src/ribbon/buttonbar.cpp b/src/ribbon/buttonbar.cpp index 201e467d50..365b03bab5 100644 --- a/src/ribbon/buttonbar.cpp +++ b/src/ribbon/buttonbar.cpp @@ -350,11 +350,11 @@ wxRibbonButtonBarButtonBase* wxRibbonButtonBar::InsertButton( wxImageList* buttonImageList = NULL; wxImageList* buttonSmallImageList = NULL; - if (m_ownerRibbonBar) - { - buttonImageList = m_ownerRibbonBar->GetButtonImageList(m_bitmap_size_large); - buttonSmallImageList = m_ownerRibbonBar->GetButtonSmallImageList(m_bitmap_size_small); - } + if ( wxRibbonBar* const ribbon = GetAncestorRibbonBar() ) + { + buttonImageList = ribbon->GetButtonImageList(m_bitmap_size_large); + buttonSmallImageList = ribbon->GetButtonSmallImageList(m_bitmap_size_small); + } if (base->bitmap_large.IsOk() && buttonImageList) { base->barButtonImageListPos = buttonImageList->Add(base->bitmap_large); @@ -880,10 +880,12 @@ void wxRibbonButtonBar::OnPaint(wxPaintEvent& WXUNUSED(evt)) wxRibbonButtonBarButtonInstance& button = layout->buttons.Item(btn_i); wxRibbonButtonBarButtonBase* base = button.base; wxRect rect(button.position + m_layout_offset, base->sizes[button.size].size); - if (base->barButtonImageListPos != -1 && m_ownerRibbonBar) + + wxRibbonBar* const ribbon = GetAncestorRibbonBar(); + if ( base->barButtonImageListPos != -1 && ribbon ) { - wxImageList* buttonImageList = m_ownerRibbonBar->GetButtonImageList(m_bitmap_size_large); - wxImageList* buttonSmallImageList = m_ownerRibbonBar->GetButtonSmallImageList(m_bitmap_size_small); + wxImageList* buttonImageList = ribbon->GetButtonImageList(m_bitmap_size_large); + wxImageList* buttonSmallImageList = ribbon->GetButtonSmallImageList(m_bitmap_size_small); wxBitmap bitmap; wxBitmap bitmap_small; @@ -939,20 +941,6 @@ void wxRibbonButtonBar::OnSize(wxSizeEvent& evt) void wxRibbonButtonBar::CommonInit(long WXUNUSED(style)) { - //Our ultimate parent MAY be a ribbon bar, in which case - //we can use its image list. - m_ownerRibbonBar = NULL; - wxWindow* pWin = GetParent(); - while (pWin) - { - m_ownerRibbonBar = dynamic_cast(pWin); - if (m_ownerRibbonBar) - { - break; - } - pWin = pWin->GetParent(); - } - m_bitmap_size_large = wxSize(32, 32); m_bitmap_size_small = wxSize(16, 16);