From 12c0170e3cade41eea8f88b8f76d9bb085c280cf Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Tue, 17 Mar 2020 11:02:32 +0100 Subject: [PATCH] Attempt to fix gizmos tooltip on Mac --- src/slic3r/GUI/GLCanvas3D.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index f595aad5cb..424e367b23 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3680,16 +3680,22 @@ void GLCanvas3D::set_tooltip(const std::string& tooltip) const { if (m_canvas != nullptr) { - wxToolTip* t = m_canvas->GetToolTip(); - if (t != nullptr) - { - if (tooltip.empty()) - m_canvas->UnsetToolTip(); - else - t->SetTip(wxString::FromUTF8(tooltip.data())); - } - else if (!tooltip.empty()) // Avoid "empty" tooltips => unset of the empty tooltip leads to application crash under OSX - m_canvas->SetToolTip(wxString::FromUTF8(tooltip.data())); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + wxString txt = wxString::FromUTF8(tooltip.data()); + if (m_canvas->GetToolTipText() != txt) + m_canvas->SetToolTip(txt); + +// wxToolTip* t = m_canvas->GetToolTip(); +// if (t != nullptr) +// { +// if (tooltip.empty()) +// m_canvas->UnsetToolTip(); +// else +// t->SetTip(wxString::FromUTF8(tooltip.data())); +// } +// else if (!tooltip.empty()) // Avoid "empty" tooltips => unset of the empty tooltip leads to application crash under OSX +// m_canvas->SetToolTip(wxString::FromUTF8(tooltip.data())); +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } }