summaryrefslogtreecommitdiff
path: root/mi
AgeCommit message (Collapse)AuthorFilesLines
2009-06-03Merge branch 'master' into xi2Peter Hutterer1-5/+22
2009-06-03mi: only process master if the SD is still attached.Peter Hutterer1-1/+3
SDs may be detached during event processing (e.g. if a passive grab activates). In this case, the event must not be processed through the master device. Reported-by: Thomas Jaeger Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-29XQuartz: Fix alpha to be 1 (screenshots bug, etc)Jeremy Huddleston1-5/+22
This is related to: bc964ff1e3f3d8ab590eab40d767c6241e9480d4 XQuartz: Stab at fixing the alpha 0/1 bug (screenshots, etc) by pulling in some old code that got gutted from rootless. which was on the 1.4 branch and implemented in fbPaintWindow. Now that fbPaintWindow is gone, this is now in miPaintWindow(). (cherry picked from commit 032173f693f75385a40e144ffe2b7b5378bb6f2e)
2009-05-28Merge branch 'master' into xi2Peter Hutterer3-13/+16
Conflicts: Xext/geext.c Xi/chdevcur.c Xi/extgrbdev.c Xi/xiproperty.c configure.ac dix/ptrveloc.c hw/xfree86/common/xf86Config.c mi/mipointer.h test/input.c xkb/xkb.c
2009-05-22mi: use GetMaster() from MIPOINTER and MISPRITE.Peter Hutterer2-4/+4
Both may in some cases be called for a SD attached to a master keyboard. In this case, we need to get the right master device (i.e. the pointer). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-22input: introduce partial class copying depending on the event.Peter Hutterer2-14/+35
Copying all classes into the master device has drawbacks for hybrid devices (devices that are both mice and keyboards). If such a device posts an event, it's key classes are moved into the VCP. The key event itself is unaffected by keyboard grabs and the like. Partial class copying copies depending on the event and copies the classes into the right master device (i.e. the VCK for key events, the VCP for pointer events). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-22input: remove nested union from InternalEvent.Peter Hutterer1-18/+18
There's no need for internal events to be a struct with a single nested union, we might as well make the union itself the InternalEvent. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-22Input: rename DeviceIntRec->isMaster to ->type.Peter Hutterer3-14/+14
isMaster is not enough as long as we differ between master pointers and keyboard. With flexible device classes, the usual checks for whether a master device is a pointer (currently check for ->button, ->valuators or ->key) do not work as an SD may post an event through a master and mess this check up. Example, a device with valuators but no buttons would remove the button class from the VCP and thus result in the IsPointerDevice(inputInfo.pointer) == FALSE. This will become worse in the future when new device classes are introduced that aren't provided in the current system (e.g. a switch class). This patch replaces isMaster with "type", one of SLAVE, MASTER_POINTER and MASTER_KEYBOARD. All checks for dev->isMaster are replaced with an IsMaster(dev).
2009-05-22Split the signal-handler's lastSlave out into a separate variable.Peter Hutterer1-0/+3
dev->u.lastSlave was not signal safe since it was accessed by the DIX and during signal handling. Replaced with: 'dev->last.slave' for the signal handler's lastSlave (used to generate DeviceChangedEvents), . 'dev->u.lastSlave' for the DIX lastSlave (currently only used in change_modmap) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16mi: un-deprecate miPointerWarpCursorPeter Hutterer1-1/+1
This function was deprecated in ef68273f5bdb27a492ec0b69548ec4fbede46c08 because it didn't take a device argument. The device argument was added in 1c7568b8a1417257fa67c7fca69aa253099b9461 though, so the deprecation is obsolete. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-16mi: un-deprecate miPointerWarpCursorPeter Hutterer1-1/+1
This function was deprecated in ef68273f5bdb27a492ec0b69548ec4fbede46c08 because it didn't take a device argument. The device argument was added in 1c7568b8a1417257fa67c7fca69aa253099b9461 though, so the deprecation is obsolete. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-14Update several of my and/or Red Hat's licenses to standard form.Adam Jackson1-10/+11
2009-05-05mi: don't crash if we're trying to update the pointer for a keyboard.Peter Hutterer1-0/+3
If a device doesn't have a pointer, just return. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-01mi: don't crash if we're trying to update the pointer for a keyboard.Peter Hutterer1-0/+3
If a device doesn't have a pointer, just return. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-29Fix most remaining deprecated resource lookups.Eamon Walsh2-3/+5
Callsites updated to use dixLookupResourceBy{Type,Class}. TODO: Audit access modes to make sure they reflect the usage.
2009-04-24Merge branch 'master' into xi2Peter Hutterer1-1/+1
Conflicts: Xi/chdevhier.c include/input.h
2009-04-24mi: remove superfluous check.Peter Hutterer1-1/+1
mieqProcessInputEvents doesn't process events from MDs anymore, so we don't need to check for pDev->isMaster. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-19mi: add prototype for CopyGetMasterEvent.Peter Hutterer1-0/+7
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-19mi: fix wrong (*EnqueueEvent) declaration in miPointerScreenFuncRec.Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-19mi: fix compiler warning - explicitly typecast to InternalEvent.Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-09mi: fix wrong (*EnqueueEvent) declaration in miPointerScreenFuncRec.Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-09mi: fix compiler warning - explicitly typecast to InternalEvent.Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-09mi: add prototype for CopyGetMasterEvent.Peter Hutterer1-0/+7
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-07Merge branch 'master' into xi2Peter Hutterer3-258/+189
2009-03-27misprite: Remove private header, fold into misprite.cAdam Jackson3-151/+101
2009-03-27misprite: Fix software cursor on multiple ScreenRecsAdam Jackson2-11/+7
2009-03-27misprite: Do window check first for Get{Image,Spans} tooAdam Jackson1-39/+41
2009-03-27misprite: RECT_IN_REGION -> miRectInAdam Jackson1-3/+2
2009-03-27misprite: Fix a typoAdam Jackson1-2/+2
2009-03-27misprite: Fix cast abuseAdam Jackson1-41/+24
2009-03-23misprite: In SourceValidate, check that it's a Window firstAdam Jackson1-16/+17
It almost never is. However, you have _lots_ of input devices now, and walking them all on every Composite operation is not the cheapest thing in the world.
2009-03-20mi: remove deprecated miPointerAbsoluteCursorPeter Hutterer2-16/+0
Functions that don't specify the device are so last year.
2009-03-20input: add support for RawDeviceEvents.Peter Hutterer1-0/+3
2009-03-20Add agressive event type checking.Peter Hutterer1-0/+8
Best to FatalError if a wrong event comes in. At least that forces me to fix it really quickly. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-16mi: remove a bunch of useless inputInfo.pointer assignments.Peter Hutterer1-6/+6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-03mi: only print the "EQ overflowing" error once.Peter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23mi: split EQ popping and event processing into two functions.Peter Hutterer2-38/+61
mieqProcessInputEvents() - pop an event off the EQ and pass it to mieqProcessDeviceEvent() - process the event according to the MD/SD hierarchy. This way, we can use mieqPDE() from Xtest, xkb, and others to post an event. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23mi: change custom handlers to internal eventsPeter Hutterer2-6/+8
This should re-enable DGA, but XQuartz needs to be changed to internal events too now. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23Input: change processing API to InternalEvents.Peter Hutterer1-2/+6
Don't pass xEvent* and count through to processing, pass a single InternalEvent. Custom handlers are disabled for the time being. And for extra fun, XKB's pointer motion emulation is disabled. But stick an error in there so that we get reminded should we forget about it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23xkb: Switch the xkb event processing path over to InternalEvents.Peter Hutterer1-11/+2
Before dropping down into the DIX, convert back into XI events. This is a temporary solution only, until the DIX is capable of handling InternalEvents anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23mi: switch the EQ to contain InternalEvents only.Peter Hutterer2-122/+70
This gets rid of the nevents parameter, InternalEvents are always a single item per event. Also remove the special DeviceValuator handling in both enqueueing and dequeueing. Custom callback handlers are now broken until fixed. For bisectability, we copy the InternalEvent back into the XI required during POE and friends. Consider this a temporary solution. Note: Because of misc linker bonghits, Xvfb won't link in this revision. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-16xserver: Avoid sending uninitialized padding data over the networkPeter Åstrand1-1/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-07mi: kill a few warningsMaarten Maathuis4-4/+5
2009-02-07mi: clip exposures to pGC->clientClip.Maarten Maathuis1-0/+4
2009-02-06fb: move some code to miMaarten Maathuis3-0/+397
2009-02-04mi: don't call UpdateSpriteForScreen if we have Xinerama enabled. #18668Peter Hutterer1-1/+8
In Xinerama all windows hang off the first root window. Crossing the screens must not reset the spriteTrace, otherwise picking fails and events are sent to the root window. X.Org Bug 18668 <http://bugs.freedesktop.org/show_bug.cgi?id=18668> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22Remove a bunch of useless casts.Adam Jackson27-126/+116
We've had void * for twenty years now people let's try to act like we know how it works.
2009-01-22XKB: Make XKB mandatoryDaniel Stone1-17/+3
No more #ifdef XKB, because you can't disable the build, and no more noXkbExtension either. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-16XQuartz: mieq: Wait for the server to finish initializing before letting ↵Jeremy Huddleston1-13/+21
other threads mieqEnqueue Avoid possible race condition whereby one thread might call mieqEnqueue before InitAndStartDevices finishes (cherry picked from commit 94e417ac87a98cd5c6bf2d7c495d702748398931)
2009-01-15mi: ensure chained button mappings from SD -> MD (#19282)Peter Hutterer1-2/+24
After copying the master event, flip the detail field to the mapped button of the SD, not the physical button. This way if the SD has a mapping 1:3 and the MD has a mapping of 3:4, a press on button 1 on the SD results in a core event on button 4. X.Org Bug 19282 <http://bugs.freedesktop.org/show_bug.cgi?id=19282> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>