summaryrefslogtreecommitdiff
path: root/plugingui
diff options
context:
space:
mode:
Diffstat (limited to 'plugingui')
-rw-r--r--plugingui/eventhandler.cc7
-rw-r--r--plugingui/eventhandler.h3
2 files changed, 10 insertions, 0 deletions
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;
};
};