Commit Graph

5740 Commits

Author SHA1 Message Date
Peter Hutterer 18b33dd4ff Xi: stop excessive use of _X_EXPORT. 2008-04-29 15:24:55 +09:30
Peter Hutterer 2b179c32ac include: add declaration for CopyGetMasterEvent to shut up compiler warning. 2008-04-29 15:15:16 +09:30
Peter Hutterer ff36753755 mi: call the custom event handlers for both MD and SD. 2008-04-29 14:53:41 +09:30
Peter Hutterer ec2fca7e6f xfree86: DGA needs to call into Xi.
Two steps: first use UpdateDeviceState() instead of replicating the device
changing code. And emulate XI events instead of core events.
2008-04-29 14:53:20 +09:30
Peter Hutterer 8208b842b7 Xi: add IEventBase global variable. Stores event base for X Input events. 2008-04-29 14:19:42 +09:30
Peter Hutterer 46340b7406 Xi: change UpdateDeviceState to be _X_EXPORT. 2008-04-29 14:17:48 +09:30
Peter Hutterer 3a922c5d07 Xi: apply ValuatorEvent data to the device's valuators.
After UpdateDeviceState, the device has the current position in absolute
coordinates, the event has the correct valuator data to be delivered to the
client.
2008-04-29 11:18:35 +09:30
Peter Hutterer f2a20294fe dix: store all valuators as they come from the device in the valuator events.
The event's sequenceNumber is mis-used to determine whether the values are
relative or absolute.
2008-04-29 11:18:35 +09:30
Jeremy Huddleston d5ab89f4f1 XQuartz: Unset CFProcessPath... blech
(cherry picked from commit ce4fbfbc75c62a092214d140c7550279aebe69ef)
2008-04-28 15:55:01 -07:00
Jeremy Huddleston 0c2312b21b XQuartz: xprIsX11Window can be called from the Appkit thread (see X11Application.m)
(cherry picked from commit 22cf72437601c07b8a6c744b4f2f1f4cd6713e60)
2008-04-28 15:42:12 -07:00
Jeremy Huddleston c3dc4bdbb0 XQuartz: Disabled DPMS extension
(cherry picked from commit 1448fed9b6d484f471b9b2982c76ca921a9273b9)
2008-04-28 15:42:02 -07:00
Jeremy Huddleston 07382a70c7 XQuartz: Added thread debugging to xprFrame.c
(cherry picked from commit 41542502b321c697271c1752525b600872b6df96)
2008-04-28 15:40:22 -07:00
Michel Dänzer 8349732a67 EXA: Try to accelerate non-antialiased text via the glyph cache as well.
Treat 1 bit glyphs and masks as PICT_a8 in the glyph cache. We're not able to
accelerate them otherwise.
2008-04-28 21:09:35 +02:00
Michel Dänzer a65d530040 EXA: Accumulate glyphs whenever possible, for full benefits of the glyph cache. 2008-04-28 21:03:12 +02:00
Michel Dänzer e7eaac59c4 EXA: Glyph cache upload tweaks.
Track damage after using UploadToScreen directly.

Don't waste any effort on empty glyphs.
2008-04-28 21:00:55 +02:00
Owen Taylor cc08c06665 EXA: Use UploadToScreen() for uploads to glyph cache
When possible, use UploadToScreen() rather than CompositePicture()
to upload glyphs onto the glyph cache pixmap. This avoids allocating
offscreen memory for each glyph making management of offscreen
areas much more efficient.
2008-04-28 21:00:55 +02:00
Owen Taylor 13fd225630 EXA: Clean up debug messages 2008-04-28 21:00:55 +02:00
Owen Taylor fcb5949928 EXA: Fix overlapping glyphs in glyph cache
Allocate each cache at a different vertical position in the
per-format pixmap. Fix width/height confusion when choosing
the cache for a glyph.
2008-04-28 21:00:54 +02:00
Owen Taylor 40eb14c948 EXA: Add exaCompositeRects()
Add a function to composite multiple independent rectangles
from the same source to the same destination in a single
operation: this is useful for building a glyph mask.
2008-04-28 21:00:54 +02:00
Owen Taylor 54184110f6 EXA: Use a single large glyph cache pixmap
Add back exaGlyphs(); the new version copies the glyph images
onto a single large glyph pixmap and draws from their to the
destination surface. This reduces the management of small
offscreen areas and will allow us to avoid texture unit setup
between each glyph.
2008-04-28 21:00:54 +02:00
Jeremy Huddleston e973430608 XQuartz: More startup / threading house cleaning.
(cherry picked from commit 72653c24c00dfba64ce35a3d400598bcd77defc1)
2008-04-28 11:49:19 -07:00
Jeremy Huddleston 4b46fc931e XQuartz: Updated Localizable.strings
(cherry picked from commit d8d9c866b90fb24c93bd6e25fa90f8f2bf58ad34)
2008-04-28 11:49:18 -07:00
Jeremy Huddleston 4017ebe5bf XQuartz: Added missing Xquartz.man.pre to EXTRA_DIST
(cherry picked from commit 03e707987f7f32e47dd0355c6d16bfb9169a379b)
2008-04-28 11:49:16 -07:00
Peter Hutterer 53dba5381f dix: if alloc of a master keyboard fails, remove the master pointer. 2008-04-28 11:37:52 +09:30
Peter Hutterer 1fab51edfc mi: guard against NULL-pointer dereference. 2008-04-28 11:37:21 +09:30
Peter Hutterer b5004722a2 Xi: Only return VCP, VCK and floating SDs to Xi 1.x clients.
This is better than the approach implemented with
8973a3f798 which disabled XI altogether for 1.x.
Instead, return a device list that resembles a traditional XI setup on pre XI
2.0 servers. If the client tries to open a device other than a floating SD,
return a BadDevice error.
2008-04-28 10:26:01 +09:30
Jeremy Huddleston 0bd28315af Xquartz: Added missing to EXTRA_DIST
(cherry picked from commit f4b963256feb03e9e6b5521bdefeb390e9a49688)
2008-04-26 23:19:33 -07:00
Jeremy Huddleston ef1c520537 XQuartz: Cleaned up startup and thread creation a tad.
(cherry picked from commit c861fe00e112b21ee0156d09a6cd5281642a1dcc)
2008-04-26 19:21:05 -07:00
Jeremy Huddleston b114d4e861 XQuartz: Don't subtract the titlebar off of the pointer_y
(cherry picked from commit 00a9567acce2b27a649cbebd4790e3043688a7d8)
2008-04-26 17:05:34 -07:00
Peter Hutterer 684b5d8382 Xi: whoops, stray ! caused a bit of memory mess. 2008-04-26 19:55:59 +09:30
Peter Hutterer 87071b604c Revert "Xi: disable XI for clients < XI 2.0"
Turns out some programs don't like this change. gnome-settings-daemon crashes
hard if you tell it that XI doesn't exist. So, tell them we have XI, but leave
the other change (the one that pretends no devices are available).

