diff options
Diffstat (limited to 'src/gestures-drag.c')
| -rw-r--r-- | src/gestures-drag.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gestures-drag.c b/src/gestures-drag.c index 05272da..9f2bcaf 100644 --- a/src/gestures-drag.c +++ b/src/gestures-drag.c | |||
| @@ -72,6 +72,13 @@ int gru_drag(struct grail *ge, | |||
| 72 | state->active = 0; | 72 | state->active = 0; |
| 73 | } | 73 | } |
| 74 | } | 74 | } |
| 75 | if ((move->timeout & fm_mask) == fm_mask) { | ||
| 76 | if (state->active) { | ||
| 77 | gin_gid_discard(ge, state->gid); | ||
| 78 | state->active = 0; | ||
| 79 | } | ||
| 80 | return 0; | ||
| 81 | } | ||
| 75 | if (!state->active) { | 82 | if (!state->active) { |
| 76 | int type = getype[move->ntouch]; | 83 | int type = getype[move->ntouch]; |
| 77 | if (type < 0) | 84 | if (type < 0) |
| @@ -102,6 +109,13 @@ int gru_windrag(struct grail *ge, | |||
| 102 | state->active = 0; | 109 | state->active = 0; |
| 103 | } | 110 | } |
| 104 | } | 111 | } |
| 112 | if ((move->timeout & fm_mask) == fm_mask) { | ||
| 113 | if (state->active) { | ||
| 114 | gin_gid_discard(ge, state->gid); | ||
| 115 | state->active = 0; | ||
| 116 | } | ||
| 117 | return 0; | ||
| 118 | } | ||
| 105 | if (!state->active) { | 119 | if (!state->active) { |
| 106 | if (move->ntouch == 4) { | 120 | if (move->ntouch == 4) { |
| 107 | state->gid = gin_gid_begin(ge, GRAIL_TYPE_MDRAG, | 121 | state->gid = gin_gid_begin(ge, GRAIL_TYPE_MDRAG, |
