diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index e3a184639f..5da84a6fbb 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -753,38 +753,10 @@ static wxRichToolTipPopup* get_rtt_popup(wxButton* btn) return nullptr; } -// Help function to find and check if some combobox is dropped down and then dismiss it -static bool found_and_dismiss_shown_dropdown(wxWindow* win) -{ - auto children = win->GetChildren(); - if (children.IsEmpty()) { - if (auto dd = dynamic_cast(win); dd && dd->IsShown()) { - dd->CallDismissAndNotify(); - return true; - } - } - - for (auto child : children) { - if (found_and_dismiss_shown_dropdown(child)) - return true; - } - return false; -} - void Sidebar::priv::show_rich_tip(const wxString& tooltip, wxButton* btn) { if (tooltip.IsEmpty()) return; - - // Currently state (propably wxWidgets issue) : - // When second wxPopupTransientWindow is popped up, then first wxPopupTransientWindow doesn't receive EVT_DISMISS and stay on the top. - // New comboboxes use wxPopupTransientWindow as DropDown now - // That is why DropDown stay on top, when we show rich tooltip for btn. - // (see https://github.com/prusa3d/PrusaSlicer/issues/11988) - - // So, check the combo boxes and close them if necessary before showing the rich tip. - found_and_dismiss_shown_dropdown(scrolled); - wxRichToolTip tip(tooltip, ""); tip.SetIcon(wxICON_NONE); tip.SetTipKind(wxTipKind_BottomRight); diff --git a/src/slic3r/GUI/Widgets/DropDown.hpp b/src/slic3r/GUI/Widgets/DropDown.hpp index 8d17ea658d..8a4757f5f7 100644 --- a/src/slic3r/GUI/Widgets/DropDown.hpp +++ b/src/slic3r/GUI/Widgets/DropDown.hpp @@ -86,8 +86,6 @@ public: bool HasDismissLongTime(); static void SetTransparentBG(wxDC& dc, wxWindow* win); - - void CallDismissAndNotify() { DismissAndNotify(); } protected: void OnDismiss() override;