Commit graph

10427 commits

Author SHA1 Message Date
Jeremy Huddleston
46b7abb432 XQuartz: Add a scroll_in_device_direction preference
This preference allows users to override the related option in Mac OS X's
Mouse/Trackpad preferences.  This effectively lets the user determine
which "context" all of X11 fits into for context-based scrolling until
such API exists within X11 itself to pass along to X11 clients.

This is applicable to Mav OS X 10.7+

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit ac43984215)
2011-07-19 23:12:15 -07:00
George Staplin
1d8bbdc3b8 XQuartz: Add diagnostic error checking to xp_destroy_surface.
This occurred to me in hindsight after the last commit.  If the
original developer had done this, we would have noticed the
problem sooner.
(cherry picked from commit aa0a57996f)
(cherry picked from commit ec95a9c829)
2011-07-19 23:11:58 -07:00
George Staplin
d0bb22ed78 XQuartz: Fix a memory leak with surfaces that a new test found.
xp_destroy_surface was called with a surface id of 0, due to some
premature cleanup that set it to 0.  This means the surfaces
weren't being destroyed until the window was.

The code that did that was: pDRIDrawablePriv->sid = 0;

In long running applications this leak may or may not have been
harmful.  With the old libGL the surfaces weren't destroyed until
the context was destroyed or a new context created.  In the new
libGL they are reference counted, and released much sooner, so we
ran into a resource leak more noticeably with some tests.

Make the Apple DRI code dispatch events to the client(s) for
destroyed surfaces, when a resource is destroyed.  This seems to
work in my tests, however this clearly wasn't working for a while,
so bugs may result in the future if it enables some new (unexpected)
side effects.

Also add a few helpful comments to aid in understanding the code
in the future.

Tested with the test suite, Pymol, and various Mesa demos.
(cherry picked from commit bede83eb19)
(cherry picked from commit 4fe7df2653)
2011-07-19 23:02:13 -07:00
Jeremy Huddleston
50ec4a25b6 XQuartz: DRI: Dead code removal
Also add some comments that weren't merged in from server-1.4-apple's
99babae132

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 0ebe45a717)
2011-07-19 23:02:08 -07:00
Jeremy Huddleston
55ef10975e XQuartz: Add some sanity checking and a fallback for the bundle id.
This way we'll print an error and still mostly work rather than crashing if
someone installs XQuartz.app incorrectly or tries running the server within
the build system rather than the installed system.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 88ad050f3c)
2011-07-19 22:52:10 -07:00
Jon TURNEY
64ea1ac320 glx: Remove a few lingering traces of __GLXscreen.GLXVersion
The GLXversion member of the __GLXscreen struct
is just cruft since commit ad5c0d9efa,
when we started returning the minimum GLX version supported by all
of the screens on the display, rather than the maximum version supported
by the server.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
(cherry picked from commit 42bc198775)
2011-07-16 13:19:27 -07:00
Peter Hutterer
afb537d56a input: add POINTER_NORAW to avoid generation of raw events (#30068)
RawEvents are supposed to be events coming from the driver. When warping the
pointer, this should not generate a raw event.

X.Org Bug 30068 <http://bugs.freedesktop.org/show_bug.cgi?id=30068>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 23a7832789)

Conflicts:

	dix/getevents.c
2011-07-09 14:28:28 -07:00
Adam Jackson
6b06f37654 glx: Fix fbconfigs with no corresponding visual
There are, in general, more fbconfig depths than visual depths.
fbconfigs need not support Window rendering, however any that do must
have an associated visual ID (which we got right), and any that do not
must not claim GLX_WINDOW_BIT in GLX_DRAWABLE_TYPE (which we got
wrong).

Fixes piglit/glx-fbconfig-sanity, assuming you have a sufficiently
recent piglit, as that test formerly wrongly required pixmap-capable
fbconfigs to have a visual.

v2: Additional check for fbconfigs that didn't have GLX_WINDOW_BIT in
    the first place, from previous patch by Jon TURNEY; also, also clear
    ->visualID.

Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 3e8270b869)
2011-07-09 14:27:18 -07:00
Jeremy Huddleston
c9be51523a configure.ac: Bump version to 1.10.3
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-07-08 12:12:16 -07:00
Jeremy Huddleston
bc3c539e8a configure.ac: Bump version to 1.10.2.902 (1.10.3 RC2)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-07-01 11:34:08 -07:00
Jon TURNEY
79ef102c3a Guard use of backtrace() with HAVE_BACKTRACE
Guard the use of backtrace() with HAVE_BACKTRACE, since we already
have the autoconf machinery for setting that.

