Commit Graph

3636 Commits

Author SHA1 Message Date
Peter Hutterer
b8abeaf74e dix: get the paired keyboard for a passive grab (ProcGrabButton).
Taking the VCK is only correct if no physical device is connected, and even
then it's not really a good idea.
2007-08-07 12:32:46 +09:30
Peter Hutterer
a0b87f87fb dix: check for core event to determine if grab is a core grab (CreateGrab).
Checking for VCP/VCK is simply not a safe way to check if a grab is a core grab.
2007-08-07 10:49:33 +09:30
Peter Hutterer
9eddede039 mieqEnqueue: Don't try to update the time for GenericEvents.
Doing so may overwrite the event's length field and cause havoc. Also check if
realloc'd memory did actually return valid pointer.
2007-08-06 15:48:22 +09:30
Peter Hutterer
ffdf8f3e45 DeliverEventsToWindow: ensure that genericMask has a defined value. 2007-07-10 19:11:30 +09:30
Peter Hutterer
583e988b9f Install geext.h, otherwise drivers won't build. 2007-07-10 10:10:04 +09:30
Peter Hutterer
9809715afa Change CheckMotion to ignore non-pointer events but acknowledge XI events.
Call CheckMotion from ProcessOtherEvents() to make sure absolute XI events
update the sprite before an event is sent.
2007-07-10 10:09:50 +09:30
Peter Hutterer
62efc3951a DeliverGrabbedEvent: stop segfault when gemask == NULL. 2007-07-10 10:09:44 +09:30
Peter Hutterer
3312e4dd5e Call CheckMotion for all core events.
We need to do this to update the sprites x/y coordinate before we assemble a
button event. Absolute devices may send a buttonEvent with valuators attached.
If we don't update the sprite before assembling the event, the valuators are
lost and the button press is delivered to the previous position of the device.
Doesn't have any effect on relative devices.
2007-07-10 10:09:37 +09:30
Paulo Ricardo Zanoni
c1a6841a64 ProcX{Change|Query}WindowAccess: change device list from char* to XID*. 2007-07-10 10:08:44 +09:30
Peter Hutterer
5ccc09b182 Use the same struct for generic event masks throughout the code.
Renaming those structs too.

Previously grabs were using a different struct than windows, which was
reasonably stupid.
2007-07-06 15:43:08 +09:30
Peter Hutterer
c1a16bdcfe Add 'evfill' field to GEExtensions.
We need this to allow extensions to fill in extra data for an event before it
is sent to the client. This is probably to be used like
FillUpEventsFromWindow().
2007-07-01 09:14:18 +09:30
Peter Hutterer
08779c62ba Reset grab->next to NULL when we're creating a grab.
This is definitely necessary in CheckDeviceGrabAndHintWindow (thanks to Paulo
Zanoni for spotting it). We're resetting it everywhere else too, just to be
save.
2007-06-27 11:58:20 +09:30
Peter Hutterer
49136d3e9f mieqEnqueue: use modulo for queue tail wrapping.
This was previously committed by Michael Daenzer, but was lost during a pull.
2007-06-27 11:58:12 +09:30
Peter Hutterer
8396bf7c8b Init genericMasks to 0, make sure list is NULL terminated. 2007-06-27 11:58:04 +09:30
Peter Hutterer
c4e850a781 Quickfix to stop core key events from doubling up. 2007-06-25 13:38:25 +09:30
Peter Hutterer
4d5df14f2c Save processInputProc before wrapping it and restore it later, instead of
using a hardcoded ProcessKeyboardEvent. Otherwise we lose the ability to
process DeviceKeyEvents after the first key press.

This should be the correct fix now.
2007-06-21 18:24:30 +09:30
Peter Hutterer
f6f3322fc7 Revert "Save processInputProc before wrapping it and restore it later, instead of"
Mixed up source trees, this was a very bad fix.

This reverts commit 8431f60830.
2007-06-21 18:16:21 +09:30
Peter Hutterer
8431f60830 Save processInputProc before wrapping it and restore it later, instead of
using a hardcoded ProcessKeyboardEvent. Otherwise we lose the ability to
process DeviceKeyEvents after the first key press.
2007-06-21 17:42:36 +09:30
Peter Hutterer
0c33dc152e Set the detail field for DeviceKeyEvents to the keycode. 2007-06-21 17:42:30 +09:30
Peter Hutterer
1f97a76476 Merge branch 'master' into mpx
Conflicts:

	dix/devices.c
	hw/xfree86/common/xf86Xinput.c
	hw/xfree86/loader/xf86sym.c
	mi/mieq.c
2007-06-19 17:20:52 +09:30
Peter Hutterer
5dee64fc99 Add a few comments to ProcXGrabDevice. 2007-06-19 11:31:22 +09:30
Peter Hutterer
9e257029c7 Add implicitGrab field to GrabInfoRec.
Is set when passive grab is implicit as result of a ButtonPress event. If this
is the case, we need to store the XI mask as well as the core mask to ensure
delivery of XI events during the grab's lifetime.

