Commit Graph

5806 Commits

Author SHA1 Message Date
Jeremy Huddleston a338007be6 XQuartz: Adjust the screen origin offset properly for multimonitor setups
(cherry picked from commit f2020b9836bacd0593ac0b4c8541e32714ab02a9)
2008-05-01 18:04:18 -07:00
Peter Hutterer 8e56fd9728 dix: continue to check for invalid valuator ranges.
In an ideal world, the drivers would init all axes with NO_AXIS_LIMIT. In the
real world, this is an ABI break, so let's just leave the old check in.
2008-05-02 10:22:06 +09:30
Michel Dänzer 3b8d53452c EXA: Fall back in CompositeRects if the driver can't accelerate Composite.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=15780 .
2008-05-01 15:10:52 +02:00
Paulo Cesar Pereira de Andrade 01c61f3d97 xorgcfg: Fix a crash if xorg.conf doesn't have a Files section.
This patch only creates a Files section if required, so if no entries are
added, an empty Files section will not be created.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-01 15:55:15 +09:30
Paulo Cesar Pereira de Andrade 6899ff81e8 Fix an off by one read error in drmSIGIOHandler().
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-01 10:14:30 +09:30
Jeremy Huddleston ec0419b505 XQuartz: Moved some relevant stuff from darwin.h to darwinEvents.h
(cherry picked from commit 1fcf74a436f2e19cceb3f285b89859025d94c040)
2008-04-30 17:33:11 -07:00
Jeremy Huddleston 28d1e21f15 Dix: Cleaned up sanity checking in Get{Pointer,Keyboard}Events
XQuartz was crashing because the Appkit thread was trying to GetXXXEvents while the Xserver thread was exiting.
This adds some more sanity checks and avoids that crash
(cherry picked from commit 34ec4bd6acb834c0e3f9a5042a0cc3f52c6f3a68)
2008-04-30 17:33:07 -07:00
Kazuhiro Inaoka ce36ae526d Add M32R architecture support (bug #10020)
Still needs autotools support, so this won't actually _build_: it's just
a starting point.
2008-04-30 11:58:32 +03:00
Peter Hutterer a0e6a7d4f5 dix: resize EQ to minimum size to avoid reallocs during SIGIO.
When a new device is added, calculate the event size needed if a DCCE event is
sent and set the EQ's event size to this minimum. This avoids reallocs when a
event is sent (which may happen during a SIGIO).
2008-04-30 17:57:48 +09:30
Ben Byer b71b51c982 xquartz: created darwinTablet, to represent tablet events
(cherry picked from commit 50641bce730ee03738fa0c4beb8125b34fda556f)
2008-04-29 23:59:34 -07:00
Ben Byer 519581b0ba xquartz: remove unused params from DarwinEQInit
(cherry picked from commit 299a056737168ca1faefd675dce6d6ab13176be9)
2008-04-29 23:59:31 -07:00
Jeremy Huddleston d70487a4c0 XQuartz: Fix to tablet-event handling code; we now scale
more conservatively (to match Linux's Wacom driver) and
we now receive all tablet-related events.
(cherry picked from commit 588683cecca2cfc65a28de035cd6ee3d64ff59d2)
2008-04-29 23:59:26 -07:00
Peter Hutterer fea39c94bc dix: fix typo from last commit. 2008-04-30 13:17:14 +09:30
Peter Hutterer ffaccc2dc9 input: replace -1 as default axis limit with NO_AXIS_LIMIT define.
This allows easier refacturing of the coordinate limit handling. Grepping for
-1 is boring.
2008-04-30 11:49:11 +09:30
Peter Hutterer 00acb40f2b dix: fix typo in clipAxis.
Check needs to be (min_axis < max_axis), not (min_axis < min_axis)
2008-04-30 11:29:03 +09:30
Hong Liu f65a1a62f9 Keep rotation wrappers in place while transforms are in use
LeaveVT/EnterVT cycles will free/realloc shadow frame buffers. Because of
this, the presense/absence of that data is insufficient to know whether
the screen function wrappers are necessary. Instead, the 'transform_in_use'
flag should be used.

This patch also adds 'xf86RotateFreeShadow' for drivers to use at LeaveVT
time to free the rotation data; it will be reallocated on EnterVT.
2008-04-29 09:00:11 -07:00
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