diff --git a/acinclude.m4 b/acinclude.m4 index f3d8734f..db42d3eb 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,4 +1,6 @@ -##### http://autoconf-archive.cryp.to/ac_define_dir.html +# =========================================================================== +# http://autoconf-archive.cryp.to/ac_define_dir.html +# =========================================================================== # # SYNOPSIS # @@ -6,11 +8,11 @@ # # DESCRIPTION # -# This macro sets VARNAME to the expansion of the DIR variable, -# taking care of fixing up ${prefix} and such. +# This macro sets VARNAME to the expansion of the DIR variable, taking +# care of fixing up ${prefix} and such. # -# VARNAME is then offered as both an output variable and a C -# preprocessor symbol. +# VARNAME is then offered as both an output variable and a C preprocessor +# symbol. # # Example: # @@ -18,18 +20,18 @@ # # LAST MODIFICATION # -# 2006-10-13 +# 2008-04-12 # # COPYLEFT # -# Copyright (c) 2006 Stepan Kasal -# Copyright (c) 2006 Andreas Schwab -# Copyright (c) 2006 Guido U. Draheim -# Copyright (c) 2006 Alexandre Oliva +# Copyright (c) 2008 Stepan Kasal +# Copyright (c) 2008 Andreas Schwab +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2008 Alexandre Oliva # -# Copying and distribution of this file, with or without -# modification, are permitted in any medium without royalty provided -# the copyright notice and this notice are preserved. +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. AC_DEFUN([AC_DEFINE_DIR], [ prefix_NONE= diff --git a/configure.ac b/configure.ac index 1d470557..3719f02a 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ(2.57) AC_INIT([libX11], - 1.1.3, + 1.1.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libX11) AC_CONFIG_SRCDIR([Makefile.am]) @@ -14,6 +14,10 @@ AM_MAINTAINER_MODE AM_CONFIG_HEADER([src/config.h]) AC_CONFIG_HEADER([include/X11/XlibConf.h]) +# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.1) + # Checks for programs. AC_PROG_LIBTOOL AC_PROG_CC @@ -144,6 +148,17 @@ AC_SUBST(WCHAR32) AM_CONDITIONAL(OS2, test x$os2 = xtrue) +AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto]) +if test "x$LAUNCHD" = xauto; then + unset LAUNCHD + AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no]) +fi + +if test "x$LAUNCHD" = xyes ; then + AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available]) + AC_DEFINE(TRANS_REOPEN, 1, [launchd support available]) +fi + AC_ARG_ENABLE(xthreads, AC_HELP_STRING([--disable-xthreads], [Disable Xlib support for Multithreading]), @@ -205,31 +220,14 @@ AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) # # Find keysymdef.h # -KEYSYMDEF="" AC_MSG_CHECKING([keysymdef.h]) -for flag in $XPROTO_CFLAGS -I/usr/include; do - case "$KEYSYMDEF" in - "") - case "$flag" in - *-I*) - dir=`echo "$flag" | sed 's/ *-I//'` - file="$dir/X11/keysymdef.h" - if test -f "$file"; then - KEYSYMDEF="$file" - fi - ;; - esac - ;; - esac -done -case "$KEYSYMDEF" in -"") +dir=`pkg-config --variable=includedir xproto` +KEYSYMDEF="$dir/X11/keysymdef.h" +if test -f "$KEYSYMDEF"; then + AC_MSG_RESULT([$KEYSYMDEF]) +else AC_MSG_ERROR([Cannot find keysymdef.h]) - ;; -*) - AC_MSG_RESULT([$KEYSYMDEF]) - ;; -esac +fi AC_SUBST(KEYSYMDEF) AM_CONDITIONAL(UDC, test xfalse = xtrue) @@ -320,6 +318,7 @@ fi dnl Allow checking code with lint, sparse, etc. XORG_WITH_LINT +XORG_LINT_LIBRARY([X11]) LINT_FLAGS="${LINT_FLAGS} ${X11_CFLAGS} ${XPROTO_CFLAGS}" if test "x$GCC" = "xyes"; then diff --git a/include/X11/XlibConf.h.in b/include/X11/XlibConf.h.in index 56f80d9a..8f36ac1d 100644 --- a/include/X11/XlibConf.h.in +++ b/include/X11/XlibConf.h.in @@ -1,6 +1,4 @@ /* - * $Id: $ - * * Copyright © 2005 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/man/XOpenIM.man b/man/XOpenIM.man index b89b0ffb..56171bba 100644 --- a/man/XOpenIM.man +++ b/man/XOpenIM.man @@ -142,7 +142,7 @@ .ny0 .TH XOpenIM __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS" .SH NAME -XOpenIM, XCloseIM, XSetIMValues, XGetIMValues, XDisplayOfIM, XLocaleOfIM, XRegisterIMInstantiateCallback, XUnregisterIMInstantiateCallback \- open, close, and otain input method information +XOpenIM, XCloseIM, XSetIMValues, XGetIMValues, XDisplayOfIM, XLocaleOfIM, XRegisterIMInstantiateCallback, XUnregisterIMInstantiateCallback \- open, close, and obtain input method information .SH SYNTAX .HP XIM XOpenIM\^(\^Display *\fIdisplay\fP\^, XrmDatabase \fIdb\fP\^, char diff --git a/man/XcmsCIELabQueryMaxC.man b/man/XcmsCIELabQueryMaxC.man index ef0c3ee1..58484b42 100644 --- a/man/XcmsCIELabQueryMaxC.man +++ b/man/XcmsCIELabQueryMaxC.man @@ -164,7 +164,7 @@ are ignored. .ds Ch maximum lightness (MaxL) or minimum lightness (MinL) .IP \fIchroma\fP 1i Specifies the chroma at which to find \*(Ch. -.ds Lc maximum chroma (MaxC and MaxLC), maximum lightnes (MaxL), \ +.ds Lc maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \ or minimum lightness (MinL) .ds lC hue angle and lightness (MaxC), hue angle and chroma (MaxL and MinL), \ or hue angle (MaxLC) diff --git a/man/XcmsCIELuvQueryMaxC.man b/man/XcmsCIELuvQueryMaxC.man index 01f9f497..af469c5f 100644 --- a/man/XcmsCIELuvQueryMaxC.man +++ b/man/XcmsCIELuvQueryMaxC.man @@ -164,7 +164,7 @@ are ignored. .ds Ch maximum lightness (MaxL) or minimum lightness (MinL) .IP \fIchroma\fP 1i Specifies the chroma at which to find \*(Ch. -.ds Lc maximum chroma (MaxC and MaxLC), maximum lightnes (MaxL), \ +.ds Lc maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \ or minimum lightness (MinL) .ds lC hue angle and lightness (MaxC), hue angle and chroma (MaxL and MinL), \ or hue angle (MaxLC) diff --git a/man/XcmsColor.man b/man/XcmsColor.man index fa845dd4..c039cbf3 100644 --- a/man/XcmsColor.man +++ b/man/XcmsColor.man @@ -152,7 +152,7 @@ .. .TH XcmsColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS" .SH NAME -XcmsColor, XcmsRGB, XcmsRGBi, XcmsCIEXYZ, XcmsCIEuvY, XcmsCIExyY, XcmsCIELab, XcmsCIELuv, XcmsTekHVC, XcmsPad \- Xcms color struture +XcmsColor, XcmsRGB, XcmsRGBi, XcmsCIEXYZ, XcmsCIEuvY, XcmsCIExyY, XcmsCIELab, XcmsCIELuv, XcmsTekHVC, XcmsPad \- Xcms color structure .SH STRUCTURES The structure for .ZN XcmsColor diff --git a/man/xkb/XkbGetKeyVirtualModMap.man b/man/xkb/XkbGetKeyVirtualModMap.man index dcb7533d..6b35a772 100644 --- a/man/xkb/XkbGetKeyVirtualModMap.man +++ b/man/xkb/XkbGetKeyVirtualModMap.man @@ -57,7 +57,7 @@ connection to server keycode of first key to fetch .TP .I \- num -# keys for which virtual mod maps are desired +number of keys for which virtual mod maps are desired .TP .I \- xkb Xkb description where results will be placed diff --git a/modules/im/ximcp/imDefIc.c b/modules/im/ximcp/imDefIc.c index cb30ac23..c04744bb 100644 --- a/modules/im/ximcp/imDefIc.c +++ b/modules/im/ximcp/imDefIc.c @@ -949,6 +949,8 @@ _XimProtoSetFocus( (void)_XimWrite(im, len, (XPointer)buf); _XimFlush(im); + MARK_FOCUSED(ic); + _XimRegisterFilter(ic); return; } @@ -994,6 +996,8 @@ _XimProtoUnsetFocus( (void)_XimWrite(im, len, (XPointer)buf); _XimFlush(im); + UNMARK_FOCUSED(ic); + _XimUnregisterFilter(ic); return; } diff --git a/modules/im/ximcp/imDefLkup.c b/modules/im/ximcp/imDefLkup.c index 157b076d..66e4add4 100644 --- a/modules/im/ximcp/imDefLkup.c +++ b/modules/im/ximcp/imDefLkup.c @@ -216,8 +216,13 @@ _XimRespSyncReply( Xic ic, BITMASK16 mode) { - if (mode & XimSYNCHRONUS) /* SYNC Request */ - MARK_NEED_SYNC_REPLY(ic); + if (mode & XimSYNCHRONUS) /* SYNC Request */ { + if (IS_FOCUSED(ic)) + MARK_NEED_SYNC_REPLY(ic); + else + _XimProcSyncReply(ic->core.im, ic); + } + return True; } diff --git a/modules/im/ximcp/imThaiIm.c b/modules/im/ximcp/imThaiIm.c index e2471502..cc0f4a29 100644 --- a/modules/im/ximcp/imThaiIm.c +++ b/modules/im/ximcp/imThaiIm.c @@ -67,7 +67,13 @@ _XimCheckIfThaiProcessing(im) char *language; _XGetLCValues(im->core.lcd, XlcNLanguage, &language, NULL); - if(strcmp(language, THAI_LANGUAGE_NAME) == 0) { + if(strcmp(language, THAI_LANGUAGE_NAME) == 0 && + (strcmp(im->core.im_name, "") == 0 || + strcmp(im->core.im_name, "BasicCheck") == 0 || + strcmp(im->core.im_name, "Strict") == 0 || + strcmp(im->core.im_name, "Thaicat") == 0 || + strcmp(im->core.im_name, "Passthrough") == 0)) + { return(True); } return(False); diff --git a/nls/el_GR.UTF-8/Compose.pre b/nls/el_GR.UTF-8/Compose.pre index 53ff4331..a97c2ae7 100644 --- a/nls/el_GR.UTF-8/Compose.pre +++ b/nls/el_GR.UTF-8/Compose.pre @@ -2382,4 +2382,7 @@ XCOMM Miscellaneous extensions. : "₯" U20af : "₯" U20af + : "‽" U203D # INTERROBANG + : "‽" U203D # INTERROBANG + XCOMM End diff --git a/nls/en_US.UTF-8/Compose.pre b/nls/en_US.UTF-8/Compose.pre index 28952f1a..0d93969b 100644 --- a/nls/en_US.UTF-8/Compose.pre +++ b/nls/en_US.UTF-8/Compose.pre @@ -35,6 +35,7 @@ XCOMM Spacing versions of dead accents : "ͺ" U37a # GREEK YPOGEGRAMMENI : "ͺ" U37a # GREEK YPOGEGRAMMENI + XCOMM ASCII characters that may be difficult to access XCOMM on some keyboards. : "#" numbersign # NUMBER SIGN @@ -211,6 +212,9 @@ XCOMM Other symbols : "№" numerosign # NUMERO SIGN : "№" numerosign # NUMERO SIGN + : "‽" U203D # INTERROBANG + : "‽" U203D # INTERROBANG + XCOMM Part 2 XCOMM Compose map for Korean Hangul(Choseongul) Conjoining Jamos automatically @@ -453,6 +457,7 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ᇞ" U11de # HANGUL JONGSEONG MIEUM-SSANGSIOS : "ᇭ" U11ed # HANGUL JONGSEONG IEUNG-SSANGKIYEOK +XCOMM Part 3 : "¬" notsign # NOT SIGN : "¬" notsign # NOT SIGN : "ª" ordfeminine # FEMININE ORDINAL INDICATOR @@ -540,6 +545,7 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS : "×" multiply # MULTIPLICATION SIGN + : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE @@ -618,6 +624,7 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS : "÷" division # DIVISION SIGN : "÷" division # DIVISION SIGN + : "ø" oslash # LATIN SMALL LETTER O WITH STROKE : "ø" oslash # LATIN SMALL LETTER O WITH STROKE : "ø" oslash # LATIN SMALL LETTER O WITH STROKE : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE @@ -678,8 +685,10 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON : "ď" U010F # LATIN SMALL LETTER D WITH CARON : "ď" U010F # LATIN SMALL LETTER D WITH CARON + : "Đ" U0110 # LATIN CAPITAL LETTER D WITH STROKE : "Đ" U0110 # LATIN CAPITAL LETTER D WITH STROKE : "Đ" U0110 # LATIN CAPITAL LETTER D WITH STROKE + : "đ" U0111 # LATIN SMALL LETTER D WITH STROKE : "đ" U0111 # LATIN SMALL LETTER D WITH STROKE : "đ" U0111 # LATIN SMALL LETTER D WITH STROKE : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON @@ -728,8 +737,10 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ĥ" U0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX : "ĥ" U0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX : "ĥ" U0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX + : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE + : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE : "Ĩ" U0128 # LATIN CAPITAL LETTER I WITH TILDE @@ -783,8 +794,10 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON : "ľ" U013E # LATIN SMALL LETTER L WITH CARON : "ľ" U013E # LATIN SMALL LETTER L WITH CARON + : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE + : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE @@ -865,8 +878,10 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON : "ť" U0165 # LATIN SMALL LETTER T WITH CARON : "ť" U0165 # LATIN SMALL LETTER T WITH CARON + : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE + : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE : "Ũ" U0168 # LATIN CAPITAL LETTER U WITH TILDE @@ -926,8 +941,10 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON : "ž" U017E # LATIN SMALL LETTER Z WITH CARON : "ž" U017E # LATIN SMALL LETTER Z WITH CARON + : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE + : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE : "Ơ" U01A0 # LATIN CAPITAL LETTER O WITH HORN @@ -938,8 +955,10 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ư" U01AF # LATIN CAPITAL LETTER U WITH HORN : "ư" U01B0 # LATIN SMALL LETTER U WITH HORN : "ư" U01B0 # LATIN SMALL LETTER U WITH HORN + : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE + : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON @@ -1072,8 +1091,10 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON + : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE + : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE : "Ǧ" U01E6 # LATIN CAPITAL LETTER G WITH CARON @@ -1159,6 +1180,7 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE @@ -1168,9 +1190,11 @@ XCOMM group 1: cluster jamos made of three basic jamos : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE @@ -1180,6 +1204,7 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE @@ -1291,6 +1316,7 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON : "ə" U0259 # LATIN SMALL LETTER SCHWA + : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE : "ʡ" U02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE @@ -1663,7 +1689,9 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ྐྵ" U0FB9 # TIBETAN SUBJOINED LETTER KSSA : "ဦ" U1026 # MYANMAR LETTER UU : "Ḁ" U1E00 # LATIN CAPITAL LETTER A WITH RING BELOW + : "Ḁ" U1E00 # LATIN CAPITAL LETTER A WITH RING BELOW : "ḁ" U1E01 # LATIN SMALL LETTER A WITH RING BELOW + : "ḁ" U1E01 # LATIN SMALL LETTER A WITH RING BELOW : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE : "ḃ" U1E03 # LATIN SMALL LETTER B WITH DOT ABOVE @@ -1675,7 +1703,9 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ḅ" U1E05 # LATIN SMALL LETTER B WITH DOT BELOW : "ḅ" U1E05 # LATIN SMALL LETTER B WITH DOT BELOW : "Ḇ" U1E06 # LATIN CAPITAL LETTER B WITH LINE BELOW + : "Ḇ" U1E06 # LATIN CAPITAL LETTER B WITH LINE BELOW : "ḇ" U1E07 # LATIN SMALL LETTER B WITH LINE BELOW + : "ḇ" U1E07 # LATIN SMALL LETTER B WITH LINE BELOW : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE @@ -1709,13 +1739,17 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ḍ" U1E0D # LATIN SMALL LETTER D WITH DOT BELOW : "ḍ" U1E0D # LATIN SMALL LETTER D WITH DOT BELOW : "Ḏ" U1E0E # LATIN CAPITAL LETTER D WITH LINE BELOW + : "Ḏ" U1E0E # LATIN CAPITAL LETTER D WITH LINE BELOW : "ḏ" U1E0F # LATIN SMALL LETTER D WITH LINE BELOW + : "ḏ" U1E0F # LATIN SMALL LETTER D WITH LINE BELOW : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA : "Ḓ" U1E12 # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW + : "Ḓ" U1E12 # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW : "ḓ" U1E13 # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW + : "ḓ" U1E13 # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE @@ -1773,9 +1807,13 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE : "Ḙ" U1E18 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW + : "Ḙ" U1E18 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW : "ḙ" U1E19 # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW + : "ḙ" U1E19 # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW : "Ḛ" U1E1A # LATIN CAPITAL LETTER E WITH TILDE BELOW + : "Ḛ" U1E1A # LATIN CAPITAL LETTER E WITH TILDE BELOW : "ḛ" U1E1B # LATIN SMALL LETTER E WITH TILDE BELOW + : "ḛ" U1E1B # LATIN SMALL LETTER E WITH TILDE BELOW : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE @@ -1823,9 +1861,13 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA : "Ḫ" U1E2A # LATIN CAPITAL LETTER H WITH BREVE BELOW + : "Ḫ" U1E2A # LATIN CAPITAL LETTER H WITH BREVE BELOW : "ḫ" U1E2B # LATIN SMALL LETTER H WITH BREVE BELOW + : "ḫ" U1E2B # LATIN SMALL LETTER H WITH BREVE BELOW : "Ḭ" U1E2C # LATIN CAPITAL LETTER I WITH TILDE BELOW + : "Ḭ" U1E2C # LATIN CAPITAL LETTER I WITH TILDE BELOW : "ḭ" U1E2D # LATIN SMALL LETTER I WITH TILDE BELOW + : "ḭ" U1E2D # LATIN SMALL LETTER I WITH TILDE BELOW : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE @@ -1865,7 +1907,9 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ḳ" U1E33 # LATIN SMALL LETTER K WITH DOT BELOW : "ḳ" U1E33 # LATIN SMALL LETTER K WITH DOT BELOW : "Ḵ" U1E34 # LATIN CAPITAL LETTER K WITH LINE BELOW + : "Ḵ" U1E34 # LATIN CAPITAL LETTER K WITH LINE BELOW : "ḵ" U1E35 # LATIN SMALL LETTER K WITH LINE BELOW + : "ḵ" U1E35 # LATIN SMALL LETTER K WITH LINE BELOW : "Ḷ" U1E36 # LATIN CAPITAL LETTER L WITH DOT BELOW : "Ḷ" U1E36 # LATIN CAPITAL LETTER L WITH DOT BELOW : "Ḷ" U1E36 # LATIN CAPITAL LETTER L WITH DOT BELOW @@ -1897,9 +1941,13 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON : "Ḻ" U1E3A # LATIN CAPITAL LETTER L WITH LINE BELOW + : "Ḻ" U1E3A # LATIN CAPITAL LETTER L WITH LINE BELOW : "ḻ" U1E3B # LATIN SMALL LETTER L WITH LINE BELOW + : "ḻ" U1E3B # LATIN SMALL LETTER L WITH LINE BELOW : "Ḽ" U1E3C # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW + : "Ḽ" U1E3C # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW : "ḽ" U1E3D # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW + : "ḽ" U1E3D # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE @@ -1929,9 +1977,13 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ṇ" U1E47 # LATIN SMALL LETTER N WITH DOT BELOW : "ṇ" U1E47 # LATIN SMALL LETTER N WITH DOT BELOW : "Ṉ" U1E48 # LATIN CAPITAL LETTER N WITH LINE BELOW + : "Ṉ" U1E48 # LATIN CAPITAL LETTER N WITH LINE BELOW : "ṉ" U1E49 # LATIN SMALL LETTER N WITH LINE BELOW + : "ṉ" U1E49 # LATIN SMALL LETTER N WITH LINE BELOW : "Ṋ" U1E4A # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW + : "Ṋ" U1E4A # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW : "ṋ" U1E4B # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW + : "ṋ" U1E4B # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE @@ -2083,7 +2135,9 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON : "Ṟ" U1E5E # LATIN CAPITAL LETTER R WITH LINE BELOW + : "Ṟ" U1E5E # LATIN CAPITAL LETTER R WITH LINE BELOW : "ṟ" U1E5F # LATIN SMALL LETTER R WITH LINE BELOW + : "ṟ" U1E5F # LATIN SMALL LETTER R WITH LINE BELOW : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE : "ṡ" U1E61 # LATIN SMALL LETTER S WITH DOT ABOVE @@ -2151,15 +2205,25 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ṭ" U1E6D # LATIN SMALL LETTER T WITH DOT BELOW : "ṭ" U1E6D # LATIN SMALL LETTER T WITH DOT BELOW : "Ṯ" U1E6E # LATIN CAPITAL LETTER T WITH LINE BELOW + : "Ṯ" U1E6E # LATIN CAPITAL LETTER T WITH LINE BELOW : "ṯ" U1E6F # LATIN SMALL LETTER T WITH LINE BELOW + : "ṯ" U1E6F # LATIN SMALL LETTER T WITH LINE BELOW : "Ṱ" U1E70 # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW + : "Ṱ" U1E70 # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW : "ṱ" U1E71 # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW + : "ṱ" U1E71 # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW : "Ṳ" U1E72 # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW + : "Ṳ" U1E72 # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW : "ṳ" U1E73 # LATIN SMALL LETTER U WITH DIAERESIS BELOW + : "ṳ" U1E73 # LATIN SMALL LETTER U WITH DIAERESIS BELOW : "Ṵ" U1E74 # LATIN CAPITAL LETTER U WITH TILDE BELOW + : "Ṵ" U1E74 # LATIN CAPITAL LETTER U WITH TILDE BELOW : "ṵ" U1E75 # LATIN SMALL LETTER U WITH TILDE BELOW + : "ṵ" U1E75 # LATIN SMALL LETTER U WITH TILDE BELOW : "Ṷ" U1E76 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW + : "Ṷ" U1E76 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW : "ṷ" U1E77 # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW + : "ṷ" U1E77 # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE @@ -2271,8 +2335,11 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ẓ" U1E93 # LATIN SMALL LETTER Z WITH DOT BELOW : "ẓ" U1E93 # LATIN SMALL LETTER Z WITH DOT BELOW : "Ẕ" U1E94 # LATIN CAPITAL LETTER Z WITH LINE BELOW + : "Ẕ" U1E94 # LATIN CAPITAL LETTER Z WITH LINE BELOW : "ẕ" U1E95 # LATIN SMALL LETTER Z WITH LINE BELOW + : "ẕ" U1E95 # LATIN SMALL LETTER Z WITH LINE BELOW : "ẖ" U1E96 # LATIN SMALL LETTER H WITH LINE BELOW + : "ẖ" U1E96 # LATIN SMALL LETTER H WITH LINE BELOW : "ẗ" U1E97 # LATIN SMALL LETTER T WITH DIAERESIS : "ẗ" U1E97 # LATIN SMALL LETTER T WITH DIAERESIS : "ẘ" U1E98 # LATIN SMALL LETTER W WITH RING ABOVE @@ -5730,7 +5797,14 @@ XCOMM group 1: cluster jamos made of three basic jamos : "ⓩ" U24E9 # CIRCLED LATIN SMALL LETTER Z <0> : "⓪" U24EA # CIRCLED DIGIT ZERO : "⓪" U24EA # CIRCLED DIGIT ZERO + : "⨥" U2A25 # PLUS SIGN WITH DOT BELOW + : "⨦" U2A26 # PLUS SIGN WITH TILDE BELOW + : "⨪" U2A2A # MINUS SIGN WITH DOT BELOW + : "⩦" U2A66 # EQUALS SIGN WITH DOT BELOW + : "⩷" U2A77 # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW + : "⩷" U2A77 # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW : "⫝̸" U2ADC # FORKING + : "⫰" U2AF0 # VERTICAL LINE WITH CIRCLE BELOW : "が" U304C # HIRAGANA LETTER GA : "ぎ" U304E # HIRAGANA LETTER GI : "ぐ" U3050 # HIRAGANA LETTER GU diff --git a/nls/locale.alias.pre b/nls/locale.alias.pre index 87f52172..71d55e03 100644 --- a/nls/locale.alias.pre +++ b/nls/locale.alias.pre @@ -916,8 +916,9 @@ ro_RO: ro_RO.ISO8859-2 ro_RO.iso88592: ro_RO.ISO8859-2 ro_RO.ISO-8859-2: ro_RO.ISO8859-2 ro_RO.utf8: ro_RO.UTF-8 -ru: ru_RU.ISO8859-5 -ru_RU: ru_RU.ISO8859-5 +ru: ru_RU.UTF-8 +ru_RU: ru_RU.UTF-8 +ru_RU.utf8: ru_RU.UTF-8 ru_RU.iso88595: ru_RU.ISO8859-5 ru_RU.ISO-8859-5: ru_RU.ISO8859-5 ru_RU.koi8r: ru_RU.KOI8-R diff --git a/nls/locale.dir.pre b/nls/locale.dir.pre index 28869f23..6489388d 100644 --- a/nls/locale.dir.pre +++ b/nls/locale.dir.pre @@ -34,7 +34,7 @@ microsoft-cp1251/XLC_LOCALE: be_BY.CP1251 iso8859-5/XLC_LOCALE: bg_BG.ISO8859-5 microsoft-cp1251/XLC_LOCALE: bg_BG.CP1251 koi8-r/XLC_LOCALE: bg_BG.KOI8-R -iso8859-2/XLC_LOCALE bs_BA.ISO8859-2 +iso8859-2/XLC_LOCALE: bs_BA.ISO8859-2 iso8859-1/XLC_LOCALE: br_FR.ISO8859-1 iso8859-14/XLC_LOCALE: br_FR.ISO8859-14 iso8859-15/XLC_LOCALE: br_FR.ISO8859-15 @@ -269,7 +269,7 @@ en_US.UTF-8/XLC_LOCALE: ar_LB.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_LY.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_MA.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_OM.UTF-8 -en_US.UTF-8/XLC_LOCALE bs_BA.UTF-8 +en_US.UTF-8/XLC_LOCALE: bs_BA.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_QA.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_SA.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_SD.UTF-8 diff --git a/nls/pt_BR.UTF-8/Compose.pre b/nls/pt_BR.UTF-8/Compose.pre index 4b06df1b..f403b18c 100644 --- a/nls/pt_BR.UTF-8/Compose.pre +++ b/nls/pt_BR.UTF-8/Compose.pre @@ -185,6 +185,9 @@ XCOMM Other symbols

