input->grab.count++;
- if ((!input->grab.window) && (input->focus.touch))
+ if ((!input->grab.window) && (input->focus.touch) && input->grab.touch_count == 1)
{
_pointer_cb_enter(data, NULL, serial, surface, x, y);
_ecore_wl2_input_grab(input, input->focus.touch, BTN_LEFT);
if (input->grab.count) input->grab.count--;
if (input->grab.touch_count) input->grab.touch_count--;
if ((input->grab.window) && (input->grab.button == BTN_LEFT) &&
- (!input->grab.count))
+ (!input->grab.count) && !input->grab.touch_count)
_ecore_wl2_input_ungrab(input);
if (input->grab.touch_count == 0) input->focus.touch = NULL;