Commit Graph

6522 Commits

Author SHA1 Message Date
Jeremy Huddleston 9c5fc7762e Partially reverts commit 505c216d03.
I don't know how the hell git-cherrypick messed that up to delete fbwindow.c
2008-10-03 11:24:34 -07:00
George Peter Staplin 7bb73a9513 XQuartz: pbproxy: Possibly fix a memory leak by using an [NSApp run] loop,
instead of calling CFRunLoopRun() directly.  The leak wasn't reproducible on
this machine, but someone was able to produce a leak trace with Instruments
that indicates it was leaking in the CFRunLoopRun() path.

x-input.m: dequeue and ignore events when pbproxy_active is false.

x-selection.h: add an is_active method that is used by x-input.m to ignore
events.

x-selection.m: Handle nearly every preference, except for primary_on_grab,
which I don't really understand yet.
(cherry picked from commit 4d51ad851e64da83cbdfb0a4a22428418a7bcf75)
2008-10-03 11:14:49 -07:00
Jeremy Huddleston 2a5ce41f03 XQuartz: Use "pointer" and "pen" for device names to please GDK.
(cherry picked from commit 00ca0f4d839abf47e9573a1552473e039cf787e6)
2008-10-03 11:14:43 -07:00
Jeremy Huddleston d3f597a986 XQuartz: Workaround for initial pressure/tilt being sent as 0 with motion during the proximity event
(cherry picked from commit 9a91d770a6411dd876187e64a8bda1f0745169ae)
2008-10-03 11:14:40 -07:00
Jeremy Huddleston 1657dfb843 XQuartz: Using absolute ranges for pointer location to increase resolution and better support tablets.
(cherry picked from commit d79ccb45f68b65d65718b5b77efe2fae6eeda762)
2008-10-03 11:14:38 -07:00
Jeremy Huddleston 88bb8c6f48 XQuartz: Removed resolved comment about localization.
(cherry picked from commit 8ed5faf058ac7b0782a9cc13a2c58b80168358d2)
2008-10-03 11:14:34 -07:00
George Peter Staplin b1d0b19661 XQuartz: pbproxy: Make the signal handler safer by using _exit, and only exit.
Remove some unnecesssary headers.

Remove some dead code that was never called or used in pbproxy.

Make use of an NSAutoreleasePool in x_init.  It could potentially cause a leak
on a startup without this.

Start adding reload_preferences to the x_selection class, as well as event
handling for that.
(cherry picked from commit 602e8ba8f7ee196696bc9e3cea6ecdf3200dcf5c)
2008-10-03 11:14:30 -07:00
Jeremy Huddleston ecd260143c XQuartz: Added some localizable strings that were missing.
(cherry picked from commit 2c8205ea8b709c5859412b466e83aec7a94acdcf)
2008-10-03 11:14:28 -07:00
Jeremy Huddleston aae878b890 XQuartz: Actually send the pointer event from the pen even if it happes to actually have 0 pressure and 0 tilt.
(cherry picked from commit f41583761955cb9c92c43239bfaa8ae0e5d95e33)
2008-10-03 11:13:03 -07:00
Jeremy Huddleston b7ad86ff8a Xquartz: xpbproxy: Split out app-specific stuff to app-main.m in prep for making this into a thread.
(cherry picked from commit c2012138a520560f8a2160518ea73fced410c3b7)
2008-10-03 11:12:57 -07:00
Jeremy Huddleston 5446adebfb XQuartz: Send AppleWMReloadPreferences where appropriate.
(cherry picked from commit 490cbe9888e2c1080495b003c429fdb1659444e1)
2008-10-03 11:12:49 -07:00
Jeremy Huddleston 6020c3fbfe XQuartz: Added a --enable-integrated-xpbproxy configure option for building xpbproxy as an app or as a thread.
(cherry picked from commit 8edc5fb38c922f28659d2f823148339a8907c4d9)
(cherry picked from commit 88033a66a5549870fd053795b019d4c22950425b)
2008-10-03 11:11:47 -07:00
Jeremy Huddleston 505c216d03 Added dep on applewmproto 1.1.0
(cherry picked from commit b350b066740a2e72585153e35478538cf1bca9ef)
2008-10-03 11:11:37 -07:00
Adam Jackson 1c1a6e965d Remove an utterly, utterly ancient changelog.
Wow.
2008-10-03 11:58:20 -04:00
Peter Hutterer 9c8a2be2c7 dix: fix axis scaling.
For two axes [a, b] and [x, y] (inclusive), the formula to scale point P(ab)
to (x,y) is:
    (P - a)/(b - a) * (y - x) + x