For the moment, assume dladdr() is available when backtrace() is

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 38d55f06cf)
2011-06-29 21:40:58 -07:00
Jeremy Huddleston
f0ee98584c XQuartz: Make a call to activateIgnoringOtherApps in our NSApplicationActivatedEventType handler
In addition, this change will not call into the X11 activation unless an X11
window was active when we deactivated.  We can't rely on the event and current
key windows because the key window will be nil until activated, and the event
will only reference the window if the window was clicked (whereas it will be
nil if we activated via dock or cmd-tab).

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit c8b80a82d9)
2011-06-29 21:39:03 -07:00
Cyril Brulebois
1834e82b42 Xext: Fix buggy checks.
XvMCScreenKey is defined as XvMCScreenKeyRec's address, so will never be
NULL. Use the check proposed by Alan Coopersmith and Jeremy Huddleston
instead.

Those warnings go away accordingly:
|   CC     xvmc.lo
| xvmc.c: In function 'ProcXvMCListSubpictureTypes':
| xvmc.c:490:22: warning: the comparison will always evaluate as 'false' for the address of 'XvMCScreenKeyRec' will never be NULL [-Waddress]
| xvmc.c: In function 'XvMCExtensionInit':
| xvmc.c:671:21: warning: the comparison will always evaluate as 'false' for the address of 'XvMCScreenKeyRec' will never be NULL [-Waddress]
| xvmc.c: In function 'XvMCFindXvImage':
| xvmc.c:749:22: warning: the comparison will always evaluate as 'false' for the address of 'XvMCScreenKeyRec' will never be NULL [-Waddress]

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
(cherry picked from commit 9da5aa09d7)
2011-06-29 21:38:33 -07:00
Peter Hutterer
9fab8b475d input: Only release SD buttons for explicit floating/reattachment (#36146)
Grabbing an SD device temporary floats the device but we must not release
the buttons. Introduced in

    commit 9d23459415
    Author: Peter Hutterer <peter.hutterer@who-t.net>
    Date:   Fri Feb 25 11:08:19 2011 +1000

    dix: release all buttons and keys before reattaching a device (#34182)

X.Org Bug 36146 <http://bugs.freedesktop.org/show_bug.cgi?id=36146>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit bf2059b07a)

Conflicts:

	dix/devices.c
2011-06-20 15:33:16 +10:00
Peter Hutterer
160a412e36 dix: release all buttons and keys before reattaching a device (#34182)
Testcase:
  xinput float <keyboard name>

results in the keyboard's enter key being repeated as the device is detached
while the key is still physically down. To avoid this, release all keys and
buttons before reattaching the device.

X.Org Bug 34182 <http://bugs.freedesktop.org/show_bug.cgi?id=34182>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
(cherry picked from commit 9d23459415)
(cherry picked from commit 81fbb96c54)
2011-06-20 15:31:40 +10:00
Jeremy Huddleston
c9336d13a6 configure.ac: Bump version to 1.10.2.901 (1.10.3 RC1)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-17 10:11:15 -07:00
Jeremy Huddleston
0abfba08a0 XQuartz: GLX: Use _glapi_create_table_from_handle to create out dispatch table
This will allow XQuartz built on older systems to pickup capabilities on
newer systems and prevent runtime failures when building on newer systems and
running on older ones.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

This commit squashes three cherry-picks:
(cherry picked from commit 3fa5d27e46)
(cherry picked from commit feab04397d)
(cherry picked from commit 34e2598f0a)
2011-06-17 10:08:03 -07:00
Jeremy Huddleston
830239ae42 glx: Add _glapi_create_table_from_handle
_glapi_create_table_from_handle was recently added to mesa to ease creation of
a _glapi_table.  This commit brings this API over to xserver for use in
XQuartz (next commit).

The API was generated with scripts from current mesa followed by various
script-foo to remove entries that are not in the server and add those which
are still in the server but not in mesa (CullParameterdvEXT and
CullParameterfvEXT)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit ecec578e35)
2011-06-17 10:08:02 -07:00
Jeremy Huddleston
b9e5f94e3c XQuartz: Add missing include for <pthread.h>
BuildFix for Leopard and earlier.

https://trac.macports.org/ticket/29717

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit c3df4df407)
2011-06-17 10:08:02 -07:00
Peter Hutterer
9551f50419 dix: fix an error message.
event type, not device type.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit f94898928d)

Conflicts:

	dix/events.c
2011-06-11 10:07:28 -07:00
Peter Hutterer
75f75d12cf test: don't test for double alignment on i386. (#36986)
i386 is one of the few architectures that doesn't need double alignment.

