Commit Graph

5136 Commits

Author SHA1 Message Date
Jeremy Huddleston 6acc2acd0d Rootless: mi doesn't let us resize root, so we need to do it ourselves...
(cherry picked from commit c1ec36e28cff857664090cc8792db1ae93b783fa)
2008-05-05 15:34:10 -07:00
Keith Packard efa65a0317 Rework composite overlay window code to fix several resource management bugs.
The composite overlay window code had several misunderstandings of the
workings of the X server, in particular error handling paths would often
double-free objects. Clean all of this up by using resource destruction as
the sole mechanism for freeing resource-based objects.
2008-05-04 21:54:27 -07:00
Keith Packard 6c1accce87 Empty the borderClip of manual redirect windows. (bug 15823)
Thanks to Owen Taylor for root-causing this one.

If a TreatAsTransparent window has any area in the borderClip, that will be
added to the totalClip region for use by other windows. That's wrong.
Instead, simply empty the borderClip for TreatAsTransparent windows right up
front.
2008-05-04 21:54:22 -07:00
Aaron Plattner d500eeb945 Xephyr: Handle depth 30 and reject higher depths rather than crashing. 2008-05-04 10:26:25 -07:00
Jeremy Huddleston f4a68f3701 XQuartz: Fix mouse input offsets earlier since GetPointerEvents does not like negative (x,y) values
(cherry picked from commit 8d9eab3a2ec5955cc2698fdcb1fa6ed12b2aadb7)
2008-05-02 17:42:41 -07:00
Jeremy Huddleston 96fa7da3b8 XQuartz: Avoid a possible crash at startup due to unfavorable context switching.
(cherry picked from commit ff10c37bdd09656cf2f7ee9577f5552caa1ffdb8)
2008-05-02 17:42:36 -07:00
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
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
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
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
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
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
Jeremy Huddleston b9ca789635 XQuartz: Added some pseudoramiX debug traces
(cherry picked from commit 5bee1585a399eab0a7b6fc80ad476d81b5d227d3)
2008-04-25 18:04:22 -07:00
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
Jeremy Huddleston 5869e3f555 darwin gots /dev/urandom, too yo!
(cherry picked from commit bf0144f38034bc59f108bb2c5270ff37fbe70e10)
2008-04-24 19:54:57 -07:00
Alan Coopersmith b1ae7c79db Bug 14247: If pkg-config can't find openssl.pc, just link with -lcrypto
X.Org bugzilla #14247 <http://bugs.freedesktop.org/show_bug.cgi?id=14247>
2008-04-24 19:02:43 -07:00
Jeremy Huddleston 1daae4574c Added missing HAVE_LAUNCHD to dix-config.h.in
(cherry picked from commit 1b4b73cefbc2f3e3f6d0cb84ea202f84fb60abb5)
2008-04-24 18:25:37 -07:00
Jeremy Huddleston 63853e4ad2 XQuartz: Compile in missing glx source that we still need
(cherry picked from commit c611335dee267e41dcd1733a6bb5206b102f804e)
2008-04-24 18:24:46 -07:00
Dave Airlie ae982a27e4 glx: test for valid read and draw privates before using them
this should fix a bug where f-spot exiting blows up the X server
2008-04-24 16:37:29 +10:00
Peter Hutterer f377141912 Xi: don't attempt to send to a NULL window.
Only applicable when the server comes down/restarts. In this case,
WindowTable[i] may be NULL. Let's not try to send an event then.
2008-04-24 14:19:28 +09:30
Peter Hutterer aec485f2dc dix: NULL out WindowTable after freeing all the windows.
CloseDownDevices() tries to send PresenceNotify events. If the windows are
already freed, then we are accessing dangling pointers.
2008-04-24 14:19:28 +09:30
Peter Hutterer 9ab4e2fd8e xfree86: don't free the config-file related information in DIDR. #15645
In DeleteInputDeviceRequest, leave the conf_idev (which is shared with
xf86ConfigLayout.input) alone for devices that were specified in the
ServerLayout section of the config file. This way, in the next server
generation we are left with what was the original config and can thus re-init
the devices.

This is an addon to 6d22a9615a, an attempt to
fix Bug 14418.

X.Org Bug 15645 <https://bugs.freedesktop.org/show_bug.cgi?id=15645>
X.Org Bug 14418 <https://bugs.freedesktop.org/show_bug.cgi?id=15645>
2008-04-24 14:19:28 +09:30
Jeremy Huddleston d09c520b32 Moved Apple GL bits into our DDX subtree
(cherry picked from commit c9356f32892978faecb30f7b7af7488820ce37ff)
2008-04-23 10:22:34 -07:00
Jeremy Huddleston b05b416c62 XQuartz: No need to include indirect.c a second time
(cherry picked from commit 41ed532525da85d1bd2c20af5ffa28ac6d1f4996)
2008-04-23 10:17:13 -07:00
Ben Byer 565492c70a xquartz: build fixes for GLX/DRI2 fallout (note: not guaranteed)
(cherry picked from commit 85a5796b667461bf1fafc68c07b3a704cd8efd5b)
2008-04-23 10:17:07 -07:00
Ben Byer 6f6505db51 glx / xquartz: we still need glxcontentmodes.[ch] kthx
(cherry picked from commit 27545fd37f8c703b72f7cfc329778abc1ceabfa0)
2008-04-23 10:17:02 -07:00