And the whole end result rounded of course to get the integer we need.
2008-10-03 15:27:07 +09:30
Peter Hutterer 93ef72fa26 dix: don't lose subpixel precision when scaling.
Only scale x/y back from screen range if we have crossed screen, otherwise
leave it as it is.
2008-10-03 15:27:07 +09:30
Simon Thum 5ef5e89f0e dix: fix non-initialization of pointer accel in master devices.
Init MDs always with PtrAccelNoOp.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-03 15:27:07 +09:30
Peter Hutterer 036d424827 xfree86: don't let DGA steal key events outside of [9,255]. 2008-10-03 15:27:07 +09:30
Adam Jackson 56a24cf894 xorg.conf.man: We don't look in root's ~ anymore, don't say we do. 2008-10-02 17:56:31 -04:00
Adam Jackson 7921c4a0bf Remove some stale IPv6 debugging 2008-10-02 17:08:48 -04:00
Adam Jackson f836e1f11b Unifdef ISC 2008-10-02 17:03:54 -04:00
Adam Jackson b1a3173473 Fix bad preprocessor line 2008-10-02 17:03:21 -04:00
Adam Jackson 00f01f3945 Don't inherit XAUTHORITY from the environment.
It's not especially obvious, and unpleasantly overloaded for the Xnest
case.  Typically this gives you a server that looks for its auth data in
the authority file you were using for the running X session, which
generally doesn't have an entry for the display you just started.

All the major dm's, and startx, pass -auth explicitly, so this shouldn't
cause too much upheaval.
2008-10-02 15:48:18 -04:00
George Peter Staplin eb8be3e90a XQuartz: pbproxy: Fix another STRING bug.
Fix the usage of the NSString cStringUsingEncoding: - it doesn't NUL
terminate the string, which lead to a bus error.  So, we use
lengthOfBytesUsingEncoding: to get the length in bytes instead of
strlen().
(cherry picked from commit 6333d619e747c3b6bd3ba7557e35c0e5f6daa40f)
2008-09-26 12:31:33 -07:00
George Peter Staplin edfa3f8233 XQuartz: pbproxy: Fix a bug that rxvt brought out in STRING copying. Now I can copy and paste to/from rxvt correctly.
(cherry picked from commit 82a4dc5f0f31a7911ee1cce5d1b162077befa811)
2008-09-26 12:31:29 -07:00
Jeremy Huddleston 12a59c44cb XQuartz: Fixed threading issue with TSM.
(cherry picked from commit 93ab4e0071670bb80bfa1170dd97ed9d6d51c67a)
2008-09-26 12:31:21 -07:00
Jeremy Huddleston ee87c9b024 XQuartz: pbproxy: Removed stray SPI include.
(cherry picked from commit 2fb2bc77b804d7b63002c1423cb0bfc658eeee45)
2008-09-26 12:31:18 -07:00
George Peter Staplin 591cc57627 XQuartz: pbproxy: Fix 3 paths that could leak memory.
2 of the paths leaked, when INCR transfers were done.  Now we
are leak free according to the leaks program for all transfers
I have tried so far.
(cherry picked from commit aa98db576bc02f0765cb35d0282a894ba3778213)
2008-09-26 12:31:12 -07:00
George Peter Staplin 586fbc91df XQuartz: pbproxy: Fix NSObject memory leaks by properly using the
NSAutoreleasePool.   Now the usage is consistent.  In x_input_run()
we create a pool, and release it after processing the XEvents.

