diff --git a/mouse.cpp b/mouse.cpp index 6c87ae7..dd5b54b 100644 --- a/mouse.cpp +++ b/mouse.cpp @@ -762,7 +762,12 @@ bool GraphicsWindow::ConstrainPointByHovered(hEntity pt) { void GraphicsWindow::MouseLeftDown(double mx, double my) { orig.mouseDown = true; - if(GraphicsEditControlIsVisible()) return; + if(GraphicsEditControlIsVisible()) { + orig.mouse = Point2d::From(mx, my); + orig.mouseOnButtonDown = orig.mouse; + HideGraphicsEditControl(); + return; + } HideTextEditControl(); if(SS.showToolbar) { diff --git a/win32/w32main.cpp b/win32/w32main.cpp index 304ea08..e9e6605 100644 --- a/win32/w32main.cpp +++ b/win32/w32main.cpp @@ -432,7 +432,12 @@ LRESULT CALLBACK TextWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) case WM_LBUTTONDOWN: case WM_MOUSEMOVE: { if(TextEditControlIsVisible() || GraphicsEditControlIsVisible()) { - SetCursor(LoadCursor(NULL, IDC_ARROW)); + if(msg == WM_MOUSEMOVE) { + SetCursor(LoadCursor(NULL, IDC_ARROW)); + } else { + HideTextEditControl(); + HideGraphicsEditControl(); + } break; } GraphicsWindow::Selection ps = SS.GW.hover;