I propose these two changes:
Index: pyglet/window/xlib/__init__.py
===================================================================
--- pyglet/window/xlib/__init__.py (revision 1237)
+++ pyglet/window/xlib/__init__.py (working copy)
@@ -985,22 +985,13 @@
if event_handler:
event_handler(e)
- # Now check generic events for this display and manually
filter
- # them to see whether they're for this window. sigh.
- # Store off the events we need to push back so we don't
confuse
- # XCheckTypedEvent
- push_back = []
- while xlib.XCheckTypedEvent(_x_display,
+ # Now check generic events for this window
+
+ while xlib.XCheckTypedWindowEvent(_x_display, _window,
xlib.ClientMessage, byref(e)):
- if e.xclient.window != _window:
- push_back.append(e)
- e = xlib.XEvent()
- else:
- event_handler = self._event_handlers.get(e.type)
- if event_handler:
- event_handler(e)
- for e in push_back:
- xlib.XPutBackEvent(_x_display, byref(e))
+ event_handler = self._event_handlers.get(e.type)
+ if event_handler:
+ event_handler(e)
self._allow_dispatch_event = False
and
Index: tools/genwrappers.py
===================================================================
--- tools/genwrappers.py (revision 1237)
+++ tools/genwrappers.py (working copy)
@@ -22,6 +22,12 @@
'/usr/include/X11/X.h',
'/usr/include/X11/Xutil.h')
wrap('tools/wraptypes/wrap.py',
+ '-opyglet/window/xlib/xinput.py',
+ '-lXi',
+ '-mpyglet.window.xlib.xlib',
+ '/usr/include/X11/extensions/XInput.h',
+ '/usr/include/X11/extensions/XIproto.h')
+ wrap('tools/wraptypes/wrap.py',
'-opyglet/window/xlib/xinerama.py',
'-lXinerama',
'-mpyglet.gl.glx',
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pyglet-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/pyglet-users?hl=en
-~----------~----~----~----~------~----~------~--~---