Add some getpid() output to main for debugging.  It needs a bit more
testing before the next release.

Don't retain the NSPasteboard as the old code did.  That may have
contributed to the leak, and it made it so that we needed the
NSAutoreleasePool created in main().

Remove the _known_types, and _pasteboard instance variables from
the x_selection class.  They aren't needed anymore.

The leaks program now indicates 0 leaks after some usage.  I want
to test further, but this seems much better, and my memory usage
graph indicates it's not growing.
(cherry picked from commit b245d84a72ee3929546cd11a6eba3c60fb4a4d95)
2008-09-26 12:31:06 -07:00
George Peter Staplin 238999cfc9 XQuartz: pbproxy: Add a comment to pbproxy.h about how the DB()
macro causes a leak (according to the leaks program).

Attempt to fix several other leaks with release method calls.
For some reason the process still grows more than it should...

I will need to use some better methods than leaks, and malloc_history
I suspect.  Whatever is leaking, it's hard to find.  I need to isolate
the cases more.

Add a missing image/jpeg branch.

Remove read_prop_32 - it's not used.
(cherry picked from commit 63a680354dcb545fef935ac97596dd35ceaed960)
2008-09-26 12:31:01 -07:00
Peter Hutterer 106eb37e02 Require inputproto 1.9.99.5
Pull and rebuild your input drivers, while you're at it.
2008-09-26 13:32:13 +09:30
Peter Hutterer fbd09486c6 Push server-known properties into xserver-properties.h. 2008-09-26 13:32:11 +09:30
Peter Hutterer a2d83b9dc8 Xi: add "deletable" flag to properties, add DeleteProperty handler.
A property can only be deleted if any of the following is true:
- if a property is deletable and all handlers return Success.
- if a property is non-deleteable and the all handlers return Success AND the
  delete request does not come from a client (i.e. driver or the server).

A client can never delete a non-deletable property.
2008-09-26 13:32:08 +09:30
Peter Hutterer 22e9047268 Xi: allow Set/GetProperties to return a status, and honour this status code.
If a property handler now bails out, return the error code to the caller. This
allows to be slightly more specific with the errors.
2008-09-26 13:32:07 +09:30
Peter Hutterer 1e24e7b9df Xi: remove configure/query device property calls.
This removes all the meta-information about device properties (pending,
fromClient, range, valid_values, immutable).
2008-09-26 13:32:05 +09:30
Peter Hutterer feaa5fa671 xfixes: realize the invisible cursor before displaying it.
AllocARGBCursor realizes the cursor but can only do so if we have devices
there already. If we don't - then the cursor needs to be realized elsewhere.
This is usually done in InitializeSprite, but since xfixes just hard-swaps the
(realized) cursor to the InvisibleCursor, we need to manually realize it
before trying to display it.
2008-09-26 09:33:39 +09:30
Peter Hutterer e58be0f342 config: print error code if NIDR fails. 2008-09-26 09:33:39 +09:30
Peter Hutterer 30c3c13f10 xkb: squash canonical types into explicit ones on core reconstruction.
If we update key types from core, and groups 2 - n have a canonical type but
the same symbols as the explicit type of group 1, assume that it was a core
sym duplication according to Section 12.4 of the XKB Protocol Spec.
Ignore the canonical types and pretend there's only one group for the key -
with the explicit key type.

The protocol spec does not cover this case, so we have to guess here.
2008-09-26 09:33:39 +09:30
Peter Hutterer ae986d1c73 xkb: fix core keyboard map generation. #14373
According to Section 12.4 of the XKB Protocol Spec, if a key only has a single
group but the keyboard has multiple groups defined, the core description of
the key is a duplication of the single group across all symbols. i.e.
G1L1 G1L2 G1L1 G1L2 G1L3 G1L4 G1L3 G1L4

The previous code generated G1L1 G1L2 G1L3 G1L4 G1L3 G1L4, leading to
"invented" groups when the process is reversed.