This reverts commit 8973a3f798.
2008-04-26 19:37:57 +09:30
Peter Hutterer 7447a30fb2 Xi: if a pre-XI2 client tries to list the devices, pretend we don't have any.
XI 1.x isn't supported anymore, so let's pretend we don't have any devices.
This stops clients from opening them and thus stops interference.
2008-04-26 19:03:13 +09:30
Peter Hutterer 8973a3f798 Xi: disable XI for clients < XI 2.0
Sorry. With the huge changes in the device handling I honestly don't know how
to support XI and XI2 alongside. So let's just pretend XI doesn't exist if a
client doesn't request it supporting XI2.
2008-04-26 19:01:00 +09:30
Peter Hutterer b304b0a65c Xi: add versioning support.
Remember the version the client sent to us, so we can adjust our replies
accordingly. This requires the client to use the {major|minor}Version fields
in the GetExtensionVersion request. However, they were padding before, so we
must assume they are garbage if nbytes is non-zero. If nbytes is zero, the
client is probably a new client and we can handle it correctly.
2008-04-26 17:47:15 +09:30
Jeremy Huddleston b9ca789635 XQuartz: Added some pseudoramiX debug traces
(cherry picked from commit 5bee1585a399eab0a7b6fc80ad476d81b5d227d3)
2008-04-25 18:04:22 -07:00
Peter Hutterer e251c9e75a Remove all traces of #ifdef XINPUT and the matching bits from the configure.ac 2008-04-25 16:49:35 +09:30
Peter Hutterer 1d0438de17 Xi: remove RemoveOtherCoreGrabs()
PickPointer() returns grabbed devices, so we can't get a double grab anyway.
2008-04-25 16:28:58 +09:30
Peter Hutterer be5ff2b8d8 Xi: remove some superflous code 2008-04-25 16:25:13 +09:30
Jeremy Huddleston 0209e46249 XQuartz: More multi-monitor work... reverted Ben's workaround (worked for side-by-side only) and added more debugging.
(cherry picked from commit 515b8b855ac5d2d5aef881053f73b2ad07a6dd2e)
2008-04-24 23:50:23 -07:00
Jeremy Huddleston b65dbd350b XQuartz: Cleaned up multi-monitor support.
(cherry picked from commit c05abf0a19b0ef0fc4ace9400a095ce2521456bc)
(cherry picked from commit 9112f290434c246d3e797551aaaf3a89d2006b23)
2008-04-24 23:50:21 -07:00
Peter Hutterer b093bf3ec3 dix: don't search for grabbed devices, PickPointer does it for us now.
Follow-up to 93ee338307.
2008-04-25 15:15:31 +09:30
Peter Hutterer 6198bad07e dix: remove misleading (stale) comment 2008-04-25 15:02:44 +09:30
Peter Hutterer 93ee338307 dix: let PickPointer() return devices that are core-grabbed by the client.
If the client currently holds a core grab on any device, this device has
priority, even over the ClientPointer.
2008-04-25 15:02:08 +09:30
Peter Hutterer f5ac98747d Standardise copyright headers for all new files created as part of MPX. 2008-04-25 14:50:24 +09:30
Peter Hutterer 3fc67b4205 Xi: remove leftover chpkpair.h file.
Used to contain declarations for ChangePointerKeyboardPairing request
handling.
2008-04-25 14:30:46 +09:30
Peter Hutterer 89add4ee98 dix: remove obsolete InitWindowPrivates(). 2008-04-25 14:30:26 +09:30
Peter Hutterer dcdc66fcfc dix: add mi.h include to stop compiler warning 2008-04-25 14:30:06 +09:30
Peter Hutterer 97552413d2 dix: remove "unused variable" compiler warning. 2008-04-25 14:29:46 +09:30
Peter Hutterer d9c38e84cc dix: remove pairingClient definition.
This variable was used originally to determine which client is allowed to
change the pointer-keyboard pairing. For now, we just let anyone change it and
see how that works out.
2008-04-25 14:29:26 +09:30
Peter Hutterer c14b858aec Xi: fix two compiler warnings
unused variable in exevents.c
implicit declaration in warpdevp.c
2008-04-25 14:29:05 +09:30