: "¶" paragraph # PILCROW SIGN (PARAGRAPH SIGN) + : "‽" U203D # INTERROBANG + : "‽" U203D # INTERROBANG + XCOMM Part 2 XCOMM Compose map for Korean Hangul(Choseongul) Conjoining Jamos automatically diff --git a/src/ConnDis.c b/src/ConnDis.c index 2f0cd496..f919d51d 100644 --- a/src/ConnDis.c +++ b/src/ConnDis.c @@ -303,7 +303,11 @@ _X11TransConnectDisplay ( #if defined(TCPCONN) || defined(UNIXCONN) || defined(LOCALCONN) || defined(MNX_TCPCONN) || defined(OS2PIPECONN) if (!pprotocol) { +#ifdef HAVE_LAUNCHD + if (!phostname || phostname[0]=='/') { +#else if (!phostname) { +#endif #if defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) pprotocol = copystring ("local", 5); #if defined(TCPCONN) @@ -374,13 +378,13 @@ _X11TransConnectDisplay ( * too many times). */ for(retry=X_CONNECTION_RETRIES; retry>=0; retry-- ) - { + { if ( (trans_conn = _X11TransOpenCOTSClient(address)) == NULL ) - { + { break; - } + } if ((connect_stat = _X11TransConnect(trans_conn,address)) < 0 ) - { + { _X11TransClose(trans_conn); trans_conn = NULL; @@ -391,7 +395,7 @@ _X11TransConnectDisplay ( } else break; - } + } _X11TransGetPeerAddr(trans_conn, &family, &saddrlen, &saddr); @@ -402,7 +406,7 @@ _X11TransConnectDisplay ( */ if( _X11TransConvertAddress(&family, &saddrlen, &saddr) < 0 ) - { + { _X11TransClose(trans_conn); trans_conn = NULL; sleep(1); @@ -412,10 +416,10 @@ _X11TransConnectDisplay ( saddr = NULL; } continue; - } + } break; - } + } if (address != addrbuf) Xfree (address); address = addrbuf; @@ -449,6 +453,14 @@ _X11TransConnectDisplay ( *fullnamep = (char *) Xmalloc (len); if (!*fullnamep) goto bad; +#ifdef HAVE_LAUNCHD + if (phostname && strlen(phostname) > 11 && !strncmp(phostname, "/tmp/launch", 11)) + sprintf (*fullnamep, "%s%s%d", + (phostname ? phostname : ""), + (dnet ? "::" : ":"), + idisplay); + else +#endif sprintf (*fullnamep, "%s%s%d.%d", (phostname ? phostname : ""), (dnet ? "::" : ":"), @@ -1109,7 +1121,7 @@ GetAuthorization( { #ifdef AF_INET case AF_INET: - { + { /* * addr will contain a sockaddr_in with all * of the members already in network byte order. @@ -1120,18 +1132,18 @@ GetAuthorization( for(i=2; i<4; i++) /* do sin_port */ xdmcp_data[j++] = ((char *)addr)[i]; break; - } + } #endif /* AF_INET */ #if defined(IPv6) && defined(AF_INET6) case AF_INET6: /* XXX This should probably never happen */ - { + { unsigned char ipv4mappedprefix[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff }; /* In the case of v4 mapped addresses send the v4 part of the address - addr is already in network byte order */ - if (memcmp(addr+8, ipv4mappedprefix, 12) == 0) { + if (memcmp((char*)addr+8, ipv4mappedprefix, 12) == 0) { for (i = 20 ; i < 24; i++) xdmcp_data[j++] = ((char *)addr)[i]; @@ -1146,11 +1158,11 @@ GetAuthorization( } } break; - } + } #endif /* AF_INET6 */ #ifdef AF_UNIX case AF_UNIX: - { + { /* * We don't use the sockaddr_un for this encoding. * Instead, we create a sockaddr_in filled with @@ -1179,7 +1191,7 @@ GetAuthorization( xdmcp_data[j++] = (the_port >> 8) & 0xFF; xdmcp_data[j++] = (the_port >> 0) & 0xFF; break; - } + } #endif /* AF_UNIX */ #ifdef AF_DECnet case AF_DECnet: diff --git a/src/GetDflt.c b/src/GetDflt.c index 2098e813..7b401525 100644 --- a/src/GetDflt.c +++ b/src/GetDflt.c @@ -98,16 +98,16 @@ GetHomeDir( int len) { #ifdef WIN32 - register char *ptr1; - register char *ptr2; + register char *ptr1 = NULL; + register char *ptr2 = NULL; int len1 = 0, len2 = 0; - if (ptr1 = getenv("HOME")) { /* old, deprecated */ + if ((ptr1 = getenv("HOME"))) { /* old, deprecated */ len1 = strlen (ptr1); } else if ((ptr1 = getenv("HOMEDRIVE")) && (ptr2 = getenv("HOMEDIR"))) { len1 = strlen (ptr1); len2 = strlen (ptr2); - } else if (ptr2 = getenv("USERNAME")) { + } else if ((ptr2 = getenv("USERNAME"))) { len1 = strlen (ptr1 = "/users/"); len2 = strlen (ptr2); } diff --git a/src/Makefile.am b/src/Makefile.am index 7c44f5b9..564e03f3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -402,6 +402,19 @@ lint: $(BUILT_SOURCES) done endif LINT +if MAKE_LINT_LIB +lintlibdir = $(libdir) + +lintlib_DATA = $(LINTLIB) + +lintlib_src = $(libX11_la_SOURCES) xcms/*.c xkb/*.c + +CLEANFILES += $(lintlib_DATA) + +$(LINTLIB): $(libX11_la_SOURCES) + $(LINT) -y -oX11 -x $(ALL_LINT_FLAGS) $(lintlib_src) +endif MAKE_LINT_LIB + # # Building ks_tables.h requires the makekeys utility # diff --git a/src/WMProps.c b/src/WMProps.c index 06c76a17..a581f335 100644 --- a/src/WMProps.c +++ b/src/WMProps.c @@ -71,6 +71,7 @@ SOFTWARE. * WM_CLIENT_MACHINE type: TEXT format: varies? * WM_NORMAL_HINTS type: WM_SIZE_HINTS format: 32 * WM_CLASS type: STRING/STRING format: 8 + * WM_LOCALE_NAME type: STRING format: 8 */ void XSetWMProperties ( diff --git a/src/XErrorDB b/src/XErrorDB index a0b9684c..70715a54 100644 --- a/src/XErrorDB +++ b/src/XErrorDB @@ -634,7 +634,7 @@ XProtoError.XFree86-Misc.5: XF86MiscModInDevDisabled XProtoError.XFree86-Misc.6: XF86MiscModInDevClientNotLocal XProtoError.XFree86-Misc.7: XF86MiscNoModule ! XFree86-DGA -- not an X Consortium standard -XRequest.XFree86-DGA.0: XDGAQueryVersion +XRequest.XFree86-DGA.0: XF86DGAQueryVersion XRequest.XFree86-DGA.1: XF86DGAGetVideoLL XRequest.XFree86-DGA.2: XF86DGADirectVideo XRequest.XFree86-DGA.3: XF86DGAGetViewPortSize @@ -891,6 +891,12 @@ XRequest.RENDER.27: RenderCreateCursor XRequest.RENDER.28: RenderSetPictureTransform XRequest.RENDER.29: RenderQueryFilters XRequest.RENDER.30: RenderSetPictureFilter +XRequest.RENDER.31: RenderCreateAnimCursor +XRequest.RENDER.32: RenderAddTraps +XRequest.RENDER.33: RenderCreateSolidFill +XRequest.RENDER.34: RenderCreateLinearGradient +XRequest.RENDER.35: RenderCreateRadialGradient +XRequest.RENDER.36: RenderCreateConicalGradient XProtoError.RENDER.0: RenderBadFormat (invalid PictFormat parameter) XlibMessage.RENDER.0: PictFormat id in failed request: 0x%lx XProtoError.RENDER.1: RenderBadPicture (invalid Picture parameter) @@ -931,6 +937,8 @@ XRequest.XFIXES.25: XFixesGetCursorImageAndName XRequest.XFIXES.26: XFixesChangeCursor XRequest.XFIXES.27: XFixesChangeCursorByName XRequest.XFIXES.28: XFixesExpandRegion +XRequest.XFIXES.29: XFixesHideCursor +XRequest.XFIXES.30: XFixesShowCursor XProtoError.XFIXES.0: BadRegion (invalid Region parameter) XlibMessage.XFIXES.0: Region id in failed request: 0x%lx ! DAMAGE extension diff --git a/src/XlibInt.c b/src/XlibInt.c index d6e72204..f90f8511 100644 --- a/src/XlibInt.c +++ b/src/XlibInt.c @@ -201,8 +201,6 @@ static char *_XAsyncReply( Bool discard); #endif /* !USE_XCB */ -#define SEQLIMIT (65535 - (BUFSIZE / SIZEOF(xReq)) - 10) - /* * The following routines are internal routines used by Xlib for protocol * packet transmission and reception. @@ -565,33 +563,42 @@ _XWaitForReadable( } #endif /* !USE_XCB */ +static int sync_hazard(Display *dpy) +{ + unsigned long span = dpy->request - dpy->last_request_read; + unsigned long hazard = min((dpy->bufmax - dpy->buffer) / SIZEOF(xReq), 65535 - 10); + return span >= 65535 - hazard - 10; +} + static int _XSeqSyncFunction( register Display *dpy) { xGetInputFocusReply rep; register xReq *req; + int sent_sync = 0; LockDisplay(dpy); - if ((dpy->request - dpy->last_request_read) >= (BUFSIZE / SIZEOF(xReq))) { + if ((dpy->request - dpy->last_request_read) >= (65535 - BUFSIZE/SIZEOF(xReq))) { GetEmptyReq(GetInputFocus, req); (void) _XReply (dpy, (xReply *)&rep, 0, xTrue); + sent_sync = 1; } /* could get XID handler while waiting for reply in MT env */ - if (dpy->synchandler == _XSeqSyncFunction) { + if (dpy->synchandler == _XSeqSyncFunction && !sync_hazard(dpy)) { dpy->synchandler = dpy->savedsynchandler; dpy->flags &= ~XlibDisplayPrivSync; } UnlockDisplay(dpy); - SyncHandle(); + if (sent_sync) + SyncHandle(); return 0; } void _XSetSeqSyncFunction( register Display *dpy) { - if ((dpy->request - dpy->last_request_read) >= SEQLIMIT && - !(dpy->flags & XlibDisplayPrivSync)) { + if (!(dpy->flags & XlibDisplayPrivSync) && sync_hazard(dpy)) { dpy->savedsynchandler = dpy->synchandler; dpy->synchandler = _XSeqSyncFunction; dpy->flags |= XlibDisplayPrivSync; diff --git a/src/locking.c b/src/locking.c index 537ffa3f..d69b3548 100644 --- a/src/locking.c +++ b/src/locking.c @@ -60,7 +60,7 @@ extern LockInfoPtr _Xi18n_lock; #ifdef WIN32 static DWORD _X_TlsIndex = (DWORD)-1; -_Xthread_init() +void _Xthread_init() { if (_X_TlsIndex == (DWORD)-1) _X_TlsIndex = TlsAlloc(); diff --git a/src/x11_trans.c b/src/x11_trans.c index 2990f23e..3c4f8595 100644 --- a/src/x11_trans.c +++ b/src/x11_trans.c @@ -1,6 +1,4 @@ /* - * $Id: x11_trans.c,v 1.2 2005/05/16 22:35:28 sandmann Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/src/xcb_disp.c b/src/xcb_disp.c index 1d8231a5..079c87ff 100644 --- a/src/xcb_disp.c +++ b/src/xcb_disp.c @@ -63,13 +63,22 @@ int _XConnectXCB(Display *dpy, _Xconst char *display, char **fullnamep, int *scr if(!dpy->xcb) return 0; - if(!xcb_parse_display(display, &host, &n, screenp)) - return 0; +#ifdef HAVE_LAUNCHD + if(!display || !*display) display = getenv("DISPLAY"); + + if(display && strlen(display)>11 && !strncmp(display, "/tmp/launch", 11)) { + /* do nothing -- the magic happens inside of xcb_connect */ + } else +#endif + { + if(!xcb_parse_display(display, &host, &n, screenp)) + return 0; - len = strlen(host) + (1 + 20 + 1 + 20 + 1); - *fullnamep = Xmalloc(len); - snprintf(*fullnamep, len, "%s:%d.%d", host, n, *screenp); - free(host); + len = strlen(host) + (1 + 20 + 1 + 20 + 1); + *fullnamep = Xmalloc(len); + snprintf(*fullnamep, len, "%s:%d.%d", host, n, *screenp); + free(host); + } _XLockMutex(_Xglobal_lock); if(xauth.name && xauth.data) diff --git a/src/xcms/cmsColNm.c b/src/xcms/cmsColNm.c index c48b85ab..e3ca5183 100644 --- a/src/xcms/cmsColNm.c +++ b/src/xcms/cmsColNm.c @@ -735,10 +735,17 @@ LoadColornameDB(void) } if ((stream = _XFopenFile (pathname, "r")) == NULL) { + /* can't open file */ + XcmsColorDbState = XcmsDbInitFailure; return(XcmsFailure); } - stringSectionSize(stream, &nEntries, &size); + if (stringSectionSize(stream, &nEntries, &size) != XcmsSuccess || + nEntries == 0) { + (void) fclose(stream); + XcmsColorDbState = XcmsDbInitFailure; + return(XcmsFailure); + } rewind(stream); strings = (char *) Xmalloc(size); diff --git a/src/xkb/XKBBind.c b/src/xkb/XKBBind.c index e190d005..4dc92654 100644 --- a/src/xkb/XKBBind.c +++ b/src/xkb/XKBBind.c @@ -368,7 +368,6 @@ XkbRefreshKeyboardMapping(register XkbMapNotifyEvent *event) changes= xkbi->changes; else bzero(&changes,sizeof(changes)); XkbNoteMapChanges(&changes,event,XKB_XLIB_MAP_MASK); - LockDisplay(dpy); if ((rtrn=XkbGetMapChanges(dpy,xkbi->desc,&changes))!=Success) { #ifdef DEBUG fprintf(stderr,"Internal Error! XkbGetMapChanges failed:\n"); @@ -379,7 +378,6 @@ XkbRefreshKeyboardMapping(register XkbMapNotifyEvent *event) xkbi->flags&= ~XkbMapPending; bzero(&xkbi->changes,sizeof(XkbMapChangesRec)); } - UnlockDisplay(dpy); return rtrn; } return BadMatch; diff --git a/src/xlibi18n/XimintP.h b/src/xlibi18n/XimintP.h index f10d9baa..d36abdc6 100644 --- a/src/xlibi18n/XimintP.h +++ b/src/xlibi18n/XimintP.h @@ -244,6 +244,7 @@ typedef struct _XicProtoPrivateRec { #define IC_CONNECTED (1L) #define FABLICATED (1L << 1) #define NEED_SYNC_REPLY (1L << 2) +#define FOCUSED (1L << 3) /* * macro for the flag of XICPrivateRec @@ -269,6 +270,13 @@ typedef struct _XicProtoPrivateRec { #define UNMARK_NEED_SYNC_REPLY(ic) \ (((Xic)ic)->private.proto.flag &= ~NEED_SYNC_REPLY) +#define IS_FOCUSED(ic) \ + (((Xic)ic)->private.proto.flag & FOCUSED) +#define MARK_FOCUSED(ic) \ + (((Xic)ic)->private.proto.flag |= FOCUSED) +#define UNMARK_FOCUSED(ic) \ + (((Xic)ic)->private.proto.flag &= ~FOCUSED) + /* * macro for the filter_event_mask of XICPrivateRec */ diff --git a/src/xlibi18n/lcWrap.c b/src/xlibi18n/lcWrap.c index ea262319..c0cee44b 100644 --- a/src/xlibi18n/lcWrap.c +++ b/src/xlibi18n/lcWrap.c @@ -154,7 +154,7 @@ _XlcDefaultMapModifiers( #ifdef WIN32 { char *s; - for (s = mods; s = strchr(s, '@'); s++) { + for (s = mods; (s = strchr(s, '@')); s++) { for (s++; *s && *s != '='; s++) { if (*s == '#') { *s = '='; diff --git a/src/xlibi18n/xim_trans.c b/src/xlibi18n/xim_trans.c index 8959d257..752ae00b 100644 --- a/src/xlibi18n/xim_trans.c +++ b/src/xlibi18n/xim_trans.c @@ -1,6 +1,4 @@ /* - * $Id: xim_trans.c,v 1.1 2005/07/11 08:29:25 keithp Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its