Note that this creates wrong key types on reconstruction from core to xkb,
i.e. any single-group key with a key type that is not one of the canonical
four (Sec 12.2.3), will get the assigned type on group 1, and a canonical type
for the other gruops.

X.Org Bug 14373 <http://bugs.freedesktop.org/show_bug.cgi?id=14373>
2008-09-26 09:33:39 +09:30
Dave Airlie 5bf3f0fd4e exa: make sure pixmap devPrivate.ptr is NULL at create time 2008-09-26 08:59:30 +10:00
Ian Romanick 82f150d73c GLX: Make sure GLX_SGI_make_current_read is enabled when possible 2008-09-24 16:56:45 -07:00
Adam Jackson 8d9defe8c2 Fix un-suppressing the initial cursor.
The intended behaviour was "show as soon as someone calls
XDefineCursor".  What you actually got was, uh, slightly less well
defined, since the screen's ChangeWindowAttributes hook would run after
DIX handled the cursor change.  Oops.

The trivial way to turn the cursor on is:
% xsetroot -cursor_name gumby

Refer to /usr/include/X11/cursorfont.h for cursor names.

Thanks to anholt for catching this.
2008-09-24 10:21:35 -04:00
Keith Packard a39377cbcb Revert "Render: Use built-in SHA1 library"
This reverts commit d3bd31fddf.

X.org should not be providing a custom SHA1 implementation.
2008-09-23 09:22:07 -07:00
Keith Packard 10a9bac025 Revert "Update COPYING for SHA1 code"
This reverts commit 64387c8573.

X.org should not be providing a custom SHA1 implementation.
2008-09-23 09:21:37 -07:00
Daniel Stone 64387c8573 Update COPYING for SHA1 code 2008-09-23 19:05:14 +03:00
John Tapsell d3bd31fddf Render: Use built-in SHA1 library
Getting an external library for SHA1 is a mess, so just use our own,
regrettably.  Public domain implementation.
2008-09-23 18:56:32 +03:00
Adam Jackson 991ed2949b Rename SaveSetMap() to SaveSetShouldMap().
Avoids preprocessor collision with xfixeswire.h
2008-09-23 10:22:22 -04:00
Owen Taylor ca9fae0079 Change 'remap' to 'map' in saveset functions/macros
Now that the code has been fixed so that Unmap means unmap and not "don't
remap", 'remap' was confusing to have in the function names/parameters, so
change it to simple 'map'.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-09-22 12:43:30 -07:00
Adam Jackson ad14239a35 Upgrade GLX Public License 1.0 to FreeB 2.0.
According to the press release:

    Previous SGI contributions to the free and open source community
    are now available under the new license. These contributions
    include the SGI® OpenGL® Sample Implementation, the GLX™ API and
    other GLX extensions.

    [...]

    "SGI has been one of the most ardent commercial supporters of free
    and open source software, so it was important to us that we continue
    to support the free software development community by releasing our
    earlier OpenGL-related contributions under this new license," said
    Steve Neuner, director of Linux, SGI. "This license ensures that all
    existing user communities will benefit, and their work can proceed
    unimpeded. Both Mesa and the X.org Project can continue to utilize
    this code in free software distributions of GNU/Linux. Now more than
    ever, software previously released by SGI under earlier GLX and SGI
    Free Software License B is free."

"The GLX API" is here read to include the original GLX source release
from:

http://www.sgi.com/products/software/opensource/glx/download.html
ftp://ftp.sgi.com/sgi/opengl/glx/glx1_2.1.tgz

which includes glxext.c as included in XFree86, from which our copies
in glx/ and hw/dmx/glxProxy/ are derived.
2008-09-22 11:26:49 -04:00
Owen W. Taylor 722c51960d Don't remap windows for SaveSetUnmap
Since ReparentWindow() does a unmap/map pair for windows that are already
mapped, for saveset windows with SaveSetUnmap, we must unmap the window
before calling ReparentWindow() to avoid the generation of MapRequest
events, and so forth.
2008-09-22 11:04:26 -04:00