summaryrefslogtreecommitdiff
path: root/app-misc/golly/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-12-24 14:11:38 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-12-24 14:11:38 +0000
commitde49812990871e1705b64051c35161d5e6400269 (patch)
tree5e1e8fcb0ff4579dbd22a1bfee28a6b97dc8aaeb /app-misc/golly/files
parent536c3711867ec947c1738f2c4b96f22e4863322d (diff)
gentoo resync : 24.12.2018
Diffstat (limited to 'app-misc/golly/files')
-rw-r--r--app-misc/golly/files/golly-3.2-mouse-1.patch63
-rw-r--r--app-misc/golly/files/golly-3.2-mouse-2.patch45
2 files changed, 108 insertions, 0 deletions
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 <rowett@yahoo.com>
+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
+
diff --git a/app-misc/golly/files/golly-3.2-mouse-2.patch b/app-misc/golly/files/golly-3.2-mouse-2.patch
new file mode 100644
index 000000000000..b2655ba6212b
--- /dev/null
+++ b/app-misc/golly/files/golly-3.2-mouse-2.patch
@@ -0,0 +1,45 @@
+From 746f5f6f0c29867ac97516d00fdf58d3496a6687 Mon Sep 17 00:00:00 2001
+From: Chris Rowett <rowett@yahoo.com>
+Date: Wed, 11 Jul 2018 12:44:22 +0100
+Subject: [PATCH] bugfix: clear mousedown flag in mousecapturelost event
+ handler
+
+---
+ gui-wx/wxview.cpp | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+--- a/gui-wx/wxview.cpp
++++ b/gui-wx/wxview.cpp
+@@ -81,9 +81,7 @@ EVT_MIDDLE_DCLICK ( PatternView::OnMouseDown)
+ EVT_LEFT_UP ( PatternView::OnMouseUp)
+ EVT_RIGHT_UP ( PatternView::OnMouseUp)
+ EVT_MIDDLE_UP ( PatternView::OnMouseUp)
+-#if wxCHECK_VERSION(2, 8, 0)
+ EVT_MOUSE_CAPTURE_LOST ( PatternView::OnMouseCaptureLost)
+-#endif
+ EVT_MOTION ( PatternView::OnMouseMotion)
+ EVT_ENTER_WINDOW ( PatternView::OnMouseEnter)
+ EVT_LEAVE_WINDOW ( PatternView::OnMouseExit)
+@@ -2901,18 +2899,15 @@ void PatternView::OnMouseUp(wxMouseEvent& event)
+
+ // -----------------------------------------------------------------------------
+
+-#if wxCHECK_VERSION(2, 8, 0)
+-
+ // mouse capture can be lost on Windows before mouse-up event
+ void PatternView::OnMouseCaptureLost(wxMouseCaptureLostEvent& WXUNUSED(event))
+ {
++ mouseisdown = false;
+ if (drawingcells || selectingcells || movingview || clickedcontrol > NO_CONTROL) {
+ StopDraggingMouse();
+ }
+ }
+
+-#endif
+-
+ // -----------------------------------------------------------------------------
+
+ void PatternView::OnMouseMotion(wxMouseEvent& event)
+--
+2.19.2
+