X.Org Bug 36986 <http://bugs.freedesktop.org/show_bug.cgi?id=36986>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 8ef0974874)

Conflicts:

	test/input.c
2011-06-11 10:05:43 -07:00
Alan Coopersmith
2647867c7c fbbltone.c: Mark bitmasks as unsigned ints
Clears many Sun compiler warnings:
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: initializer will be sign-extended: -16777216
"fbbltone.c", line 491: warning: integer overflow detected: op "<<"
"fbbltone.c", line 491: warning: initializer will be sign-extended: -1
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: initializer will be sign-extended: -256
"fbbltone.c", line 495: warning: integer overflow detected: op "<<"
"fbbltone.c", line 495: warning: initializer will be sign-extended: -1
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: initializer will be sign-extended: -65536
"fbbltone.c", line 499: warning: integer overflow detected: op "<<"
"fbbltone.c", line 499: warning: initializer will be sign-extended: -1

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 1b2d17748f)
2011-06-11 10:00:04 -07:00
Nicolas Kaiser
caaf263b93 randr: void function cannot return value
Providing an argument to return in a function with void return type
is not allowed by the C standard, and makes the Sun compilers unhappy.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 21eec367d0)
2011-06-06 12:39:10 -04:00
Peter Hutterer
fe4af41314 test: fix memset size for WindowRec (#37801)
X.Org Bug 37801 <http://bugs.freedesktop.org/show_bug.cgi?id=37801>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit d9bda34d0d)
2011-06-03 12:12:38 -04:00
Jeremy Huddleston
a4725afa0e XQuartz: GLX: Create a new dispatch table rather than modifying the existing one
Fixes regression introduced by b0c665ac0f

0   X11.bin                       	0x0000000100118293 __glXAquaScreenCreateContext + 684
1   X11.bin                       	0x00000001001315b0 DoCreateContext + 163
2   X11.bin                       	0x000000010013509f __glXDispatch + 211
3   X11.bin                       	0x00000001000c7dad Dispatch + 785
4   X11.bin                       	0x00000001000b97e5 dix_main + 1022
5   X11.bin                       	0x00000001000122bc server_thread + 50
6   libSystem.B.dylib             	0x00007fff836554f6 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff836553a9 thread_start + 13

http://lists.apple.com/archives/X11-users/2011/May/msg00045.html

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 38df706c6b)
2011-06-03 12:12:31 -04:00
Alan Coopersmith
6a16c4c268 "privates.h", line 198: warning: void function cannot return value
Providing an argument to return in a function with void return type
is not allowed by the C standard, and makes the Sun compilers unhappy.
(They actually flag it as an error, unless using a new enough version
 to be able to downgrade it to a warning with "-features=extensions".)

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
(cherry picked from commit bc04065b5c)
2011-06-01 22:02:27 -07:00
Marko Macek
5752cc4736 DIX: Set backgroundState correctly for root window
When we change the root window's background to None, and we've run with
-wr or -br for a forced solid background, make sure we also change the
background state to BackgroundPixel, so we don't try to lookup either
pScreen->whitePixel or pScreen->blackPixel as a pixmap.

Signed-off-by: Marko Macek <Marko.Macek@gmx.net>
Reviewed-by: Walter Harms <wharms@bfs.de>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit c5b72fd350)
2011-06-01 19:41:02 -07:00
Aaron Plattner
4bfb22e766 linux: Retry VT ioctls while errno == EINTR
When the smart scheduler is enabled, the VT ioctls (particularly
VT_WAITACTIVE) can be interrupted by the smart scheduler's SIGALRMs.
Previously, this caused the server to immediately continue on to
ScreenInit, almost certainly causing a crash or failure because the X
server that owned the VT hadn't finished cleaning up.  As of commit
7ee965a300, it causes a FatalError
instead.

Retrying the ioctl as long as it fails with errno == EINTR fixes the
problem and allows server regenerations to trigger VT switches that
actually succeed.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 88c4622b59)
2011-05-28 18:14:19 -07:00
Aaron Plattner
50b9d3142f randr: check rotated virtual size limits correctly
Commit d1107918d4 introduced checks to
the RandR path that cause RRSetScreenConfig requests to fail if the
size is too large.  Unfortunately, when RandR 1.1 rotation is enabled
it compares the rotated screen dimensions to the unrotated limits,
which causes 90- and 270-degree rotation to fail unless your screen
happens to be square:

  X Error of failed request:  BadValue (integer parameter out of range for operation)
    Major opcode of failed request:  153 (RANDR)
    Minor opcode of failed request:  2 (RRSetScreenConfig)
    Value in failed request:  0x780
    Serial number of failed request:  14
    Current serial number in output stream:  14

Fix this by moving the check above the code that swaps the dimensions
based on the rotation.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Tested-by: Robert Hooker <robert.hooker@canonical.com>
Tested-by: Kent Baxley <kent.baxley@canonical.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit b6c7b9b2f3)
2011-05-28 17:29:41 -07:00
Jeremy Huddleston
613e0e9ef7 Send events that were missing from RRSelectInput
The RANDR spec (randrproto.txt) specifies that RRSelectInput will send out
events corresponding to the event mask, if there have been changes to
CRTCs or outputs.  Only screen events were being generated, however.

Fixes http://bugs.freedesktop.org/21760

Signed-off-by: Federico Mena Quintero <federico@novell.com>
Reviewd-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit b2997431fd)
2011-05-28 17:25:58 -07:00
Jeremy Huddleston
d784fd09dc configure.ac: Bump version to 1.10.2
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-28 16:59:05 -07:00
Jeremy Huddleston
398114c148 XQuartz: Don't crash if CG increases our display resolution
miPaintWindow would cause fbFill() to overwrite pScreen's pixmap which was
sized for the old resolution.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 1fb501ad15)
2011-05-22 21:39:42 -07:00
Jeremy Huddleston
dc6efd9988 XQuartz: RandR: Don't crash if X11 is launched while there are no attached displays
If CG reports no displays when launching, we could crash in RandR.  Instead, just
provide a fake 800x600 display until we are notified about displays being attached.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 60af79e35e)
2011-05-22 21:39:37 -07:00
Jeremy Huddleston
1a665a8abd configure.ac: Bump version to 1.10.1.902 (1.10.2 RC2)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-20 22:59:27 -07:00
Jeremy Huddleston
52e27b446a XQuartz: Bump bundle version to 2.6.3
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-16 21:07:37 -07:00
Jeremy Huddleston
b4cb37d725 XQuartz: RandR: Avoid over-releasing if we are unable to determine the current display mode.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 384eb45b94)
2011-05-16 18:47:27 -07:00
Jeremy Huddleston
69e3527e25 XQuartz: Don't call mieqEnqueue during server shutdown
Found-by: GuardMalloc
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 25191648b8)
2011-05-16 18:47:20 -07:00
Alan Coopersmith
0a61aca1ed Clean up memory better when GetVisualInfo fails in ProcDbeGetVisualInfo
Use calloc to initialize pScrVisInfo array so we don't have to check
which ones were already initialized when freeing them all.

On failure, set rc if necessary, and jump to code at end that already
frees all the necessary allocations and return rc.

Fixes parfait reported error:
Error: Memory leak (CWE 401)
   Memory leak of pointer 'pScrVisInfo' allocated with malloc((count * 16))
        at line 724 of dbe/dbe.c in function 'ProcDbeGetVisualInfo'.
          'pScrVisInfo' allocated at line 693 with malloc((count * 16)).
          pScrVisInfo leaks when rc != 0 at line 710
              and j >= i at line 716.

[ This bug was found by the Parfait 0.3.7 bug checking tool.
  For more information see http://labs.oracle.com/projects/parfait/ ]

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 043c175865)
2011-05-13 23:36:28 -07:00
Alan Coopersmith
5be7451367 Only free pContext once when AddResource fails in ProcRecordCreateContext
Since RecordDeleteContext frees its argument, don't fall through to free
it again.

Error: Double free (CWE 415)
   Double free of pointer 'malloc(1072)' defined by malloc
        at line 1964 of record/record.c in function 'ProcRecordCreateContext'.
          Previously freed at line 1960 with RecordDeleteContext.
          'malloc(1072)' was allocated at line 1926 with malloc.

[ This bug was found by the Parfait 0.3.7 bug checking tool.
  For more information see http://labs.oracle.com/projects/parfait/ ]

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit dadb0791eb)
2011-05-13 23:35:43 -07:00
Alan Coopersmith
ee69c1aa7c Make xorg.conf.example rule compatible with Solaris make
Solaris make won't substitute $< in explicit rules, only implicit ones

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
(cherry picked from commit 8d229c4cf9)
2011-05-13 23:31:14 -07:00
Jeremy Huddleston
189d44e7d2 XQuartz: Don't call into CoreFoundation after fork() and before exec()
After fork()ing, we should just limit ourselves to setting up
the environment, file descriptors, and exec()ing.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit  c89a6f824e)
2011-05-13 23:30:01 -07:00
Jeremy Huddleston
277e188944 os: Silence warnings when building with clang
access.c:1492:20: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses]
        if ((host->family == FamilyServerInterpreted)) {
             ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
access.c:1492:20: note: use '=' to turn this equality comparison into an assignment
        if ((host->family == FamilyServerInterpreted)) {
                          ^~
                          =
access.c:1492:20: note: remove extraneous parentheses around the comparison to silence this warning
        if ((host->family == FamilyServerInterpreted)) {
            ~             ^                         ~

In file included from xstrans.c:8:
In file included from /usr/X11/include/X11/Xtrans/transport.c:62:
/usr/X11/include/X11/Xtrans/Xtranssock.c:262:5: error: implicit declaration of function 'ErrorF' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
    PRMSG (3,"SocketSelectFamily(%s)\n", family, 0, 0);
    ^

log.c:180:29: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
        if (asprintf(&logFileName, fname, display) == -1)
                                   ^~~~~
log.c:190:26: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
                if ((asprintf(&suffix, backup, display) == -1) ||
                                       ^~~~~~
log.c:382:25: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
        LogVWrite(verb, tmpBuf, args);
                        ^~~~~~

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
(cherry picked from commit c524f8bb76)
2011-05-11 12:26:53 -07:00
Jeremy Huddleston
164ef01bd5 configure.ac: Version bumped to 1.10.1.901
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-06 15:43:04 -07:00
Jeremy Huddleston
c52a93c539 XQuartz: Fix incorrect typedefs with XPLUGIN_VERSION < 4
Ok, this time for sure... how many brown bags can I fit over my face?

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 0fc7ec6dd5)
2011-05-04 18:39:04 -07:00
Adam Jackson
7688d6d317 glx: Make --disable-dri not disable AIGLX
Either the DRI1 or DRI2 loaders are sufficient.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 001b6b8b70)
2011-05-04 13:15:58 -04:00
Adam Jackson
e67afcdb9a glx: Use 0 rather than garbage for unknown INTEL_swap_event types
Otherwise the garbage you return could well be numerically identical to
one of the swap type tokens, and apps which rely on us to tell the truth
would be in trouble.

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit f8540b9dcc)
2011-05-04 13:15:58 -04:00
Adam Jackson
b5093063b5 glx: Fix lifetime tracking for pixmaps
GLX pixmaps take a reference on the underlying pixmap; X and GLX pixmap
IDs can be destroyed in either order with no error.  Only windows need
to be tracked under both XIDs.

Fixes piglit/glx-pixmap-life.

Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 6a433b67ca)
2011-05-04 13:15:58 -04:00
Adam Jackson
618dc75a05 glx: Reimplement context tags
This would let you do a constant-time context lookup, but if that's your
performance problem you have two problems.  Just use the context's XID
as the tag value instead.

In order to do this, we have to defer destroying a context until it
actually goes unreferenced, as you're allowed to mention a context tag
after you've (ostensibly) destroyed the context, as long as it's still
your current context.  Thus, change DestroyContext to merely mark the
context as dead if it's a current context, and call down to actual
resource destruction (and XID reclamation) in StopUsingContext.

Also, stop trying to delete context state from DrawableGone.  This was
always broken, as GLX does not say that contexts are destroyed when
their drawables are destroyed.  But with the above change to defer
context destruction, this would trigger a server crash on client exit as
we'd free the context state twice.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit a48dadc98a)
2011-05-04 13:15:58 -04:00
Adam Jackson
c7d9a07d52 glx: Fix _glapi_add_dispatch
We never need to generate stubs, because those conditions can't happen
in the server.  Yank that code out, but keep the bookkeeping for which
extension functions are registered so the DRI driver doesn't get
confused.

As a pleasant bonus, we're now friendlier for environments like selinux
that make runtime code generation difficult, and we're portable to more
arches since we don't have to port the assembly stubs.

Fixes the following clutter conformance tests (indirect rendering,
llvmpipe driver):

    test-cogl-backface-culling
    test-cogl-materials
    test-cogl-readpixels
    test-cogl-texture-mipmaps
    test-cogl-texture-get-set-data
    test-cogl-viewport
    test-cogl-offscreen

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 30d6947cee)
2011-05-04 13:15:58 -04:00
Adam Jackson
888a29674c glx: Lobotomize _glapi_get_proc_address
This isn't a meaningful thing in the indirect glx loader, so just warn
if it ever happens and move on.

But also, mark it PUBLIC, so if the driver does ever call it we merely
warn instead of aborting because ld.so can't find the symbol.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 17d9e37472)
2011-05-04 13:15:58 -04:00