Remove all core grabs on other devices when client issues a GrabPointer or
GrabKeyboard request. Let's assume that the client really only wants one
device to interact, so this seems like a reasonable solution.
2007-06-19 11:28:07 +09:30
Adam Jackson
2e7fef7d08 Make xf86{En,Dis}ableInterrupts no-ops on Linux. 2007-06-18 12:08:39 -04:00
Lennart Buytenhek
831d3b7f8d Compile fixes for Linux ARM platforms. 2007-06-18 12:05:55 -04:00
Zephaniah E. Hull
562ca3f2f9 In NewInputDeviceRequest, only call EnableDevice if xf86Screens[0]->vtSema is
true, preventing unwanted behavior in the case where a device is added while
the user is in a different VT.
2007-06-18 12:00:49 -04:00
Peter Hutterer
3e894974cd Only decrement buttonsDown when the button count is greater than 0.
Device drivers flush their buttons on device init and cause a button down
event to be generated. If we unconditionally decrease the buttons, we won't be
able to ever get a passive device grab.

Format documentation for CheckDeviceGrabs to make it readable.
2007-06-15 17:16:16 +09:30
Matthieu Herrb
42c2e14b25 swap xOrigin and yOrigin in SProcRenderSetPictureClipRectangles.
Fixes Xrender clipping rectangles when X server and client are of
different endianness, shown by xterm 225 among others.
2007-06-15 00:14:02 +02:00
Peter Hutterer
0aaf515466 Zero deviceMask and genericMask when creating a grab via CreateGrab(). 2007-06-12 16:55:26 +09:30
Søren Sandmann Pedersen
78179ae827 Remove fbmmx.[ch] files 2007-06-11 22:46:42 -04:00
Søren Sandmann Pedersen
eb2d7fe02f Replace fbFillmmx() with pixman_fill() and remove fbmmx.[ch] 2007-06-11 22:43:01 -04:00
Søren Sandmann Pedersen
f52ae237d3 Require pixman 0.9.2 2007-06-11 22:02:39 -04:00
Søren Sandmann Pedersen
d1d85c04e2 Delete fbBltmmx(). 2007-06-11 21:25:42 -04:00
Søren Sandmann Pedersen
3f9adb18f1 Port a few forgotten fbSolidFillmmx()'es to fbFillmmx(). Use pixman_blt() instead of fbBltmmx()
in fbCopyNToN().
2007-06-11 15:19:27 -04:00
Søren Sandmann Pedersen
d06099b38e Remove fbCopyAreammx() and fbSolidFillmmx() 2007-06-11 14:10:33 -04:00
Søren Sandmann Pedersen
d4a034370c Split fbSolidFillmmx() into a new FbFillmmx() function. Call that from fbFill(). 2007-06-11 14:10:33 -04:00
Søren Sandmann Pedersen
3210902a73 Split fbCopyAreammx() into a new fbBltmmx() function; call this
function from fbCopyNToN().
2007-06-11 14:10:33 -04:00
Clark Rawlins
8d5f4368ea Really make sure BUILD_TIME doesn't have a leading zero.
date +'%k%M%S' still gives a leading zero in the hour after midnight...

Add a leading 1 and remove it in xf86PrintBanner().
2007-06-11 16:53:38 +02:00
Søren Sandmann Pedersen
54e023cec0 Don't pass regions to pixman_image_composite() anymore. 2007-06-11 09:43:15 -04:00
Michel Dänzer
5cbec267b6 Make sure BUILD_TIME doesn't have a leading zero.
It causes the compiler to treat it as an octal constant instead of decimal as
intended, which could even cause a build failure in the cases of 08 and 09.

Thanks to Clark Rawlins for pointing out the problem.
2007-06-11 12:38:41 +02:00
Michel Dänzer
1aceec61ff DRI: Clip cliprects obtained from DRIGetDrawableInfo to screen dimensions.
This is to avoid issues with redirected windows which are located partly or
fully outside of a screen edge, resulting in unusual cliprects which the 3D
drivers generally can't handle. The symptoms in such cases would be incorrect
rendering or even crashes or hangs.
2007-06-11 09:23:19 +02:00
Michel Dänzer
5d896e43fd DRITreeTraversal: Stop walking tree when we've seen all DRI windows. 2007-06-11 09:23:19 +02:00
Michel Dänzer
0fb44c6f9a DRI: Fix build warning. 2007-06-11 09:23:19 +02:00
Michel Dänzer
644f7ddc0c dixLookupClient: Use access parameter. 2007-06-11 09:23:18 +02:00
Michel Dänzer
30a3297fed mieq queue handling cleanups.
In particular, fix handling of wraparounds in mieqEnqueue.
2007-06-11 09:23:18 +02:00
Adam Jackson
c1a49a9269 GNU is wrong and ` is not left-quote. 2007-06-10 22:14:57 -04:00
Dave Airlie
67a0a4da1a update xproto dependency to at least 7.0.9 2007-06-11 11:55:11 +10:00
Daniel Ciocea
c079cce9d8 Fix sync polarity on Samsung SyncMaster 205BW monitor.
need to use standard VESA sync polarity instead of the
EDID provided -hsync -vsync values.
2007-06-08 18:12:21 -07:00
Aaron Plattner
9c47b86bd9 Add new fb symbols to wfbrename.h.
Avoids crashes when wfbComposite calls the wrong image_from_pict.
2007-06-07 13:57:12 -07:00
Søren Sandmann Pedersen
567b5bf765 Delete fbCompositeCopyAreammx() 2007-06-05 20:26:49 -04:00
Søren Sandmann Pedersen
49ed31c0b3 Remove most of the fast-path MMX operations from fbmmx. fbCopyAreammx
and fbSolidFillmmx are still needed by other code.
2007-06-05 17:48:33 -04:00