Merge lp:~dandrader/grail/lp944901 into lp:grail

Proposed by Daniel d'Andrada
Status: Merged
Merge reported by: Daniel d'Andrada
Merged at revision: not available
Proposed branch: lp:~dandrader/grail/lp944901
Merge into: lp:grail
Diff against target: 1267 lines (+1219/-1)
6 files modified
src/v3/slice.cpp (+2/-0)
src/v3/subscription.cpp (+1/-1)
test/Makefile.am (+1/-0)
test/recordings/apple-wireless-trackpad.prop (+32/-0)
test/recordings/apple-wtrackpad-4fingers-drag.event (+965/-0)
test/x11/no-tap-after-drag.cpp (+218/-0)
To merge this branch: bzr merge lp:~dandrader/grail/lp944901
Reviewer Review Type Date Requested Status
Chase Douglas (community) Approve
Review via email: mp+96173@code.launchpad.net

Description of the change

Fix for lp:944901 + regression test.

To post a comment you must log in.
Revision history for this message
Chase Douglas (chasedouglas) wrote :

Looks good!

The test comment says:

This test plays a four-touches' drag and checks that no Tap gesture gets recognized. Two subscriptions are used: An atomic 4-touches drag and and an atomic 4-touches tap.

This seems to imply that only atomic gestures are checked. The file actually has two tests, one for atomic and one for regular subscriptions. Please update the comment with this info. Once that's done, feel free to merge.

review: Approve
lp:~dandrader/grail/lp944901 updated
192. By Daniel d'Andrada

Regression test for lp:944901

It checks that an actual drag gesture never causes a tap to be recognized.

