From 2dcfd74579a29c66affd966285eaa9a1f905b0c9 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 29 Aug 2018 09:33:56 +0200 Subject: [PATCH] Try to fix object_ctrl_context_menu on OS X --- xs/src/slic3r/GUI/GUI.cpp | 1 + xs/src/slic3r/GUI/GUI_ObjectParts.cpp | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/xs/src/slic3r/GUI/GUI.cpp b/xs/src/slic3r/GUI/GUI.cpp index e559a1d4b..4592e6433 100644 --- a/xs/src/slic3r/GUI/GUI.cpp +++ b/xs/src/slic3r/GUI/GUI.cpp @@ -1158,6 +1158,7 @@ void update_mode() // *** Update showing of the collpane_settings // show_collpane_settings(mode == ConfigMenuModeExpert); // ************************* + g_right_panel->Layout(); g_right_panel->GetParent()->GetParent()->Layout(); } diff --git a/xs/src/slic3r/GUI/GUI_ObjectParts.cpp b/xs/src/slic3r/GUI/GUI_ObjectParts.cpp index 158ad021c..7f3b049cd 100644 --- a/xs/src/slic3r/GUI/GUI_ObjectParts.cpp +++ b/xs/src/slic3r/GUI/GUI_ObjectParts.cpp @@ -786,14 +786,25 @@ void object_ctrl_context_menu() const wxPoint pt = get_mouse_position_in_control(); printf("mouse_position_in_control: x = %d, y = %d\n", pt.x, pt.y); m_objects_ctrl->HitTest(pt, item, col); - if (!item) return; + if (!item) +#ifdef __WXOSX__ // #ys_FIXME temporary workaround for OSX + // after Yosemite OS X version, HitTest return undefined item + item = m_objects_ctrl->GetSelection(); + if (item) + show_context_menu(); + else + printf("undefined item\n"); + return; +#else + return; +#endif // __WXOSX__ printf("item exists\n"); const wxString title = col->GetTitle(); printf("title = *%s*\n", title.data().AsChar()); if (title == " ") show_context_menu(); -// ys_FIXME +// #ys_FIXME // else if (title == _("Name") && pt.x >15 && // m_objects_model->GetIcon(item).GetRefData() == m_icon_manifold_warning.GetRefData()) // {