From de49812990871e1705b64051c35161d5e6400269 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 24 Dec 2018 14:11:38 +0000 Subject: gentoo resync : 24.12.2018 --- app-misc/golly/files/golly-3.2-mouse-1.patch | 63 ++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 app-misc/golly/files/golly-3.2-mouse-1.patch (limited to 'app-misc/golly/files/golly-3.2-mouse-1.patch') diff --git a/app-misc/golly/files/golly-3.2-mouse-1.patch b/app-misc/golly/files/golly-3.2-mouse-1.patch new file mode 100644 index 000000000000..ab4fc703f507 --- /dev/null +++ b/app-misc/golly/files/golly-3.2-mouse-1.patch @@ -0,0 +1,63 @@ +From e22d1534d486a7b46612ca6f6cd693b8fa4635d2 Mon Sep 17 00:00:00 2001 +From: Chris Rowett +Date: Tue, 10 Jul 2018 23:22:20 +0100 +Subject: [PATCH] bugfix: do not process other mouse buttons until current + button released + +--- + gui-wx/wxview.cpp | 15 +++++++++++++++ + gui-wx/wxview.h | 2 ++ + 2 files changed, 17 insertions(+) + +--- a/gui-wx/wxview.cpp ++++ b/gui-wx/wxview.cpp +@@ -2801,6 +2801,13 @@ void PatternView::OnMouseDown(wxMouseEvent& event) + int button = event.GetButton(); + int modifiers = GetMouseModifiers(event); + ++ // ignore if a mouse button is already down ++ if (mouseisdown) return; ++ ++ // flag that a mouse button is down ++ mouseisdown = true; ++ whichbuttondown = button; ++ + if (waitingforclick && button == wxMOUSE_BTN_LEFT) { + // save paste location + pastex = x; +@@ -2870,6 +2877,13 @@ void PatternView::OnMouseDown(wxMouseEvent& event) + + void PatternView::OnMouseUp(wxMouseEvent& event) + { ++ // if the button released was not the first held down then ignore ++ int button = event.GetButton(); ++ if (button != whichbuttondown) return; ++ ++ // same button released so process ++ mouseisdown = false; ++ + if (drawingcells || selectingcells || movingview || clickedcontrol > NO_CONTROL) { + StopDraggingMouse(); + } else if (mainptr->draw_pending) { +@@ -3273,6 +3287,7 @@ PatternView::PatternView(wxWindow* parent, wxCoord x, wxCoord y, int wd, int ht, + selectingcells = false; // not selecting cells + movingview = false; // not moving view + waitingforclick = false; // not waiting for user to click ++ mouseisdown = false; // mouse button is not down + nopattupdate = false; // enable pattern updates + showcontrols = false; // not showing translucent controls + oldcursor = NULL; // for toggling cursor via shift key +--- a/gui-wx/wxview.h ++++ b/gui-wx/wxview.h +@@ -102,6 +102,8 @@ public: + bool movingview; // moving view due to dragging mouse? + bool nopattupdate; // disable pattern updates? + bool showcontrols; // draw translucent controls? ++ bool mouseisdown; // mouse button held down? ++ int whichbuttondown; // which mouse button is down + wxRect controlsrect; // location of translucent controls + wxRect pasterect; // area to be pasted + wxCursor* oldcursor; // non-NULL if shift key has toggled cursor +-- +2.19.2 + -- cgit v1.2.3