On bug lp:944901, besides the drag gesture recognition, a tap gesture would
also get recognized.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/v3/slice.cpp'
2--- src/v3/slice.cpp 2012-01-30 20:52:34 +0000
3+++ src/v3/slice.cpp 2012-03-06 20:11:19 +0000
4@@ -475,6 +475,8 @@
5
6 if ((subscription.mask() & UGGestureTypeTap) &&
7 CumulativeTime() < subscription.tap().timeout &&
8+ CumulativeDrag2() < (subscription.tap().threshold *
9+ subscription.tap().threshold) &&
10 state_ == UGGestureStateEnd)
11 recognized_ |= UGGestureTypeTap;
12
13
14=== modified file 'src/v3/subscription.cpp'
15--- src/v3/subscription.cpp 2012-01-30 20:56:06 +0000
16+++ src/v3/subscription.cpp 2012-03-06 20:11:19 +0000
17@@ -36,7 +36,7 @@
18 drag_({300, 0.0026}), /* Units are in meters */
19 pinch_({300, 1.1}), /* Different from grail v1, ratio instead of delta */
20 rotate_({500, 2 * M_PI / 50}),
21- tap_({300, 0}),
22+ tap_({300, 0.0026}),
23 atomic_(false) {
24 }
25
26
27=== modified file 'test/Makefile.am'
28--- test/Makefile.am 2012-03-06 08:21:35 +0000
29+++ test/Makefile.am 2012-03-06 20:11:19 +0000
30@@ -29,6 +29,7 @@
31 recording.h \
32 x11/fixture.cpp \
33 x11/fixture.h \
34+ x11/no-tap-after-drag.cpp \
35 x11/twodrag.cpp \
36 x11/dragthresh.cpp \
37 x11/timeout.cpp
38
39=== added file 'test/recordings/apple-wireless-trackpad.prop'
40--- test/recordings/apple-wireless-trackpad.prop 1970-01-01 00:00:00 +0000
41+++ test/recordings/apple-wireless-trackpad.prop 2012-03-06 20:11:19 +0000
42@@ -0,0 +1,32 @@
43+N: Apple Wireless Trackpad
44+I: 0005 05ac 030e 0160
45+P: 00 00 00 00 00 00 00 00
46+B: 00 1b 00 00 00 00 00 00 00
47+B: 01 00 00 00 00 00 00 00 00
48+B: 01 00 00 00 00 00 00 00 00
49+B: 01 00 00 00 00 00 00 00 00
50+B: 01 00 00 00 00 00 00 00 00
51+B: 01 03 00 01 00 00 00 00 00
52+B: 01 20 e4 00 00 00 00 00 00
53+B: 01 00 00 00 00 00 00 00 00
54+B: 01 00 00 00 00 00 00 00 00
55+B: 01 00 00 00 00 00 00 00 00
56+B: 01 00 00 00 00 00 00 00 00
57+B: 01 00 00 00 00 00 00 00 00
58+B: 01 00 00 00 00 00 00 00 00
59+B: 02 00 00 00 00 00 00 00 00
60+B: 03 03 00 00 00 00 00 73 02
61+B: 04 10 00 00 00 00 00 00 00
62+B: 05 00 00 00 00 00 00 00 00
63+B: 11 00 00 00 00 00 00 00 00
64+B: 12 00 00 00 00 00 00 00 00
65+B: 15 00 00 00 00 00 00 00 00
66+B: 15 00 00 00 00 00 00 00 00
67+A: 00 -2909 3167 4 0
68+A: 01 -2456 2565 4 0
69+A: 30 0 255 4 0
70+A: 31 0 255 4 0
71+A: 34 -31 32 1 0
72+A: 35 -2909 3167 4 0
73+A: 36 -2456 2565 4 0
74+A: 39 0 15 0 0
75
76=== added file 'test/recordings/apple-wtrackpad-4fingers-drag.event'
77--- test/recordings/apple-wtrackpad-4fingers-drag.event 1970-01-01 00:00:00 +0000
78+++ test/recordings/apple-wtrackpad-4fingers-drag.event 2012-03-06 20:11:19 +0000
79@@ -0,0 +1,965 @@
80+E: 1330629392.266410 0003 0039 1
81+E: 1330629392.266411 0003 0030 48
82+E: 1330629392.266412 0003 0031 72
83+E: 1330629392.266412 0003 0034 0
84+E: 1330629392.266413 0003 0035 -2447
85+E: 1330629392.266414 0003 0036 1425
86+E: 1330629392.266414 0000 0002 0
87+E: 1330629392.266415 0003 0039 4
88+E: 1330629392.266416 0003 0030 96
89+E: 1330629392.266416 0003 0031 68
90+E: 1330629392.266417 0003 0034 0
91+E: 1330629392.266417 0003 0035 -1943
92+E: 1330629392.266418 0003 0036 -1101
93+E: 1330629392.266419 0000 0002 0
94+E: 1330629392.266419 0003 0039 8
95+E: 1330629392.266420 0003 0030 48
96+E: 1330629392.266421 0003 0031 52
97+E: 1330629392.266421 0003 0034 14
98+E: 1330629392.266422 0003 0035 -2366
99+E: 1330629392.266422 0003 0036 281
100+E: 1330629392.266423 0000 0002 0
101+E: 1330629392.266424 0001 014a 1
102+E: 1330629392.266425 0001 014e 1
103+E: 1330629392.266427 0003 0000 -2447
104+E: 1330629392.266427 0003 0001 1425
105+E: 1330629392.266428 0000 0000 0
106+E: 1330629392.268914 0003 0039 1
107+E: 1330629392.268915 0003 0030 56
108+E: 1330629392.268916 0003 0031 76
109+E: 1330629392.268917 0003 0034 0
110+E: 1330629392.268917 0003 0035 -2447
111+E: 1330629392.268918 0003 0036 1430
112+E: 1330629392.268919 0000 0002 0
113+E: 1330629392.268919 0003 0039 4
114+E: 1330629392.268920 0003 0030 112
115+E: 1330629392.268920 0003 0031 92
116+E: 1330629392.268921 0003 0034 0
117+E: 1330629392.268922 0003 0035 -1936
118+E: 1330629392.268922 0003 0036 -1102
119+E: 1330629392.268923 0000 0002 0
120+E: 1330629392.268924 0003 0039 8
121+E: 1330629392.268924 0003 0030 64
122+E: 1330629392.268925 0003 0031 68
123+E: 1330629392.268925 0003 0034 0
124+E: 1330629392.268926 0003 0035 -2345
125+E: 1330629392.268927 0003 0036 280
126+E: 1330629392.268927 0000 0002 0
127+E: 1330629392.268931 0003 0001 1427
128+E: 1330629392.268932 0000 0000 0
129+E: 1330629392.288918 0003 0039 1
130+E: 1330629392.288919 0003 0030 60
131+E: 1330629392.288920 0003 0031 80
132+E: 1330629392.288920 0003 0034 0
133+E: 1330629392.288921 0003 0035 -2439
134+E: 1330629392.288921 0003 0036 1432
135+E: 1330629392.288922 0000 0002 0
136+E: 1330629392.288923 0003 0039 4
137+E: 1330629392.288923 0003 0030 132
138+E: 1330629392.288924 0003 0031 132
139+E: 1330629392.288924 0003 0034 0
140+E: 1330629392.288925 0003 0035 -1929
141+E: 1330629392.288926 0003 0036 -1103
142+E: 1330629392.288926 0000 0002 0
143+E: 1330629392.288927 0003 0039 8
144+E: 1330629392.288927 0003 0030 76
145+E: 1330629392.288928 0003 0031 84
146+E: 1330629392.288929 0003 0034 0
147+E: 1330629392.288929 0003 0035 -2326
148+E: 1330629392.288930 0003 0036 280
149+E: 1330629392.288930 0000 0002 0
150+E: 1330629392.288931 0003 0039 11
151+E: 1330629392.288932 0003 0030 124
152+E: 1330629392.288932 0003 0031 220
153+E: 1330629392.288933 0003 0034 14
154+E: 1330629392.288934 0003 0035 -871
155+E: 1330629392.288934 0003 0036 -1684
156+E: 1330629392.288935 0000 0002 0
157+E: 1330629392.288937 0001 014e 0
158+E: 1330629392.288937 0001 014f 1
159+E: 1330629392.288938 0003 0000 -2439
160+E: 1330629392.288939 0003 0001 1429
161+E: 1330629392.288939 0000 0000 0
162+E: 1330629392.291410 0003 0039 1
163+E: 1330629392.291411 0003 0030 68
164+E: 1330629392.291411 0003 0031 92
165+E: 1330629392.291412 0003 0034 0
166+E: 1330629392.291413 0003 0035 -2423
167+E: 1330629392.291413 0003 0036 1433
168+E: 1330629392.291414 0000 0002 0
169+E: 1330629392.291415 0003 0039 4
170+E: 1330629392.291415 0003 0030 148
171+E: 1330629392.291416 0003 0031 168
172+E: 1330629392.291416 0003 0034 0
173+E: 1330629392.291417 0003 0035 -1906
174+E: 1330629392.291418 0003 0036 -1108
175+E: 1330629392.291418 0000 0002 0
176+E: 1330629392.291419 0003 0039 8
177+E: 1330629392.291419 0003 0030 84
178+E: 1330629392.291420 0003 0031 88
179+E: 1330629392.291421 0003 0034 0
180+E: 1330629392.291421 0003 0035 -2295
181+E: 1330629392.291422 0003 0036 281
182+E: 1330629392.291423 0000 0002 0
183+E: 1330629392.291423 0003 0039 11
184+E: 1330629392.291424 0003 0030 124
185+E: 1330629392.291425 0003 0031 208
186+E: 1330629392.291425 0003 0034 0
187+E: 1330629392.291426 0003 0035 -835
188+E: 1330629392.291426 0003 0036 -1692
189+E: 1330629392.291427 0000 0002 0
190+E: 1330629392.291430 0003 0000 -2423
191+E: 1330629392.291430 0003 0001 1431
192+E: 1330629392.291431 0000 0000 0
193+E: 1330629392.311420 0003 0039 1
194+E: 1330629392.311420 0003 0030 68
195+E: 1330629392.311421 0003 0031 92
196+E: 1330629392.311422 0003 0034 0
197+E: 1330629392.311422 0003 0035 -2391
198+E: 1330629392.311423 0003 0036 1434
199+E: 1330629392.311424 0000 0002 0
200+E: 1330629392.311424 0003 0039 4
201+E: 1330629392.311425 0003 0030 156
202+E: 1330629392.311426 0003 0031 188
203+E: 1330629392.311426 0003 0034 0
204+E: 1330629392.311427 0003 0035 -1871
205+E: 1330629392.311427 0003 0036 -1114
206+E: 1330629392.311428 0000 0002 0
207+E: 1330629392.311429 0003 0039 8
208+E: 1330629392.311429 0003 0030 88
209+E: 1330629392.311430 0003 0031 80
210+E: 1330629392.311431 0003 0034 0
211+E: 1330629392.311431 0003 0035 -2266
212+E: 1330629392.311432 0003 0036 284
213+E: 1330629392.311433 0000 0002 0
214+E: 1330629392.311433 0003 0039 11
215+E: 1330629392.311434 0003 0030 120
216+E: 1330629392.311434 0003 0031 228
217+E: 1330629392.311435 0003 0034 0
218+E: 1330629392.311436 0003 0035 -757
219+E: 1330629392.311436 0003 0036 -1701
220+E: 1330629392.311437 0000 0002 0
221+E: 1330629392.311440 0003 0000 -2391
222+E: 1330629392.311441 0000 0000 0
223+E: 1330629392.313911 0003 0039 1
224+E: 1330629392.313912 0003 0030 68
225+E: 1330629392.313912 0003 0031 88
226+E: 1330629392.313913 0003 0034 0
227+E: 1330629392.313913 0003 0035 -2353
228+E: 1330629392.313914 0003 0036 1431
229+E: 1330629392.313915 0000 0002 0
230+E: 1330629392.313915 0003 0039 4
231+E: 1330629392.313916 0003 0030 144
232+E: 1330629392.313917 0003 0031 168
233+E: 1330629392.313917 0003 0034 0
234+E: 1330629392.313918 0003 0035 -1824
235+E: 1330629392.313918 0003 0036 -1121
236+E: 1330629392.313919 0000 0002 0
237+E: 1330629392.313920 0003 0039 8
238+E: 1330629392.313920 0003 0030 88
239+E: 1330629392.313921 0003 0031 76
240+E: 1330629392.313922 0003 0034 0
241+E: 1330629392.313922 0003 0035 -2221
242+E: 1330629392.313923 0003 0036 281
243+E: 1330629392.313924 0000 0002 0
244+E: 1330629392.313924 0003 0039 11
245+E: 1330629392.313925 0003 0030 120
246+E: 1330629392.313925 0003 0031 224
247+E: 1330629392.313926 0003 0034 0
248+E: 1330629392.313927 0003 0035 -685
249+E: 1330629392.313927 0003 0036 -1713
250+E: 1330629392.313928 0000 0002 0
251+E: 1330629392.313931 0003 0000 -2353
252+E: 1330629392.313932 0000 0000 0
253+E: 1330629392.320167 0003 0039 1
254+E: 1330629392.320168 0003 0030 72
255+E: 1330629392.320169 0003 0031 100
256+E: 1330629392.320169 0003 0034 0
257+E: 1330629392.320170 0003 0035 -2308
258+E: 1330629392.320171 0003 0036 1428
259+E: 1330629392.320171 0000 0002 0
260+E: 1330629392.320172 0003 0039 4
261+E: 1330629392.320173 0003 0030 148
262+E: 1330629392.320173 0003 0031 184
263+E: 1330629392.320174 0003 0034 0
264+E: 1330629392.320174 0003 0035 -1773
265+E: 1330629392.320175 0003 0036 -1129
266+E: 1330629392.320176 0000 0002 0
267+E: 1330629392.320176 0003 0039 8
268+E: 1330629392.320177 0003 0030 112
269+E: 1330629392.320178 0003 0031 96
270+E: 1330629392.320178 0003 0034 0
271+E: 1330629392.320179 0003 0035 -2170
272+E: 1330629392.320179 0003 0036 277
273+E: 1330629392.320180 0000 0002 0
274+E: 1330629392.320181 0003 0039 11
275+E: 1330629392.320181 0003 0030 132
276+E: 1330629392.320182 0003 0031 232
277+E: 1330629392.320183 0003 0034 0
278+E: 1330629392.320183 0003 0035 -612
279+E: 1330629392.320184 0003 0036 -1720
280+E: 1330629392.320185 0000 0002 0
281+E: 1330629392.320187 0003 0000 -2308
282+E: 1330629392.320188 0003 0001 1430
283+E: 1330629392.320188 0000 0000 0
284+E: 1330629392.340167 0003 0039 1
285+E: 1330629392.340169 0003 0030 88
286+E: 1330629392.340169 0003 0031 108
287+E: 1330629392.340170 0003 0034 0
288+E: 1330629392.340170 0003 0035 -2261
289+E: 1330629392.340171 0003 0036 1425
290+E: 1330629392.340172 0000 0002 0
291+E: 1330629392.340173 0003 0039 4
292+E: 1330629392.340173 0003 0030 164
293+E: 1330629392.340174 0003 0031 216
294+E: 1330629392.340174 0003 0034 0
295+E: 1330629392.340175 0003 0035 -1719
296+E: 1330629392.340176 0003 0036 -1134
297+E: 1330629392.340176 0000 0002 0
298+E: 1330629392.340177 0003 0039 8
299+E: 1330629392.340178 0003 0030 140
300+E: 1330629392.340178 0003 0031 100
301+E: 1330629392.340179 0003 0034 0
302+E: 1330629392.340179 0003 0035 -2113
303+E: 1330629392.340180 0003 0036 275
304+E: 1330629392.340181 0000 0002 0
305+E: 1330629392.340181 0003 0039 11
306+E: 1330629392.340182 0003 0030 136
307+E: 1330629392.340183 0003 0031 224
308+E: 1330629392.340183 0003 0034 0
309+E: 1330629392.340184 0003 0035 -534
310+E: 1330629392.340184 0003 0036 -1730
311+E: 1330629392.340185 0000 0002 0
312+E: 1330629392.340188 0003 0000 -2261
313+E: 1330629392.340188 0003 0001 1427
314+E: 1330629392.340189 0000 0000 0
315+E: 1330629392.342784 0003 0039 1
316+E: 1330629392.342785 0003 0030 84
317+E: 1330629392.342786 0003 0031 100
318+E: 1330629392.342786 0003 0034 0
319+E: 1330629392.342787 0003 0035 -2207
320+E: 1330629392.342787 0003 0036 1422
321+E: 1330629392.342788 0000 0002 0
322+E: 1330629392.342789 0003 0039 4
323+E: 1330629392.342790 0003 0030 152
324+E: 1330629392.342790 0003 0031 192
325+E: 1330629392.342791 0003 0034 0
326+E: 1330629392.342791 0003 0035 -1659
327+E: 1330629392.342792 0003 0036 -1138
328+E: 1330629392.342793 0000 0002 0
329+E: 1330629392.342793 0003 0039 8
330+E: 1330629392.342794 0003 0030 120
331+E: 1330629392.342795 0003 0031 100
332+E: 1330629392.342795 0003 0034 0
333+E: 1330629392.342796 0003 0035 -2053
334+E: 1330629392.342796 0003 0036 273
335+E: 1330629392.342797 0000 0002 0
336+E: 1330629392.342798 0003 0039 11
337+E: 1330629392.342798 0003 0030 128
338+E: 1330629392.342799 0003 0031 232
339+E: 1330629392.342800 0003 0034 0
340+E: 1330629392.342800 0003 0035 -454
341+E: 1330629392.342801 0003 0036 -1738
342+E: 1330629392.342801 0000 0002 0
343+E: 1330629392.342804 0003 0000 -2207
344+E: 1330629392.342805 0003 0001 1424
345+E: 1330629392.342805 0000 0000 0
346+E: 1330629392.362788 0003 0039 1
347+E: 1330629392.362790 0003 0030 80
348+E: 1330629392.362790 0003 0031 112
349+E: 1330629392.362791 0003 0034 0
350+E: 1330629392.362791 0003 0035 -2127
351+E: 1330629392.362792 0003 0036 1421
352+E: 1330629392.362793 0000 0002 0
353+E: 1330629392.362793 0003 0039 4
354+E: 1330629392.362794 0003 0030 160
355+E: 1330629392.362795 0003 0031 204
356+E: 1330629392.362795 0003 0034 0
357+E: 1330629392.362796 0003 0035 -1572
358+E: 1330629392.362797 0003 0036 -1143
359+E: 1330629392.362797 0000 0002 0
360+E: 1330629392.362798 0003 0039 8
361+E: 1330629392.362798 0003 0030 140
362+E: 1330629392.362799 0003 0031 112
363+E: 1330629392.362800 0003 0034 0
364+E: 1330629392.362800 0003 0035 -1989
365+E: 1330629392.362801 0003 0036 273
366+E: 1330629392.362802 0000 0002 0
367+E: 1330629392.362802 0003 0039 11
368+E: 1330629392.362803 0003 0030 140
369+E: 1330629392.362804 0003 0031 264
370+E: 1330629392.362804 0003 0034 0
371+E: 1330629392.362805 0003 0035 -373
372+E: 1330629392.362805 0003 0036 -1742
373+E: 1330629392.362806 0000 0002 0
374+E: 1330629392.362809 0003 0000 -2127
375+E: 1330629392.362809 0003 0001 1423
376+E: 1330629392.362810 0000 0000 0
377+E: 1330629392.365166 0003 0039 1
378+E: 1330629392.365167 0003 0030 84
379+E: 1330629392.365167 0003 0031 112
380+E: 1330629392.365168 0003 0034 0
381+E: 1330629392.365169 0003 0035 -2008
382+E: 1330629392.365169 0003 0036 1418
383+E: 1330629392.365170 0000 0002 0
384+E: 1330629392.365171 0003 0039 4
385+E: 1330629392.365171 0003 0030 160
386+E: 1330629392.365172 0003 0031 212
387+E: 1330629392.365173 0003 0034 0
388+E: 1330629392.365173 0003 0035 -1442
389+E: 1330629392.365174 0003 0036 -1147
390+E: 1330629392.365174 0000 0002 0
391+E: 1330629392.365175 0003 0039 8
392+E: 1330629392.365176 0003 0030 120
393+E: 1330629392.365176 0003 0031 104
394+E: 1330629392.365177 0003 0034 0
395+E: 1330629392.365178 0003 0035 -1861
396+E: 1330629392.365178 0003 0036 272
397+E: 1330629392.365179 0000 0002 0
398+E: 1330629392.365179 0003 0039 11
399+E: 1330629392.365180 0003 0030 156
400+E: 1330629392.365181 0003 0031 276
401+E: 1330629392.365181 0003 0034 0
402+E: 1330629392.365182 0003 0035 -288
403+E: 1330629392.365183 0003 0036 -1745
404+E: 1330629392.365183 0000 0002 0
405+E: 1330629392.365186 0003 0000 -2008
406+E: 1330629392.365186 0003 0001 1420
407+E: 1330629392.365187 0000 0000 0
408+E: 1330629392.371393 0003 0039 1
409+E: 1330629392.371394 0003 0030 84
410+E: 1330629392.371394 0003 0031 120
411+E: 1330629392.371395 0003 0034 0
412+E: 1330629392.371395 0003 0035 -1904
413+E: 1330629392.371395 0003 0036 1418
414+E: 1330629392.371396 0000 0002 0
415+E: 1330629392.371396 0003 0039 4
416+E: 1330629392.371397 0003 0030 164
417+E: 1330629392.371397 0003 0031 220
418+E: 1330629392.371398 0003 0034 0
419+E: 1330629392.371398 0003 0035 -1332
420+E: 1330629392.371398 0003 0036 -1147
421+E: 1330629392.371399 0000 0002 0
422+E: 1330629392.371399 0003 0039 8
423+E: 1330629392.371400 0003 0030 140
424+E: 1330629392.371400 0003 0031 116
425+E: 1330629392.371400 0003 0034 0
426+E: 1330629392.371401 0003 0035 -1751
427+E: 1330629392.371401 0003 0036 272
428+E: 1330629392.371402 0000 0002 0
429+E: 1330629392.371402 0003 0039 11
430+E: 1330629392.371402 0003 0030 164
431+E: 1330629392.371403 0003 0031 280
432+E: 1330629392.371403 0003 0034 0
433+E: 1330629392.371404 0003 0035 -161
434+E: 1330629392.371404 0003 0036 -1750
435+E: 1330629392.371404 0000 0002 0
436+E: 1330629392.371406 0003 0000 -1904
437+E: 1330629392.371407 0003 0001 1419
438+E: 1330629392.371407 0000 0000 0
439+E: 1330629392.391419 0003 0039 1
440+E: 1330629392.391420 0003 0030 108
441+E: 1330629392.391421 0003 0031 128
442+E: 1330629392.391422 0003 0034 0
443+E: 1330629392.391422 0003 0035 -1788
444+E: 1330629392.391423 0003 0036 1417
445+E: 1330629392.391423 0000 0002 0
446+E: 1330629392.391424 0003 0039 4
447+E: 1330629392.391425 0003 0030 200
448+E: 1330629392.391425 0003 0031 232
449+E: 1330629392.391426 0003 0034 22
450+E: 1330629392.391427 0003 0035 -1210
451+E: 1330629392.391427 0003 0036 -1143
452+E: 1330629392.391428 0000 0002 0
453+E: 1330629392.391429 0003 0039 8
454+E: 1330629392.391429 0003 0030 132
455+E: 1330629392.391430 0003 0031 112
456+E: 1330629392.391430 0003 0034 0
457+E: 1330629392.391431 0003 0035 -1631
458+E: 1330629392.391432 0003 0036 276
459+E: 1330629392.391432 0000 0002 0
460+E: 1330629392.391433 0003 0039 11
461+E: 1330629392.391434 0003 0030 192
462+E: 1330629392.391434 0003 0031 312
463+E: 1330629392.391435 0003 0034 0
464+E: 1330629392.391435 0003 0035 -27
465+E: 1330629392.391436 0003 0036 -1753
466+E: 1330629392.391437 0000 0002 0
467+E: 1330629392.391439 0003 0000 -1788
468+E: 1330629392.391440 0003 0001 1418
469+E: 1330629392.391441 0000 0000 0
470+E: 1330629392.393906 0003 0039 1
471+E: 1330629392.393907 0003 0030 92
472+E: 1330629392.393908 0003 0031 124
473+E: 1330629392.393908 0003 0034 0
474+E: 1330629392.393909 0003 0035 -1665
475+E: 1330629392.393909 0003 0036 1417
476+E: 1330629392.393910 0000 0002 0
477+E: 1330629392.393911 0003 0039 4
478+E: 1330629392.393911 0003 0030 200
479+E: 1330629392.393912 0003 0031 248
480+E: 1330629392.393913 0003 0034 0
481+E: 1330629392.393913 0003 0035 -1034
482+E: 1330629392.393914 0003 0036 -1138
483+E: 1330629392.393914 0000 0002 0
484+E: 1330629392.393915 0003 0039 8
485+E: 1330629392.393916 0003 0030 132
486+E: 1330629392.393916 0003 0031 116
487+E: 1330629392.393917 0003 0034 0
488+E: 1330629392.393918 0003 0035 -1503
489+E: 1330629392.393918 0003 0036 278
490+E: 1330629392.393919 0000 0002 0
491+E: 1330629392.393920 0003 0039 11
492+E: 1330629392.393920 0003 0030 192
493+E: 1330629392.393921 0003 0031 308
494+E: 1330629392.393921 0003 0034 0
495+E: 1330629392.393922 0003 0035 162
496+E: 1330629392.393923 0003 0036 -1757
497+E: 1330629392.393923 0000 0002 0
498+E: 1330629392.393926 0003 0000 -1665
499+E: 1330629392.393927 0000 0000 0
500+E: 1330629392.401407 0003 0039 1
501+E: 1330629392.401408 0003 0030 88
502+E: 1330629392.401409 0003 0031 116
503+E: 1330629392.401409 0003 0034 0
504+E: 1330629392.401410 0003 0035 -1485
505+E: 1330629392.401410 0003 0036 1415
506+E: 1330629392.401411 0000 0002 0
507+E: 1330629392.401412 0003 0039 4
508+E: 1330629392.401412 0003 0030 196
509+E: 1330629392.401413 0003 0031 240
510+E: 1330629392.401414 0003 0034 0
511+E: 1330629392.401414 0003 0035 -880
512+E: 1330629392.401415 0003 0036 -1135
513+E: 1330629392.401416 0000 0002 0
514+E: 1330629392.401416 0003 0039 8
515+E: 1330629392.401417 0003 0030 132
516+E: 1330629392.401418 0003 0031 120
517+E: 1330629392.401418 0003 0034 0
518+E: 1330629392.401419 0003 0035 -1320
519+E: 1330629392.401419 0003 0036 280
520+E: 1330629392.401420 0000 0002 0
521+E: 1330629392.401421 0003 0039 11
522+E: 1330629392.401421 0003 0030 200
523+E: 1330629392.401422 0003 0031 296
524+E: 1330629392.401423 0003 0034 0
525+E: 1330629392.401423 0003 0035 317
526+E: 1330629392.401424 0003 0036 -1759
527+E: 1330629392.401424 0000 0002 0
528+E: 1330629392.401427 0003 0000 -1485
529+E: 1330629392.401428 0003 0001 1417
530+E: 1330629392.401428 0000 0000 0
531+E: 1330629392.421393 0003 0039 1
532+E: 1330629392.421394 0003 0030 92
533+E: 1330629392.421394 0003 0031 116
534+E: 1330629392.421395 0003 0034 0
535+E: 1330629392.421395 0003 0035 -1385
536+E: 1330629392.421396 0003 0036 1415
537+E: 1330629392.421396 0000 0002 0
538+E: 1330629392.421397 0003 0039 4
539+E: 1330629392.421397 0003 0030 176
540+E: 1330629392.421397 0003 0031 212
541+E: 1330629392.421398 0003 0034 0
542+E: 1330629392.421398 0003 0035 -712
543+E: 1330629392.421399 0003 0036 -1131
544+E: 1330629392.421399 0000 0002 0
545+E: 1330629392.421399 0003 0039 8
546+E: 1330629392.421400 0003 0030 124
547+E: 1330629392.421400 0003 0031 96
548+E: 1330629392.421401 0003 0034 0
549+E: 1330629392.421401 0003 0035 -1165
550+E: 1330629392.421401 0003 0036 281
551+E: 1330629392.421402 0000 0002 0
552+E: 1330629392.421402 0003 0039 11
553+E: 1330629392.421403 0003 0030 204
554+E: 1330629392.421403 0003 0031 304
555+E: 1330629392.421403 0003 0034 0
556+E: 1330629392.421404 0003 0035 481
557+E: 1330629392.421404 0003 0036 -1761
558+E: 1330629392.421405 0000 0002 0
559+E: 1330629392.421406 0003 0000 -1385
560+E: 1330629392.421407 0003 0001 1416
561+E: 1330629392.421407 0000 0000 0
562+E: 1330629392.423912 0003 0039 1
563+E: 1330629392.423913 0003 0030 92
564+E: 1330629392.423914 0003 0031 116
565+E: 1330629392.423914 0003 0034 0
566+E: 1330629392.423915 0003 0035 -1180
567+E: 1330629392.423915 0003 0036 1414
568+E: 1330629392.423916 0000 0002 0
569+E: 1330629392.423917 0003 0039 4
570+E: 1330629392.423918 0003 0030 184
571+E: 1330629392.423918 0003 0031 212
572+E: 1330629392.423919 0003 0034 0
573+E: 1330629392.423919 0003 0035 -531
574+E: 1330629392.423920 0003 0036 -1129
575+E: 1330629392.423921 0000 0002 0
576+E: 1330629392.423921 0003 0039 8
577+E: 1330629392.423922 0003 0030 140
578+E: 1330629392.423923 0003 0031 112
579+E: 1330629392.423923 0003 0034 0
580+E: 1330629392.423924 0003 0035 -995
581+E: 1330629392.423924 0003 0036 282
582+E: 1330629392.423925 0000 0002 0
583+E: 1330629392.423926 0003 0039 11
584+E: 1330629392.423926 0003 0030 192
585+E: 1330629392.423927 0003 0031 300
586+E: 1330629392.423928 0003 0034 0
587+E: 1330629392.423928 0003 0035 659
588+E: 1330629392.423929 0003 0036 -1761
589+E: 1330629392.423929 0000 0002 0
590+E: 1330629392.423932 0003 0000 -1180
591+E: 1330629392.423933 0003 0001 1415
592+E: 1330629392.423933 0000 0000 0
593+E: 1330629392.443913 0003 0039 1
594+E: 1330629392.443914 0003 0030 96
595+E: 1330629392.443915 0003 0031 120
596+E: 1330629392.443915 0003 0034 0
597+E: 1330629392.443916 0003 0035 -1007
598+E: 1330629392.443917 0003 0036 1414
599+E: 1330629392.443917 0000 0002 0
600+E: 1330629392.443918 0003 0039 4
601+E: 1330629392.443919 0003 0030 204
602+E: 1330629392.443919 0003 0031 244
603+E: 1330629392.443920 0003 0034 0
604+E: 1330629392.443920 0003 0035 -339
605+E: 1330629392.443921 0003 0036 -1127
606+E: 1330629392.443922 0000 0002 0
607+E: 1330629392.443922 0003 0039 8
608+E: 1330629392.443923 0003 0030 144
609+E: 1330629392.443924 0003 0031 116
610+E: 1330629392.443924 0003 0034 0
611+E: 1330629392.443925 0003 0035 -812
612+E: 1330629392.443926 0003 0036 283
613+E: 1330629392.443926 0000 0002 0
614+E: 1330629392.443927 0003 0039 11
615+E: 1330629392.443927 0003 0030 200
616+E: 1330629392.443928 0003 0031 308
617+E: 1330629392.443929 0003 0034 0
618+E: 1330629392.443929 0003 0035 850
619+E: 1330629392.443930 0003 0036 -1760
620+E: 1330629392.443931 0000 0002 0
621+E: 1330629392.443933 0003 0000 -1007
622+E: 1330629392.443934 0000 0000 0
623+E: 1330629392.446422 0003 0039 1
624+E: 1330629392.446423 0003 0030 104
625+E: 1330629392.446424 0003 0031 116
626+E: 1330629392.446425 0003 0034 0
627+E: 1330629392.446425 0003 0035 -823
628+E: 1330629392.446426 0003 0036 1413
629+E: 1330629392.446427 0000 0002 0
630+E: 1330629392.446427 0003 0039 4
631+E: 1330629392.446428 0003 0030 220
632+E: 1330629392.446428 0003 0031 260
633+E: 1330629392.446429 0003 0034 0
634+E: 1330629392.446430 0003 0035 -137
635+E: 1330629392.446430 0003 0036 -1124
636+E: 1330629392.446431 0000 0002 0
637+E: 1330629392.446432 0003 0039 8
638+E: 1330629392.446432 0003 0030 128
639+E: 1330629392.446433 0003 0031 120
640+E: 1330629392.446433 0003 0034 0
641+E: 1330629392.446434 0003 0035 -619
642+E: 1330629392.446435 0003 0036 284
643+E: 1330629392.446435 0000 0002 0
644+E: 1330629392.446436 0003 0039 11
645+E: 1330629392.446437 0003 0030 200
646+E: 1330629392.446437 0003 0031 316
647+E: 1330629392.446438 0003 0034 0
648+E: 1330629392.446438 0003 0035 1122
649+E: 1330629392.446439 0003 0036 -1758
650+E: 1330629392.446440 0000 0002 0
651+E: 1330629392.446442 0003 0000 -823
652+E: 1330629392.446443 0003 0001 1414
653+E: 1330629392.446444 0000 0000 0
654+E: 1330629392.452767 0003 0039 1
655+E: 1330629392.452768 0003 0030 112
656+E: 1330629392.452768 0003 0031 112
657+E: 1330629392.452769 0003 0034 0
658+E: 1330629392.452769 0003 0035 -627
659+E: 1330629392.452769 0003 0036 1413
660+E: 1330629392.452770 0000 0002 0
661+E: 1330629392.452770 0003 0039 4
662+E: 1330629392.452771 0003 0030 212
663+E: 1330629392.452771 0003 0031 264
664+E: 1330629392.452771 0003 0034 0
665+E: 1330629392.452772 0003 0035 148
666+E: 1330629392.452772 0003 0036 -1121
667+E: 1330629392.452773 0000 0002 0
668+E: 1330629392.452773 0003 0039 8
669+E: 1330629392.452774 0003 0030 148
670+E: 1330629392.452774 0003 0031 120
671+E: 1330629392.452774 0003 0034 0
672+E: 1330629392.452775 0003 0035 -342
673+E: 1330629392.452775 0003 0036 286
674+E: 1330629392.452776 0000 0002 0
675+E: 1330629392.452776 0003 0039 11
676+E: 1330629392.452776 0003 0030 212
677+E: 1330629392.452777 0003 0031 312
678+E: 1330629392.452777 0003 0034 0
679+E: 1330629392.452778 0003 0035 1348
680+E: 1330629392.452778 0003 0036 -1754
681+E: 1330629392.452778 0000 0002 0
682+E: 1330629392.452780 0003 0000 -627
683+E: 1330629392.452781 0000 0000 0
684+E: 1330629392.472769 0003 0039 1
685+E: 1330629392.472770 0003 0030 140
686+E: 1330629392.472770 0003 0031 124
687+E: 1330629392.472771 0003 0034 0
688+E: 1330629392.472771 0003 0035 -347
689+E: 1330629392.472771 0003 0036 1413
690+E: 1330629392.472772 0000 0002 0
691+E: 1330629392.472772 0003 0039 4
692+E: 1330629392.472773 0003 0030 196
693+E: 1330629392.472773 0003 0031 248
694+E: 1330629392.472774 0003 0034 0
695+E: 1330629392.472774 0003 0035 378
696+E: 1330629392.472774 0003 0036 -1119
697+E: 1330629392.472775 0000 0002 0
698+E: 1330629392.472775 0003 0039 8
699+E: 1330629392.472776 0003 0030 160
700+E: 1330629392.472776 0003 0031 116
701+E: 1330629392.472776 0003 0034 0
702+E: 1330629392.472777 0003 0035 -195
703+E: 1330629392.472777 0003 0036 288
704+E: 1330629392.472778 0000 0002 0
705+E: 1330629392.472778 0003 0039 11
706+E: 1330629392.472778 0003 0030 216
707+E: 1330629392.472779 0003 0031 304
708+E: 1330629392.472779 0003 0034 0
709+E: 1330629392.472780 0003 0035 1584
710+E: 1330629392.472780 0003 0036 -1751
711+E: 1330629392.472780 0000 0002 0
712+E: 1330629392.472782 0003 0000 -347
713+E: 1330629392.472783 0000 0000 0
714+E: 1330629392.475169 0003 0039 1
715+E: 1330629392.475170 0003 0030 140
716+E: 1330629392.475170 0003 0031 140
717+E: 1330629392.475171 0003 0034 0
718+E: 1330629392.475171 0003 0035 -124
719+E: 1330629392.475172 0003 0036 1415
720+E: 1330629392.475173 0000 0002 0
721+E: 1330629392.475174 0003 0039 4
722+E: 1330629392.475174 0003 0030 188
723+E: 1330629392.475175 0003 0031 236
724+E: 1330629392.475175 0003 0034 0
725+E: 1330629392.475176 0003 0035 614
726+E: 1330629392.475177 0003 0036 -1118
727+E: 1330629392.475177 0000 0002 0
728+E: 1330629392.475178 0003 0039 8
729+E: 1330629392.475179 0003 0030 176
730+E: 1330629392.475179 0003 0031 120
731+E: 1330629392.475180 0003 0034 23
732+E: 1330629392.475180 0003 0035 103
733+E: 1330629392.475181 0003 0036 294
734+E: 1330629392.475182 0000 0002 0
735+E: 1330629392.475182 0003 0039 11
736+E: 1330629392.475183 0003 0030 216
737+E: 1330629392.475184 0003 0031 300
738+E: 1330629392.475184 0003 0034 0
739+E: 1330629392.475185 0003 0035 1826
740+E: 1330629392.475185 0003 0036 -1745
741+E: 1330629392.475186 0000 0002 0
742+E: 1330629392.475189 0003 0000 -124
743+E: 1330629392.475190 0000 0000 0
744+E: 1330629392.495166 0003 0039 1
745+E: 1330629392.495167 0003 0030 144
746+E: 1330629392.495168 0003 0031 136
747+E: 1330629392.495169 0003 0034 0
748+E: 1330629392.495169 0003 0035 113
749+E: 1330629392.495170 0003 0036 1417
750+E: 1330629392.495170 0000 0002 0
751+E: 1330629392.495171 0003 0039 4
752+E: 1330629392.495172 0003 0030 192
753+E: 1330629392.495172 0003 0031 244
754+E: 1330629392.495173 0003 0034 0
755+E: 1330629392.495174 0003 0035 859
756+E: 1330629392.495174 0003 0036 -1114
757+E: 1330629392.495175 0000 0002 0
758+E: 1330629392.495176 0003 0039 8
759+E: 1330629392.495176 0003 0030 164
760+E: 1330629392.495177 0003 0031 124
761+E: 1330629392.495177 0003 0034 0
762+E: 1330629392.495178 0003 0035 346
763+E: 1330629392.495179 0003 0036 301
764+E: 1330629392.495179 0000 0002 0
765+E: 1330629392.495180 0003 0039 11
766+E: 1330629392.495181 0003 0030 200
767+E: 1330629392.495181 0003 0031 300
768+E: 1330629392.495182 0003 0034 0
769+E: 1330629392.495183 0003 0035 2074
770+E: 1330629392.495183 0003 0036 -1738
771+E: 1330629392.495184 0000 0002 0
772+E: 1330629392.495186 0003 0000 113
773+E: 1330629392.495188 0000 0000 0
774+E: 1330629392.497784 0003 0039 1
775+E: 1330629392.497785 0003 0030 128
776+E: 1330629392.497785 0003 0031 128
777+E: 1330629392.497786 0003 0034 0
778+E: 1330629392.497787 0003 0035 361
779+E: 1330629392.497787 0003 0036 1420
780+E: 1330629392.497788 0000 0002 0
781+E: 1330629392.497789 0003 0039 4
782+E: 1330629392.497789 0003 0030 200
783+E: 1330629392.497790 0003 0031 240
784+E: 1330629392.497791 0003 0034 0
785+E: 1330629392.497791 0003 0035 1112
786+E: 1330629392.497792 0003 0036 -1111
787+E: 1330629392.497792 0000 0002 0
788+E: 1330629392.497793 0003 0039 8
789+E: 1330629392.497794 0003 0030 160
790+E: 1330629392.497794 0003 0031 128
791+E: 1330629392.497795 0003 0034 0
792+E: 1330629392.497796 0003 0035 599
793+E: 1330629392.497796 0003 0036 311
794+E: 1330629392.497797 0000 0002 0
795+E: 1330629392.497798 0003 0039 11
796+E: 1330629392.497798 0003 0030 196
797+E: 1330629392.497799 0003 0031 300
798+E: 1330629392.497799 0003 0034 0
799+E: 1330629392.497800 0003 0035 2331
800+E: 1330629392.497801 0003 0036 -1729
801+E: 1330629392.497801 0000 0002 0
802+E: 1330629392.497804 0003 0000 361
803+E: 1330629392.497804 0003 0001 1417
804+E: 1330629392.497805 0000 0000 0
805+E: 1330629392.503892 0003 0039 1
806+E: 1330629392.503893 0003 0030 128
807+E: 1330629392.503893 0003 0031 132
808+E: 1330629392.503894 0003 0034 0
809+E: 1330629392.503894 0003 0035 618
810+E: 1330629392.503894 0003 0036 1426
811+E: 1330629392.503895 0000 0002 0
812+E: 1330629392.503895 0003 0039 4
813+E: 1330629392.503896 0003 0030 200
814+E: 1330629392.503896 0003 0031 252
815+E: 1330629392.503896 0003 0034 0
816+E: 1330629392.503897 0003 0035 1380
817+E: 1330629392.503897 0003 0036 -1109
818+E: 1330629392.503898 0000 0002 0
819+E: 1330629392.503898 0003 0039 8
820+E: 1330629392.503898 0003 0030 152
821+E: 1330629392.503899 0003 0031 132
822+E: 1330629392.503899 0003 0034 0
823+E: 1330629392.503900 0003 0035 868
824+E: 1330629392.503900 0003 0036 321
825+E: 1330629392.503900 0000 0002 0
826+E: 1330629392.503901 0003 0039 11
827+E: 1330629392.503901 0003 0030 260
828+E: 1330629392.503902 0003 0031 328
829+E: 1330629392.503902 0003 0034 0
830+E: 1330629392.503902 0003 0035 2697
831+E: 1330629392.503903 0003 0036 -1714
832+E: 1330629392.503903 0000 0002 0
833+E: 1330629392.503905 0003 0000 618
834+E: 1330629392.503905 0003 0001 1426
835+E: 1330629392.503906 0000 0000 0
836+E: 1330629392.523916 0003 0039 1
837+E: 1330629392.523917 0003 0030 128
838+E: 1330629392.523917 0003 0031 128
839+E: 1330629392.523918 0003 0034 0
840+E: 1330629392.523918 0003 0035 883
841+E: 1330629392.523919 0003 0036 1433
842+E: 1330629392.523920 0000 0002 0
843+E: 1330629392.523920 0003 0039 4
844+E: 1330629392.523921 0003 0030 208
845+E: 1330629392.523921 0003 0031 256
846+E: 1330629392.523922 0003 0034 0
847+E: 1330629392.523922 0003 0035 1656
848+E: 1330629392.523923 0003 0036 -1106
849+E: 1330629392.523924 0000 0002 0
850+E: 1330629392.523924 0003 0039 8
851+E: 1330629392.523925 0003 0030 160
852+E: 1330629392.523925 0003 0031 140
853+E: 1330629392.523926 0003 0034 0
854+E: 1330629392.523927 0003 0035 1147
855+E: 1330629392.523927 0003 0036 334
856+E: 1330629392.523928 0000 0002 0
857+E: 1330629392.523929 0003 0039 11
858+E: 1330629392.523929 0003 0030 136
859+E: 1330629392.523930 0003 0031 164
860+E: 1330629392.523930 0003 0034 0
861+E: 1330629392.523931 0003 0035 2846
862+E: 1330629392.523932 0003 0036 -1704
863+E: 1330629392.523932 0000 0002 0
864+E: 1330629392.523935 0003 0000 883
865+E: 1330629392.523936 0003 0001 1429
866+E: 1330629392.523936 0000 0000 0
867+E: 1330629392.526425 0003 0039 1
868+E: 1330629392.526426 0003 0030 132
869+E: 1330629392.526427 0003 0031 124
870+E: 1330629392.526427 0003 0034 0
871+E: 1330629392.526428 0003 0035 1155
872+E: 1330629392.526429 0003 0036 1440
873+E: 1330629392.526429 0000 0002 0
874+E: 1330629392.526430 0003 0039 4
875+E: 1330629392.526431 0003 0030 216
876+E: 1330629392.526431 0003 0031 252
877+E: 1330629392.526432 0003 0034 0
878+E: 1330629392.526432 0003 0035 1940
879+E: 1330629392.526433 0003 0036 -1102
880+E: 1330629392.526434 0000 0002 0
881+E: 1330629392.526434 0003 0039 8
882+E: 1330629392.526435 0003 0030 164
883+E: 1330629392.526436 0003 0031 140
884+E: 1330629392.526436 0003 0034 0
885+E: 1330629392.526437 0003 0035 1430
886+E: 1330629392.526437 0003 0036 347
887+E: 1330629392.526438 0000 0002 0
888+E: 1330629392.526439 0003 0039 11
889+E: 1330629392.526439 0003 0030 0
890+E: 1330629392.526440 0003 0031 0
891+E: 1330629392.526440 0003 0034 0
892+E: 1330629392.526440 0003 0035 2846
893+E: 1330629392.526441 0003 0036 -1704
894+E: 1330629392.526442 0000 0002 0
895+E: 1330629392.526444 0003 0000 1155
896+E: 1330629392.526445 0003 0001 1440
897+E: 1330629392.526446 0000 0000 0
898+E: 1330629392.546422 0003 0039 1
899+E: 1330629392.546424 0003 0030 128
900+E: 1330629392.546424 0003 0031 120
901+E: 1330629392.546425 0003 0034 0
902+E: 1330629392.546425 0003 0035 1430
903+E: 1330629392.546426 0003 0036 1450
904+E: 1330629392.546427 0000 0002 0
905+E: 1330629392.546427 0003 0039 4
906+E: 1330629392.546428 0003 0030 200
907+E: 1330629392.546429 0003 0031 220
908+E: 1330629392.546429 0003 0034 15
909+E: 1330629392.546430 0003 0035 2229
910+E: 1330629392.546430 0003 0036 -1097
911+E: 1330629392.546431 0000 0002 0
912+E: 1330629392.546432 0003 0039 8
913+E: 1330629392.546432 0003 0030 164
914+E: 1330629392.546433 0003 0031 140
915+E: 1330629392.546434 0003 0034 0
916+E: 1330629392.546434 0003 0035 1716
917+E: 1330629392.546435 0003 0036 362
918+E: 1330629392.546435 0000 0002 0
919+E: 1330629392.546437 0001 014e 1
920+E: 1330629392.546438 0001 014f 0
921+E: 1330629392.546439 0003 0000 1430
922+E: 1330629392.546440 0003 0001 1450
923+E: 1330629392.546440 0000 0000 0
924+E: 1330629392.548908 0003 0039 1
925+E: 1330629392.548909 0003 0030 128
926+E: 1330629392.548909 0003 0031 128
927+E: 1330629392.548909 0003 0034 0
928+E: 1330629392.548910 0003 0035 1714
929+E: 1330629392.548911 0003 0036 1464
930+E: 1330629392.548911 0000 0002 0
931+E: 1330629392.548912 0003 0039 4
932+E: 1330629392.548913 0003 0030 340
933+E: 1330629392.548913 0003 0031 208
934+E: 1330629392.548914 0003 0034 23
935+E: 1330629392.548915 0003 0035 2629
936+E: 1330629392.548915 0003 0036 -1090
937+E: 1330629392.548916 0000 0002 0
938+E: 1330629392.548916 0003 0039 8
939+E: 1330629392.548917 0003 0030 164
940+E: 1330629392.548918 0003 0031 152
941+E: 1330629392.548918 0003 0034 0
942+E: 1330629392.548919 0003 0035 2005
943+E: 1330629392.548919 0003 0036 380
944+E: 1330629392.548920 0000 0002 0
945+E: 1330629392.548923 0003 0000 1714
946+E: 1330629392.548924 0003 0001 1464
947+E: 1330629392.548925 0000 0000 0
948+E: 1330629392.555143 0003 0039 1
949+E: 1330629392.555143 0003 0030 128
950+E: 1330629392.555144 0003 0031 132
951+E: 1330629392.555144 0003 0034 0
952+E: 1330629392.555144 0003 0035 1996
953+E: 1330629392.555145 0003 0036 1480
954+E: 1330629392.555145 0000 0002 0
955+E: 1330629392.555146 0003 0039 4
956+E: 1330629392.555146 0003 0030 156
957+E: 1330629392.555147 0003 0031 164
958+E: 1330629392.555147 0003 0034 0
959+E: 1330629392.555147 0003 0035 2797
960+E: 1330629392.555148 0003 0036 -1078
961+E: 1330629392.555148 0000 0002 0
962+E: 1330629392.555149 0003 0039 8
963+E: 1330629392.555149 0003 0030 148
964+E: 1330629392.555149 0003 0031 144
965+E: 1330629392.555150 0003 0034 0
966+E: 1330629392.555150 0003 0035 2287
967+E: 1330629392.555150 0003 0036 398
968+E: 1330629392.555151 0000 0002 0
969+E: 1330629392.555153 0003 0000 1996
970+E: 1330629392.555153 0003 0001 1480
971+E: 1330629392.555154 0000 0000 0
972+E: 1330629392.575153 0003 0039 1
973+E: 1330629392.575154 0003 0030 116
974+E: 1330629392.575155 0003 0031 120
975+E: 1330629392.575155 0003 0034 0
976+E: 1330629392.575156 0003 0035 2275
977+E: 1330629392.575157 0003 0036 1499
978+E: 1330629392.575157 0000 0002 0
979+E: 1330629392.575158 0003 0039 4
980+E: 1330629392.575159 0003 0030 0
981+E: 1330629392.575159 0003 0031 0
982+E: 1330629392.575159 0003 0034 0
983+E: 1330629392.575160 0003 0035 2797
984+E: 1330629392.575160 0003 0036 -1078
985+E: 1330629392.575161 0000 0002 0
986+E: 1330629392.575162 0003 0039 8
987+E: 1330629392.575162 0003 0030 332
988+E: 1330629392.575163 0003 0031 148
989+E: 1330629392.575163 0003 0034 23
990+E: 1330629392.575164 0003 0035 2573
991+E: 1330629392.575165 0003 0036 415
992+E: 1330629392.575165 0000 0002 0
993+E: 1330629392.575168 0003 0000 2275
994+E: 1330629392.575169 0003 0001 1499
995+E: 1330629392.575170 0000 0000 0
996+E: 1330629392.577783 0003 0039 1
997+E: 1330629392.577784 0003 0030 120
998+E: 1330629392.577784 0003 0031 108
999+E: 1330629392.577785 0003 0034 0
1000+E: 1330629392.577785 0003 0035 2545
1001+E: 1330629392.577786 0003 0036 1517
1002+E: 1330629392.577787 0000 0002 0
1003+E: 1330629392.577788 0003 0039 8
1004+E: 1330629392.577788 0003 0030 104
1005+E: 1330629392.577789 0003 0031 128
1006+E: 1330629392.577789 0003 0034 0
1007+E: 1330629392.577790 0003 0035 2827
1008+E: 1330629392.577791 0003 0036 442
1009+E: 1330629392.577791 0000 0002 0
1010+E: 1330629392.577793 0001 014d 1
1011+E: 1330629392.577794 0001 014e 0
1012+E: 1330629392.577795 0003 0000 2545
1013+E: 1330629392.577795 0003 0001 1517
1014+E: 1330629392.577796 0000 0000 0
1015+E: 1330629392.597766 0003 0039 1
1016+E: 1330629392.597767 0003 0030 92
1017+E: 1330629392.597767 0003 0031 112
1018+E: 1330629392.597768 0003 0034 0
1019+E: 1330629392.597768 0003 0035 2801
1020+E: 1330629392.597769 0003 0036 1541
1021+E: 1330629392.597769 0000 0002 0
1022+E: 1330629392.597770 0003 0039 8
1023+E: 1330629392.597770 0003 0030 0
1024+E: 1330629392.597770 0003 0031 0
1025+E: 1330629392.597770 0003 0034 0
1026+E: 1330629392.597771 0003 0035 2827
1027+E: 1330629392.597771 0003 0036 442
1028+E: 1330629392.597771 0000 0002 0
1029+E: 1330629392.597773 0003 0000 2801
1030+E: 1330629392.597774 0003 0001 1541
1031+E: 1330629392.597774 0000 0000 0
1032+E: 1330629392.599774 0003 0039 1
1033+E: 1330629392.599775 0003 0030 0
1034+E: 1330629392.599775 0003 0031 0
1035+E: 1330629392.599775 0003 0034 0
1036+E: 1330629392.599776 0003 0035 2801
1037+E: 1330629392.599777 0003 0036 1541
1038+E: 1330629392.599777 0000 0002 0
1039+E: 1330629392.599778 0001 0145 1
1040+E: 1330629392.599779 0001 014d 0
1041+E: 1330629392.599781 0000 0000 0
1042+E: 1330629392.606026 0001 014a 0
1043+E: 1330629392.606027 0001 0145 0
1044+E: 1330629392.606027 0000 0000 0
1045
1046=== added file 'test/x11/no-tap-after-drag.cpp'
1047--- test/x11/no-tap-after-drag.cpp 1970-01-01 00:00:00 +0000
1048+++ test/x11/no-tap-after-drag.cpp 2012-03-06 20:11:19 +0000
1049@@ -0,0 +1,218 @@
1050+/*****************************************************************************
1051+ *
1052+ * grail - Gesture Recognition And Instantiation Library
1053+ *
1054+ * Copyright (C) 2012 Canonical Ltd.
1055+ *
1056+ * This program is free software: you can redistribute it and/or modify it
1057+ * under the terms of the GNU General Public License as published by the
1058+ * Free Software Foundation, either version 3 of the License, or (at your
1059+ * option) any later version.
1060+ *
1061+ * This program is distributed in the hope that it will be useful, but
1062+ * WITHOUT ANY WARRANTY; without even the implied warranty of
1063+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1064+ * General Public License for more details.
1065+ *
1066+ * You should have received a copy of the GNU General Public License along
1067+ * with this program. If not, see <http://www.gnu.org/licenses/>.
1068+ *
1069+ ****************************************************************************/
1070+
1071+/**
1072+ * @internal
1073+ * @file "No Tap after a Drag" Test
1074+ *
1075+ * This test plays a four-touches' drag and checks that no Tap gesture gets
1076+ * recognized. Two subscriptions are used: A 4-touches drag and and a
1077+ * 4-touches tap. Also two test runs are done: one using atomic gestures rules and
1078+ * another using regular gestures rules.
1079+ *
1080+ * It's a regression test for https://bugs.launchpad.net/utouch-grail/+bug/944901
1081+ */
1082+
1083+#include <future>
1084+#include <gtest/gtest.h>
1085+#include <utouch/frame_x11.h>
1086+
1087+// evemu wrappers
1088+#include "device.h"
1089+#include "recording.h"
1090+
1091+#include "x11/fixture.h"
1092+
1093+class NoTapAfterDrag : public utouch::grail::x11::testing::Test {
1094+ public:
1095+ NoTapAfterDrag() : device_(nullptr), use_atomic_gestures_(0) {}
1096+ void SetupEvEmuDeviceAndRun();
1097+ protected:
1098+ virtual void ProcessFrameEvents();
1099+ virtual void ProcessGrailEvents();
1100+
1101+ // Holds the device we are interested in getting input from.
1102+ // More specifically, the fake one we will create via evemu.
1103+ UFDevice device_;
1104+
1105+ // Value to be set on the property UGSubscriptionPropertyAtomicGestures
1106+ // for the subscriptions created
1107+ int use_atomic_gestures_;
1108+
1109+ private:
1110+ void ProcessFrameEventDeviceAdded(UFEvent event);
1111+ void CreateSubscriptions();
1112+ void CreateSubscription(unsigned int num_touches,
1113+ UGGestureTypeMask gesture_mask);
1114+ void CheckSlice(UGSlice slice);
1115+};
1116+
1117+void NoTapAfterDrag::ProcessFrameEvents() {
1118+ UFEvent event;
1119+
1120+ UFStatus status;
1121+ while ((status = frame_get_event(frame_handle(), &event)) == UFStatusSuccess) {
1122+ grail_process_frame_event(grail_handle(), event);
1123+
1124+ if (frame_event_get_type(event) == UFEventTypeDeviceAdded) {
1125+ ProcessFrameEventDeviceAdded(event);
1126+ }
1127+
1128+ frame_event_unref(event);
1129+ }
1130+
1131+ EXPECT_EQ(status, UFStatusErrorNoEvent);
1132+}
1133+
1134+void NoTapAfterDrag::ProcessFrameEventDeviceAdded(UFEvent event)
1135+{
1136+ UFStatus status;
1137+ UFDevice device;
1138+ const char* name;
1139+
1140+ status = frame_event_get_property(event, UFEventPropertyDevice, &device);
1141+ ASSERT_EQ(status, UFStatusSuccess);
1142+
1143+ status = frame_device_get_property(device, UFDevicePropertyName, &name);
1144+ ASSERT_EQ(status, UFStatusSuccess);
1145+
1146+ if (strcmp(name, "Apple Wireless Trackpad") == 0) {
1147+ EXPECT_EQ(device_, nullptr);
1148+ device_ = device;
1149+ CreateSubscriptions();
1150+ }
1151+}
1152+
1153+void NoTapAfterDrag::CreateSubscriptions() {
1154+ CreateSubscription(4, UGGestureTypeDrag);
1155+ CreateSubscription(4, UGGestureTypeTap);
1156+}
1157+
1158+void NoTapAfterDrag::CreateSubscription(unsigned int num_touches,
1159+ UGGestureTypeMask gesture_mask) {
1160+ UGSubscription subscription;
1161+ UGStatus status;
1162+
1163+ status = grail_subscription_new(&subscription);
1164+ ASSERT_EQ(UGStatusSuccess, status);
1165+
1166+ status = grail_subscription_set_property(subscription,
1167+ UGSubscriptionPropertyDevice,
1168+ &device_);
1169+ ASSERT_EQ(status, UFStatusSuccess);
1170+
1171+ UFWindowId window_id =
1172+ frame_x11_create_window_id(DefaultRootWindow(Display()));
1173+ status = grail_subscription_set_property(subscription,
1174+ UGSubscriptionPropertyWindow,
1175+ &window_id);
1176+ ASSERT_EQ(status, UFStatusSuccess);
1177+
1178+ status = grail_subscription_set_property(subscription,
1179+ UGSubscriptionPropertyTouchesStart,
1180+ &num_touches);
1181+ ASSERT_EQ(status, UFStatusSuccess);
1182+
1183+ status = grail_subscription_set_property(subscription,
1184+ UGSubscriptionPropertyTouchesMaximum,
1185+ &num_touches);
1186+ ASSERT_EQ(status, UFStatusSuccess);
1187+
1188+ status = grail_subscription_set_property(subscription,
1189+ UGSubscriptionPropertyTouchesMinimum,
1190+ &num_touches);
1191+ ASSERT_EQ(status, UFStatusSuccess);
1192+
1193+ status = grail_subscription_set_property(subscription,
1194+ UGSubscriptionPropertyMask,
1195+ &gesture_mask);
1196+ ASSERT_EQ(status, UFStatusSuccess);
1197+
1198+ status = grail_subscription_set_property(subscription,
1199+ UGSubscriptionPropertyAtomicGestures,
1200+ &use_atomic_gestures_);
1201+ ASSERT_EQ(status, UFStatusSuccess);
1202+
1203+ status = grail_subscription_activate(grail_handle(), subscription);
1204+ ASSERT_EQ(status, UFStatusSuccess);
1205+}
1206+
1207+void NoTapAfterDrag::ProcessGrailEvents() {
1208+ UGEvent event;
1209+
1210+ UGStatus status;
1211+ while ((status = grail_get_event(grail_handle(), &event)) == UGStatusSuccess) {
1212+ ASSERT_EQ(grail_event_get_type(event), UGEventTypeSlice);
1213+
1214+ UGSlice slice;
1215+ status = grail_event_get_property(event, UGEventPropertySlice, &slice);
1216+ ASSERT_EQ(status, UGStatusSuccess);
1217+
1218+ CheckSlice(slice);
1219+
1220+ grail_event_unref(event);
1221+ }
1222+
1223+ EXPECT_EQ(status, UGStatusErrorNoEvent);
1224+}
1225+
1226+void NoTapAfterDrag::CheckSlice(UGSlice slice) {
1227+ UGGestureTypeMask mask;
1228+
1229+ mask = grail_slice_get_recognized(slice);
1230+
1231+ // The main point of this test:
1232+ // Check that a tap gesture never gets recognized.
1233+ EXPECT_EQ(mask & UGGestureTypeTap, 0)
1234+ << "A bobus tap gesture has been recognized out of an actual drag gesture!";
1235+}
1236+
1237+void NoTapAfterDrag::SetupEvEmuDeviceAndRun() {
1238+ utouch::evemu::Device device("recordings/apple-wireless-trackpad.prop");
1239+
1240+ /* Pump once to ensure the X server has initialized the device */
1241+ PumpEvents();
1242+ ASSERT_NE(device_, nullptr) << "X server failed to initialize trackpad";
1243+
1244+ utouch::evemu::Recording recording(device, "recordings/apple-wtrackpad-4fingers-drag.event");
1245+
1246+ /* We use the c++11 future module so any exceptions thrown by the thread can
1247+ * be caught later on. If we used the thread module, exceptions would take the
1248+ * whole thing down. */
1249+ std::future<void> future = std::async(std::launch::async,
1250+ &utouch::evemu::Recording::Play,
1251+ &recording);
1252+
1253+ PumpEvents();
1254+
1255+ future.wait();
1256+}
1257+
1258+TEST_F(NoTapAfterDrag, UsingAtomicGestures) {
1259+
1260+ use_atomic_gestures_ = 1;
1261+ SetupEvEmuDeviceAndRun();
1262+}
1263+
1264+TEST_F(NoTapAfterDrag, Regular) {
1265+ use_atomic_gestures_ = 0;
1266+ SetupEvEmuDeviceAndRun();
1267+}

Subscribers

People subscribed via source and target branches