diff options
author | inmarket <andrewh@inmarket.com.au> | 2013-06-06 16:48:30 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2013-06-06 16:48:30 +1000 |
commit | 663caba66214acdb6170903f6a203740ea1de8b9 (patch) | |
tree | c6e69819bda8766d4d19ec2c9bc449a66b7ac11b /src/gwin/gwidget.c | |
parent | 1db77bda85aabd64eb78edf34e9b4b77e1e7324d (diff) | |
download | uGFX-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.c | 4 |
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; |