Tk Source Code

Check-in [2be35e8b]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Don't work around XkbOpenDisplay's non-const-ness with a macro, when there is only a single call. A type-cate suffices. Merge-mark core-8-5-14, just to document that really all changes are merged back.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: 2be35e8bf2146a56e47dc81c076de1cab7cf9132
User & Date: jan.nijtmans 2013-04-08 07:52:43
Original Comment: Don't work arounc XkbOpenDisplay's non-const-ness with a macro, when there is only a single call. A type-case suffices. Merge-mark core-8-5-14, just to document that really all changes are merged back.
Context
2013-04-10
15:20
[Bug 3568760]: Tk documentation fails to build check-in: 46b26302 user: jan.nijtmans tags: core-8-5-branch
2013-04-08
07:57
Don't work around XkbOpenDisplay's non-const-ness with a macro, when there is only a single call. A type-cast suffices. check-in: ac4aa533 user: jan.nijtmans tags: trunk
07:52
Don't work around XkbOpenDisplay's non-const-ness with a macro, when there is only a single call. A type-cate suffices. Merge-mark core-8-5-14, just to document that really all changes are merged back. check-in: 2be35e8b user: jan.nijtmans tags: core-8-5-branch
2013-04-03
20:17
Remove unused variable. Remove tkStubLib.o from tk85.dll. On Windows, data cannot be exported from dll's anyway, so it's just dead code. On UNIX, it makes a difference, and it would be a potential incompatibility to remove it. check-in: 66f47c63 user: jan.nijtmans tags: core-8-5-branch
2013-04-01
18:31
Update changes. Tag RC1. Closed-Leaf check-in: 3aa31629 user: dgp tags: core-8-5-14, core-8-5-14rc
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to unix/tkUnixEvent.c.

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 */

#include "tkUnixInt.h"
#include <signal.h>
#ifdef HAVE_XKBKEYCODETOKEYSYM
#  include <X11/XKBlib.h>
/* Work around stupid un-const-ified Xkb headers.  Grrrrr.... */
#  define XkbOpenDisplay(D,V,E,M,m,R) \
	(XkbOpenDisplay)((char *)(D),(V),(E),(M),(m),(R))
#else
#  define XkbOpenDisplay(D,V,E,M,m,R) (V),(E),(M),(m),(R),(NULL)
#endif

/*
 * The following static indicates whether this module has been initialized in
 * the current thread.







<
<
<







10
11
12
13
14
15
16



17
18
19
20
21
22
23
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 */

#include "tkUnixInt.h"
#include <signal.h>
#ifdef HAVE_XKBKEYCODETOKEYSYM
#  include <X11/XKBlib.h>



#else
#  define XkbOpenDisplay(D,V,E,M,m,R) (V),(E),(M),(m),(R),(NULL)
#endif

/*
 * The following static indicates whether this module has been initialized in
 * the current thread.
133
134
135
136
137
138
139


140
141

142
143
144
145
146
147
148
    unsigned int use_xkb = 0;

    /*
    ** Bug [3607830]: Before using Xkb, it must be initialized and confirmed
    **                that the serve supports it.  The XkbOpenDisplay call
    **                will perform this check and return NULL if the extension
    **                is not supported.


    */
    display = XkbOpenDisplay(displayNameStr, &event, &error, &major, &minor, &reason);


    if (display == NULL) {
	/*fprintf(stderr,"event=%d error=%d major=%d minor=%d reason=%d\nDisabling xkb\n",
	event, error, major, minor, reason);*/
	display  = XOpenDisplay(displayNameStr);
    } else {
	use_xkb = TK_DISPLAY_USE_XKB;







>
>

|
>







130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
    unsigned int use_xkb = 0;

    /*
    ** Bug [3607830]: Before using Xkb, it must be initialized and confirmed
    **                that the serve supports it.  The XkbOpenDisplay call
    **                will perform this check and return NULL if the extension
    **                is not supported.
    **
    ** Work around un-const-ified Xkb headers using (char *) cast.
    */
    display = XkbOpenDisplay((char *)displayNameStr, &event, &error, &major,
	    &minor, &reason);

    if (display == NULL) {
	/*fprintf(stderr,"event=%d error=%d major=%d minor=%d reason=%d\nDisabling xkb\n",
	event, error, major, minor, reason);*/
	display  = XOpenDisplay(displayNameStr);
    } else {
	use_xkb = TK_DISPLAY_USE_XKB;