mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-27 21:22:26 +00:00
dix: move focus handling into enterleave.c.
This commit moves the focus handling from events.c into enterleave.c and implements a model similar to the core enter/leave model. For a full description of the model, see: http://lists.freedesktop.org/archives/xorg/2008-December/041740.html This commit also gets rid of the focusinout array in the WindowRec, ditching it in favour of a local array that keeps the current focus window for each device. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
673eb23aac
commit
eb2d7b3d70
6 changed files with 837 additions and 281 deletions
|
|
@ -509,8 +509,6 @@ extern _X_EXPORT int AllocMasterDevice(ClientPtr client,
|
|||
extern _X_EXPORT void DeepCopyDeviceClasses(DeviceIntPtr from,
|
||||
DeviceIntPtr to);
|
||||
|
||||
extern _X_EXPORT int FocusSemaphoresIsset(WindowPtr win);
|
||||
|
||||
/* Implemented by the DDX. */
|
||||
extern _X_EXPORT int NewInputDeviceRequest(
|
||||
InputOption *options,
|
||||
|
|
|
|||
|
|
@ -179,11 +179,6 @@ typedef struct _Window {
|
|||
#ifdef ROOTLESS
|
||||
unsigned rootlessUnhittable:1; /* doesn't hit-test */
|
||||
#endif
|
||||
/* Used to maintain semantics of core protocol for Enter/LeaveNotifies and
|
||||
* FocusIn/Out events for multiple pointers/keyboards. Each device ID
|
||||
* corresponds to one bit. If set, the device is in the window/has focus.
|
||||
*/
|
||||
char focusinout[(MAXDEVICES + 7)/8];
|
||||
} WindowRec;
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue