From 4a248e3390a413d2f438d3f1be986968f372b2da Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 3 May 2013 15:51:51 +0200 Subject: Fix renegade mouse click (button release) after double click. --- plugingui/eventhandler.cc | 7 +++++++ plugingui/eventhandler.h | 3 +++ 2 files changed, 10 insertions(+) (limited to 'plugingui') diff --git a/plugingui/eventhandler.cc b/plugingui/eventhandler.cc index 050c2e1..a7aff12 100644 --- a/plugingui/eventhandler.cc +++ b/plugingui/eventhandler.cc @@ -38,6 +38,7 @@ GUI::EventHandler::EventHandler(GlobalContext *gctx) { this->gctx = gctx; last_click = 0; + last_was_dbl_click = false; #ifdef WIN32 this->gctx->eventhandler = this; event = NULL; @@ -481,8 +482,14 @@ void GUI::EventHandler::processEvents(Window *window) break; case Event::Button: { + if(last_was_dbl_click) { + last_was_dbl_click = false; + continue; + } ButtonEvent *be = (ButtonEvent *)event; + last_was_dbl_click = be->doubleclick; + Widget *w = window->find(be->x, be->y); if(window->buttonDownFocus()) { diff --git a/plugingui/eventhandler.h b/plugingui/eventhandler.h index 99be2d4..69586f4 100644 --- a/plugingui/eventhandler.h +++ b/plugingui/eventhandler.h @@ -55,6 +55,9 @@ private: int last_click; void (*closeHandler)(void *); void *closeHandlerPtr; + + // Used to ignore mouse button release after a double click. + bool last_was_dbl_click; }; }; -- cgit v1.2.3