From 966b2ce3717ad40dbe4b0c5a405e81e8bae33e68 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 19 Mar 2020 12:39:25 +0100 Subject: [PATCH] Fixing spurious deselection of objects when switching from 3d path preview to plater using the bottom tool bar & left mouse click. This is result of the recent commits refactoring the mouse focus over toolbars handling. 739d8131abb7832fdcedd2b9a808e92c15fe1618 --- src/slic3r/GUI/GLToolbar.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GLToolbar.cpp b/src/slic3r/GUI/GLToolbar.cpp index cee8d03911..c7b391cd6c 100644 --- a/src/slic3r/GUI/GLToolbar.cpp +++ b/src/slic3r/GUI/GLToolbar.cpp @@ -421,11 +421,15 @@ bool GLToolbar::on_mouse(wxMouseEvent& evt, GLCanvas3D& parent) // mouse anywhere if (!evt.Dragging() && !evt.Leaving() && !evt.Entering() && (m_mouse_capture.parent != nullptr)) { - if (m_mouse_capture.any() && (evt.LeftUp() || evt.MiddleUp() || evt.RightUp())) + if (m_mouse_capture.any() && (evt.LeftUp() || evt.MiddleUp() || evt.RightUp())) { // prevents loosing selection into the scene if mouse down was done inside the toolbar and mouse up was down outside it, // as when switching between views - processed = true; - + m_mouse_capture.reset(); + if (contains_mouse(mouse_pos, parent) == -1) + // mouse is outside the toolbar + m_tooltip.clear(); + return true; + } m_mouse_capture.reset(); }