From 663caba66214acdb6170903f6a203740ea1de8b9 Mon Sep 17 00:00:00 2001 From: inmarket Date: Thu, 6 Jun 2013 16:48:30 +1000 Subject: GWIN fixes --- src/gwin/gwidget.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gwin/gwidget.c') 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; -- cgit v1.2.3