Merge lp:~oif-team/geis/lp_656503 into lp:geis

Proposed by Stephen M. Webb
Status: Merged
Merged at revision: 81
Proposed branch: lp:~oif-team/geis/lp_656503
Merge into: lp:geis
Diff against target: 53 lines (+11/-5)
3 files modified
ChangeLog (+8/-0)
libutouch-geis-xcb/Makefile.am (+1/-1)
libutouch-geis-xcb/geis_xcb.c (+2/-4)
To merge this branch: bzr merge lp:~oif-team/geis/lp_656503
Reviewer Review Type Date Requested Status
Henrik Rydberg (community) Approve
Duncan McGreggor Pending
Review via email: mp+37960@code.launchpad.net

This proposal supersedes a proposal from 2010-10-07.

Description of the change

Fixes a logic error that can cause an infinite loop under exceptional circumstances.

To post a comment you must log in.
Revision history for this message
Henrik Rydberg (rydberg) wrote : Posted in a previous version of this proposal

I think the commit unnecessarily mixes cosmetic printout changes with the important bug fix.

review: Needs Fixing
Revision history for this message
Duncan McGreggor (oubiwann) wrote : Posted in a previous version of this proposal

Stephen, sorry to be such a pain about this, but I do agree with Henrik. I encourage folks to create more branches. It seems like unecessary overhead, but it makes the code history easier to read and allows for very easy rollbacks in the event of any regressions. For instance, if a week later we had to revert the bug fix, we could (without even thinking about it) keep the formatting changes you made since they would have been in a separate merge.

Thanks!

review: Needs Fixing
Revision history for this message
Henrik Rydberg (rydberg) wrote :

Why is the version bumped for this bugfix? It seems to me it is a correction to the current one, rather?

review: Needs Fixing
Revision history for this message
Stephen M. Webb (bregma) wrote :

Version of what? Do you mean the library revision? That's so you can differentiate a library with the fix from a library without the fix (the purpose of .so versioning). This rule 3 for determinig library version information as documented with libtool.

Or are you referring to some other version bump?

Revision history for this message
Henrik Rydberg (rydberg) wrote :

I meant the library yes, and you are apparently ahead of me on versioning, so no argument then. :-)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ChangeLog'
2--- ChangeLog 2010-09-30 18:06:42 +0000
3+++ ChangeLog 2010-10-08 12:44:41 +0000
4@@ -1,3 +1,11 @@
5+2010-10-07 Stephen M. Webb <stephen.webb@canonical.com>
6+
7+ Fixed LP: #656503 - event dispatch can hang under some circumstances
8+
9+ * libutouch-geis-xcb/geis_xcb.c (geis_xcb_dispatch): changed loop condition
10+ * libutouch-geis-xcb/Makefile.am (libutouch_geis_la_LDFLAGS): bumped library
11+ revision
12+
13 2010-09-28 Stephen M. Webb <stephen.webb@canonical.com>
14
15 Version bump to 1.0.12.
16
17=== modified file 'libutouch-geis-xcb/Makefile.am'
18--- libutouch-geis-xcb/Makefile.am 2010-09-14 11:39:59 +0000
19+++ libutouch-geis-xcb/Makefile.am 2010-10-08 12:44:41 +0000
20@@ -36,7 +36,7 @@
21
22 libutouch_geis_la_LDFLAGS = \
23 -Wl,-z,defs -Wl,--as-needed \
24- -version-info 1:1:0 \
25+ -version-info 1:2:0 \
26 -Wl,--version-script=$(version_script)
27
28 libutouch_geis_la_LIBADD = \
29
30=== modified file 'libutouch-geis-xcb/geis_xcb.c'
31--- libutouch-geis-xcb/geis_xcb.c 2010-08-31 17:24:57 +0000
32+++ libutouch-geis-xcb/geis_xcb.c 2010-10-08 12:44:41 +0000
33@@ -733,9 +733,9 @@
34 {
35 const xcb_query_extension_reply_t *extension_info;
36 extension_info = xcb_get_extension_data(xcb->connection, &xcb_gesture_id);
37+ xcb_generic_event_t *event = NULL;
38
39- xcb_generic_event_t *event = xcb_poll_for_event(xcb->connection);
40- while (event)
41+ while (event = xcb_poll_for_event(xcb->connection))
42 {
43 xcb_gesture_notify_event_t *gesture_event = NULL;
44 if (event->response_type != GenericEvent) {
45@@ -770,8 +770,6 @@
46 {
47 geis_xcb_dispatch_gesture(instance, gesture_event);
48 }
49-
50- event = xcb_poll_for_event(xcb->connection);
51 }
52 }
53 }

Subscribers

People subscribed via source and target branches

to all changes: