Commit Graph

10866 Commits

Author SHA1 Message Date
Jeremy Huddleston
bac8d12555 XQuartz: Ensure that {CF,NS}_RETURNS{,_NOT}_RETAINED are defined
These will be used in subsequent patches to denote proper retain counts in XQuartz

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-03 10:39:31 -07:00
Alan Coopersmith
043c175865 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>
2011-05-02 20:38:16 -07:00
Alan Coopersmith
dadb0791eb 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>
2011-05-02 20:38:03 -07:00
Daniel Stone
73de542104 Input: Fix event size confusion in CheckPassiveGrabsOnWindow
We were just storing a DeviceEvent, but allocating enough space for an
InternalEvent.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
2011-05-03 01:46:53 +01:00
Daniel Stone
7063264910 Input: Add DeepestSpriteWin function
Does what it says on the box: returns the deepest child window in a
given sprite's trace.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2011-05-03 01:46:35 +01:00
Chase Douglas
65b54548dc Input: Pass co-ordinates by reference to transformAbsolute
With the upcoming XI 2.1 touch work, the co-ordinate values will need to
be passed by reference, rather than modified in-place.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2011-05-03 01:46:35 +01:00
Alan Coopersmith
a14a0c7113 Move event filter initializer out of the structure itself
When kept in the structure, it causes the entire MAXDEVICES * 128 masks
to be stored in the data segment and loaded from the file, and also leads
to worries about later generations inheriting changes across server reset.

           text    data     bss     dec     hex filename
Before:   91837   20528      32  112397   1b70d .libs/events.o
After:    92277      48   20512  112837   1b8c5 .libs/events.o
Before: 3013384  122696  163156 3299236  3257a4 Xorg
After:  3013832  102216  183636 3299684  325964 Xorg

File size before:       4337008 Xorg
File size after:        4316568 Xorg

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2011-05-03 01:46:35 +01:00
Alan Coopersmith
8d229c4cf9 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>
2011-05-01 10:19:35 -07:00
Alan Coopersmith
c6029246dd Move Xinput server API documentation from libXi to doc/xml
Documentation is quite out of date but still fits better here than
in the client library.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by:  Peter Hutterer <peter.hutterer@who-t.net>
2011-05-01 10:19:35 -07:00
Jeremy Huddleston
0fc7ec6dd5 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>
2011-04-29 11:06:18 -07:00
Jeremy Huddleston
29d471663e XQuartz: Use a rwlock instead of a mutex to protect window_hash in the pthread case
Concurrent reads are acceptable, so using an rwlock should be better.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-29 11:04:42 -07:00
Keith Packard
5cb31cd0cb Merge remote-tracking branch 'jturney/remove-opengl-spec-download' 2011-04-29 09:59:49 -07:00
Jon TURNEY
4d8735d388 hw/xwin: wglext.h should be provided by w32api, rather than downloaded
wglext.h should be provided by the w32api package, rather than downloaded.
if it's not, do 'wget -P /usr/include/w32api/GL http://www.opengl.org/registry/api/wglext.h'

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-04-28 17:53:39 +01:00
Jon TURNEY
a50878682c configure: Look for Khronos OpenGL spec files using pkg-config
Look for Khronos OpenGL spec files using pkg-config, rather than downloading them

Also add a --with-khronos-spec-dir=PATH configure option so XWin can be directed
where to find these files without using the khronos-spec-files package

XWin with AIGLX requires OpenGL spec files in order to generate wrapper code which:
(1) thunks from the glapi dispatch table which uses the default cdecl calling convention
to native GL functions using the stdcall calling convention.
(2) performs function address lookup for OpenGL 1.2+ functions, which are treated
as extensions and so not directly linkable.

v2: KHRONOS_SPEC_DIR is only valid when XWIN_GLX_WINDOWS is defined. Avoid 'make dist'
seeing invalid dependencies by only including rules using KHRONOS_SPEC_DIR if
XWIN_GLX_WINDOWS is defined

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-04-28 17:48:44 +01:00
Jeremy Huddleston
0f284f0f42 XQuartz: BuildFix to build correctly with XPLUGIN_VERSION < 4
This fixes a regression introduced by d79cc14a51

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-27 22:12:59 -07:00
Keith Packard
f6d4e75ec5 Merge remote-tracking branch 'jturney/master' 2011-04-27 12:08:51 -07:00
Keith Packard
ec9ea40178 Merge remote-tracking branch 'jeremyhu/master' 2011-04-27 12:01:56 -07:00
Jon TURNEY
4318e6a147 Cygwin/X: Handle failure during winScreenInit()
Handle failure during winScreenInit() a bit more cleanly, rather than crashing

This avoids a crash with 'XWin -fullscreen -screen 0 @2 -screen 1 @1'

Also document that fullscreen may only be applied to one screen.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
2011-04-27 14:25:16 +01:00
Jon TURNEY
ce6136f8c5 Cygwin/X: Make winOverrrideStyle() thread-safe
Make winOverrrideStyle() thread-safe

winOverrideStyle() is called from the internal WM client thread.

Accessing server-internal data structures to get window name and
class is not safe, as there is no lock to ensure we do not collide
with these data structures being updated in the server thread.

Rewrite so the internal client thread uses X client calls to
obtain this data safely

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
2011-04-27 14:24:17 +01:00
Jon TURNEY
0c603509eb Cygwin/X: Cosmetic fixes to logging of result from X*TextPropertyToTextList()
Report XLocaleNotSupported result from X*TextPropertyToTextList()
Fix formatting for unknown results reported for X*TextPropertyToTextList()

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
2011-04-27 14:23:35 +01:00
Jon TURNEY
71550a8665 Cygwin/X: Decorate function pointers retrieved via GetProcAddress with WINAPI
Decorate function pointers retrieved via GetProcAddress which are currently
missing it with WINAPI, to ensure stdcall convention is used when calling them.

This fixes a crash currently seen when compiled -O2 and the -screen option uses
a size and monitor number e.g. -screen 0 1280x1000@2

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
2011-04-27 14:23:09 +01:00
Jon TURNEY
38a1f5c613 Cygwin/X: Don't make InputOnly windows visible
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
2011-04-27 14:22:41 +01:00
Jon TURNEY
bd288c3458 Cygwin/X: Fix a GDI bitmap resource leak of window icons
Ensure any icon created specially for a window is destroyed when
the window is destroyed

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
2011-04-27 14:22:13 +01:00
Jon TURNEY
19e764eee0 Cygwin/X: Internal WM workaround for Java AWT bug
Java applications using AWT on JRE 1.6.0 break with non-reparenting WMs AWT
doesn't explicitly know about (See sun bug #6434227)

XDecoratedPeer.handleConfigureNotifyEvent() only processes non-synthetic
ConfigureNotify events to update window location if it's identified the
WM as a non-reparenting WM it knows about (compiz or lookingglass)

Rather than tell all sorts of lies to get XWM to recognize us as one of
those, simply send a synthetic ConfigureNotify for every non-synthetic one

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Tested-by: Colin Harrison <colin.harrison@virgin.net>
2011-04-27 14:19:01 +01:00
Jon TURNEY
c5a612fc18 configure: Let configure --enable/disable-aiglx control building of AIGLX for all DDXs
Let configure --enable/disable-aiglx control building of AIGLX for all DDXs. Currently
we can't use --enable/disable-aiglx to control if Xwin DDX is built with AIGLX enabled,
as at the moment it's forced off if we aren't building the X.Org DDX DRI or DRI2 loader

Rearrange things a bit, introducing a new automake conditional, AIGLX_DRI_LOADER to
specifically indicate if the X.Org DDX DRI/DRI2 loader convenience library should be
built, and replace the previous X.Org DDX-specific uses of the AIGLX conditional with that

As before, AIGLX_DRI_LOADER is only enabled if --enable-glx, --enable-aiglx and at least one
of --enable-dri or --enable-dri2 are enabled

This allows the general conditional AIGLX to control if AIGLX is built for the XWin DDX as
well

The C #define AIGLX set by AC_DEFINE(AIGLX) seems to be obsolete, I can't find anything
which checks it

Updated for ajax's "glx: Make --disable-dri not disable AIGLX" patch, which allows DRI2
to be enabled independently of DRI1

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-04-26 10:40:56 +01:00
Jeremy Huddleston
6f29dbf5e3 XQuartz: Use ErrorF rather than fprintf to log errors
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 22:00:41 -07:00
Jeremy Huddleston
cb083b05c4 XQuartz: stub: Dead code removal
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 21:25:10 -07:00
Emanuele Giaquinta
72ed7551f4 XQuartz: pbproxy: LP64: Fix itteration through XGetWindowProperty where sizeof(long) != 4
http://xquartz.macosforge.org/trac/ticket/476

Signed-off-by: Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston
0a60192a85 XQuartz: Enable logging to a file for better debugging
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston
de4023f194 XQuartz: Rename launchd-id-prefix to bundle-id-prefix
It's used many other places than just for launchd.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston
e466745109 XQuartz: Dead code removal
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston
f1d867c0a1 XQuartz: Silence clang static analyzer
Call to 'malloc' has an allocation size of 0 bytes.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
913223e9dd XQuartz: xpr: Dead code removal
Assigned value is always the same as the existing value.

Found by clang static analyzer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
d0caa0e4cd XQuartz: Silence warnings about deprecated functionality where it is an intended fallback
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
9244a3a24f XQuartz: xpr: Use a serial queue rather than pthread mutexes for window_hash
Additionally removes some dead code and fixes double-locking in
xprIsX11Window.  xprIsX11Window doesn't need to do any locking because
those resources are protected by the called functions themselves.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel A. Steffen <dsteffen@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
bac34a54f7 XQuartz: xpr: Initialize window_hash in xprInit
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:03 -07:00
Jeremy Huddleston
1596ea72d6 XQuartz: Use a lighter spinlock instead of a pthread_mutex_t in QuartzScreenSaver
Currently, we only end up here through a call to QuartzShowFullscreen, and
this is always on the same thread.  Future changes (such as further
incorporating libdispatch) may allow this to change, but contention will
remain minimal since the call is infrequent and it is short held.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel A. Steffen <dsteffen@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
3e253c603b XQuartz: Remove the threadSafety dead-ish code
It's been a few years now since we've needed this to debug thread
boundaries, so punt it out to clean up the namespace polution.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
a52c8078c9 XQuartz: Use xorg_backtrace() instead of spewCallStack()
xorg_backtrace() has been in os for two years now, we might as well
start using it.

Ref: 94ed0ba1b5

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
d79cc14a51 XQuartz: Fix compilation warnings with XPLUGIN_VERSION >= 4
xprAppleWM.c:143: warning: initialization from incompatible pointer type
xprAppleWM.c:144: warning: initialization from incompatible pointer type

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
6128544fd5 XQuartz: Bump bundle version to 2.7.0
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:02 -07:00
Jeremy Huddleston
4944de2484 rootless: Fix a typo in RootlessGlyphs which resulted in a garbage value
Found by clang static analyzer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:01 -07:00
Jeremy Huddleston
2098cb03c6 rootless: Dead code removal
Found by clang static analyzer

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:01 -07:00
Jeremy Huddleston
bb4d145bd2 glx: Silence warnings when building with clang
This replaces AX_TLS (GPL3) with XORG_TLS (MIT)

In file included from glapi.c:46:
In file included from ./glapi.h:51:
./glthread.h:237:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec")));
                   ^
In file included from glapi.c:46:
./glapi.h:92:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec")));
                   ^
glapi.c:82:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec"))) = NULL;
                   ^
glapi.c:85:20: error: unknown attribute 'tls_model' ignored [-Werror,-Wunknown-attributes]
    __attribute__((tls_model("initial-exec")));
                   ^
4 errors generated.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Tested-by: Jamey Sharp <jamey@minilop.net>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-04-25 18:56:56 -07:00
Jeremy Huddleston
5c9eafc8e5 render: Silence warnings when building with clang
picture.c:351:37: error: implicit conversion from 'unsigned int' to 'CARD16' (aka 'unsigned short') changes value from 4294967295 to 65535
      [-Werror,-Wconstant-conversion]
            pFormats[f].direct.alphaMask = Mask(PICT_FORMAT_A(format));
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
...
fatal error: too many errors emitted, stopping now [-ferror-limit=]

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Suggested-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-25 18:25:27 -07:00
Jeremy Huddleston
c524f8bb76 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>
2011-04-25 10:45:34 -07:00
Jeremy Huddleston
ab81aa9140 Xext: Silence warnings when building with clang
xvmain.c:1113:22: warning: equality comparison with extraneous parentheses [-Wparentheses]
      if ((pf->depth == pDraw->depth)
           ~~~~~~~~~~^~~~~~~~~~~~~~~
xvmain.c:1113:22: note: use '=' to turn this equality comparison into an assignment
      if ((pf->depth == pDraw->depth)
                     ^~
                     =
xvmain.c:1113:22: note: remove extraneous parentheses around the comparison to silence this warning
      if ((pf->depth == pDraw->depth)
          ~          ^              ~
1 warning generated.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-25 10:45:34 -07:00
Jeremy Huddleston
fd086f87cd fb: Silence warnings when building with clang
fbpict.c:163:8: warning: implicit conversion from enumeration type 'PictFormatShort' (aka 'enum _PictFormatShort') to different enumeration
      type 'pixman_format_code_t' [-Wconversion]
        pict->format,
        ~~~~~~^~~~~~

fbbltone.c:486:2: warning: shift result (281474959933440) requires 49 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
        C2_24( 0, 0), C2_24 ( 1, 0), C2_24 ( 2, 0), C2_24 ( 3, 0),
        ^~~~~~~~~~~~
fbbltone.c:474:6: note: instantiated from:
     SelMask24(b,1,r))
     ^
fbbltone.c:429:46: note: instantiated from:
                                                    ^
fbbltone.c:427:18: note: instantiated from:
                      0xffffff << Mask24Check(x,r)) : 0)
                      ~~~~~~~~ ^

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-04-25 10:45:34 -07:00
Jeremy Huddleston
aad7b324ae os: Add missing _X_ATTRIBUTE_PRINTF to va_list variants
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 10:45:34 -07:00
Nicolas Kaiser
5423da9fb2 xkb: remove duplicated include
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr>
2011-04-25 10:45:34 -07:00