aboutsummaryrefslogtreecommitdiffstats
path: root/src/gwin/gwidget.c
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-06-06 16:48:30 +1000
committerinmarket <andrewh@inmarket.com.au>2013-06-06 16:48:30 +1000
commit663caba66214acdb6170903f6a203740ea1de8b9 (patch)
treec6e69819bda8766d4d19ec2c9bc449a66b7ac11b /src/gwin/gwidget.c
parent1db77bda85aabd64eb78edf34e9b4b77e1e7324d (diff)
downloaduGFX-663caba66214acdb6170903f6a203740ea1de8b9.tar.gz
uGFX-663caba66214acdb6170903f6a203740ea1de8b9.tar.bz2
uGFX-663caba66214acdb6170903f6a203740ea1de8b9.zip
GWIN fixes
Diffstat (limited to 'src/gwin/gwidget.c')
-rw-r--r--src/gwin/gwidget.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gwin/gwidget.c b/src/gwin/gwidget.c
index 464210b7..3f23140c 100644
--- a/src/gwin/gwidget.c
+++ b/src/gwin/gwidget.c
@@ -39,7 +39,7 @@ static void gwidgetCallback(void *param, GEvent *pe) {
case GEVENT_TOUCH:
// Are we captured?
if ((gw->g.flags & GWIN_FLG_MOUSECAPTURE)) {
- if (pme->meta == GMETA_MOUSE_UP) {
+ if ((pme->last_buttons & ~pme->current_buttons & GINPUT_MOUSE_BTN_LEFT)) {
gw->g.flags &= ~GWIN_FLG_MOUSECAPTURE;
if (wvmt->MouseUp)
wvmt->MouseUp(gw, pme->x - gw->g.x, pme->y - gw->g.y);
@@ -48,7 +48,7 @@ static void gwidgetCallback(void *param, GEvent *pe) {
wvmt->MouseMove(gw, pme->x - gw->g.x, pme->y - gw->g.y);
// We are not captured - look for mouse downs over the widget
- } else if (pme->meta == GMETA_MOUSE_DOWN
+ } else if ((~pme->last_buttons & pme->current_buttons & GINPUT_MOUSE_BTN_LEFT)
&& pme->x >= gw->g.x && pme->x < gw->g.x + gw->g.width
&& pme->y >= gw->g.y && pme->y < gw->g.y + gw->g.height) {
gw->g.flags |= GWIN_FLG_MOUSECAPTURE;