diff options
33 files changed, 218 insertions, 130 deletions
diff --git a/fontconfig/src/fccfg.c b/fontconfig/src/fccfg.c index b762376ae..7da50b50f 100644 --- a/fontconfig/src/fccfg.c +++ b/fontconfig/src/fccfg.c @@ -429,7 +429,7 @@ retry: if (config == cfg) return FcTrue; - if (!config->fonts[FcSetSystem]) + if (config && !config->fonts[FcSetSystem]) if (!FcConfigBuildFonts (config)) return FcFalse; diff --git a/fontconfig/src/fcmatch.c b/fontconfig/src/fcmatch.c index 23f985a6c..7993b81de 100644 --- a/fontconfig/src/fcmatch.c +++ b/fontconfig/src/fcmatch.c @@ -532,7 +532,10 @@ FcFontRenderPrepare (FcConfig *config, { pe = &FcPatternElts(pat)[i]; fe = FcPatternObjectFindElt (font, pe->object); - if (!fe) + if (!fe && + pe->object != FC_FAMILYLANG_OBJECT && + pe->object != FC_STYLELANG_OBJECT && + pe->object != FC_FULLNAMELANG_OBJECT) { FcPatternObjectListAdd (new, pe->object, FcValueListDuplicate (FcPatternEltValues(pe)), diff --git a/libX11/configure.ac b/libX11/configure.ac index 4d7d411ae..7734219f4 100644 --- a/libX11/configure.ac +++ b/libX11/configure.ac @@ -1,7 +1,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([libX11], [1.5.0], +AC_INIT([libX11], [1.5.99.901], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libX11]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([src/config.h include/X11/XlibConf.h]) diff --git a/libX11/include/X11/Xlibint.h b/libX11/include/X11/Xlibint.h index 40965c449..06395b32e 100644 --- a/libX11/include/X11/Xlibint.h +++ b/libX11/include/X11/Xlibint.h @@ -486,6 +486,14 @@ extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len); req = (xReq *) _XGetRequest(dpy, X_/**/name, SIZEOF(xReq)) #endif +/* + * MakeBigReq sets the CARD16 "req->length" to 0 and inserts a new CARD32 + * length, after req->length, before the data in the request. The new length + * includes the "n" extra 32-bit words. + * + * Do not use MakeBigReq if there is no data already in the request. + * req->length must already be >= 2. + */ #ifdef LONG64 #define MakeBigReq(req,n) \ { \ @@ -493,7 +501,7 @@ extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len); CARD32 _BRlen = req->length - 1; \ req->length = 0; \ _BRdat = ((CARD32 *)req)[_BRlen]; \ - memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \ + memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \ ((CARD32 *)req)[1] = _BRlen + n + 2; \ Data32(dpy, &_BRdat, 4); \ } @@ -504,12 +512,19 @@ extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len); CARD32 _BRlen = req->length - 1; \ req->length = 0; \ _BRdat = ((CARD32 *)req)[_BRlen]; \ - memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \ + memmove(((char *)req) + 8, ((char *)req) + 4, (_BRlen - 1) << 2); \ ((CARD32 *)req)[1] = _BRlen + n + 2; \ Data32(dpy, &_BRdat, 4); \ } #endif +/* + * SetReqLen increases the count of 32-bit words in the request by "n", + * or by "badlen" if "n" is too large. + * + * Do not use SetReqLen if "req" does not already have data after the + * xReq header. req->length must already be >= 2. + */ #ifndef __clang_analyzer__ #define SetReqLen(req,n,badlen) \ if ((req->length + n) > (unsigned)65535) { \ diff --git a/libX11/man/XrmEnumerateDatabase.man b/libX11/man/XrmEnumerateDatabase.man index 843100635..03c0f30e2 100644 --- a/libX11/man/XrmEnumerateDatabase.man +++ b/libX11/man/XrmEnumerateDatabase.man @@ -84,6 +84,8 @@ .SH NAME XrmEnumerateDatabase \- enumerate resource database entries .SH SYNTAX +.HP +#include <X11/Xresource.h> .TS lw(.5i) lw(2i) lw(2.5i). T{ diff --git a/libX11/man/XrmGetFileDatabase.man b/libX11/man/XrmGetFileDatabase.man index 3a8a6fa82..71ddd9f10 100644 --- a/libX11/man/XrmGetFileDatabase.man +++ b/libX11/man/XrmGetFileDatabase.man @@ -93,6 +93,8 @@ XrmGetFileDatabase, XrmPutFileDatabase, XrmGetStringDatabase, XrmLocaleOfDatabase, XrmGetDatabase, XrmSetDatabase, XrmDestroyDatabase \- retrieve and store resource databases .SH SYNTAX .HP +#include <X11/Xresource.h> +.HP XrmDatabase XrmGetFileDatabase\^(\^char *\fIfilename\fP\^); .HP void XrmPutFileDatabase\^(\^XrmDatabase \fIdatabase\fP\^, char diff --git a/libX11/man/XrmGetResource.man b/libX11/man/XrmGetResource.man index 76ca9218c..ef2cf9ada 100644 --- a/libX11/man/XrmGetResource.man +++ b/libX11/man/XrmGetResource.man @@ -85,6 +85,8 @@ XrmGetResource, XrmQGetResource, XrmQGetSearchList, XrmQGetSearchResource \- retrieve database resources and search lists .SH SYNTAX .HP +#include <X11/Xresource.h> +.HP Bool XrmGetResource\^(\^XrmDatabase \fIdatabase\fP\^, char *\fIstr_name\fP\^, char *\fIstr_class\fP\^, char **\fIstr_type_return\fP\^, XrmValue *\fIvalue_return\fP\^); diff --git a/libX11/man/XrmInitialize.man b/libX11/man/XrmInitialize.man index b8b549db6..3b3ddd78b 100644 --- a/libX11/man/XrmInitialize.man +++ b/libX11/man/XrmInitialize.man @@ -83,6 +83,8 @@ XrmInitialize, XrmParseCommand, XrmValue, XrmOptionKind, XrmOptionDescRec \- initialize the Resource Manager, Resource Manager structures, and parse the command line .SH SYNTAX .HP +#include <X11/Xresource.h> +.HP void XrmInitialize\^(void\^); .HP void XrmParseCommand\^(\^XrmDatabase *\fIdatabase\fP\^, XrmOptionDescList diff --git a/libX11/man/XrmMergeDatabases.man b/libX11/man/XrmMergeDatabases.man index 57a6578ec..41b27bb63 100644 --- a/libX11/man/XrmMergeDatabases.man +++ b/libX11/man/XrmMergeDatabases.man @@ -83,6 +83,8 @@ XrmMergeDatabases, XrmCombineDatabase, XrmCombineFileDatabase \- merge resource databases .SH SYNTAX .HP +#include <X11/Xresource.h> +.HP void XrmMergeDatabases(\^XrmDatabase \fIsource_db\fP, XrmDatabase *\fItarget_db\fP\^); .HP diff --git a/libX11/man/XrmPutResource.man b/libX11/man/XrmPutResource.man index 9f9d08884..fd644630d 100644 --- a/libX11/man/XrmPutResource.man +++ b/libX11/man/XrmPutResource.man @@ -83,6 +83,8 @@ XrmPutResource, XrmQPutResource, XrmPutStringResource, XrmQPutStringResource, XrmPutLineResource \- store database resources .SH SYNTAX .HP +#include <X11/Xresource.h> +.HP void XrmPutResource\^(\^XrmDatabase *\fIdatabase\fP\^, char *\fIspecifier\fP\^, char *\fItype\fP\^, XrmValue *\fIvalue\fP\^); .HP diff --git a/libX11/man/XrmUniqueQuark.man b/libX11/man/XrmUniqueQuark.man index 383d26c50..93755f71b 100644 --- a/libX11/man/XrmUniqueQuark.man +++ b/libX11/man/XrmUniqueQuark.man @@ -83,6 +83,8 @@ XrmUniqueQuark, XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString, XrmStringToQuarkList, XrmStringToBindingQuarkList \- manipulate resource quarks .SH SYNOPSIS .HP +#include <X11/Xresource.h> +.HP XrmQuark XrmUniqueQuark\^(void); .LP \&#define XrmStringToName(string) XrmStringToQuark(string) diff --git a/libX11/nls/Makefile.am b/libX11/nls/Makefile.am index 0eced4cd8..53eaacdf6 100644 --- a/libX11/nls/Makefile.am +++ b/libX11/nls/Makefile.am @@ -37,8 +37,8 @@ locale.dir: locale.dir.pre cat locale.dir.l2 locale.dir.l1 > locale.dir if HAVE_PERL -TESTS_ENVIRONMENT = $(PERL) -TESTS = $(srcdir)/compose-check.pl +LOG_COMPILER = $(PERL) +TESTS = compose-check.pl endif HAVE_PERL diff --git a/libX11/nls/en_US.UTF-8/Compose.pre b/libX11/nls/en_US.UTF-8/Compose.pre index de24dadec..8b45d920d 100644 --- a/libX11/nls/en_US.UTF-8/Compose.pre +++ b/libX11/nls/en_US.UTF-8/Compose.pre @@ -1481,30 +1481,30 @@ XCOMM Part 3 <Multi_key> <acute> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE <Multi_key> <apostrophe> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE <dead_stroke> <dead_acute> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE -<dead_double_grave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE -<dead_double_grave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE -<dead_inverted_breve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE -<dead_inverted_breve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE -<dead_double_grave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE -<dead_double_grave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE -<dead_inverted_breve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE -<dead_inverted_breve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE -<dead_double_grave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE -<dead_double_grave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE -<dead_inverted_breve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE -<dead_inverted_breve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE -<dead_double_grave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE -<dead_double_grave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE -<dead_inverted_breve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE -<dead_inverted_breve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE -<dead_double_grave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE -<dead_double_grave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE -<dead_inverted_breve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE -<dead_inverted_breve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE -<dead_double_grave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE -<dead_double_grave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE -<dead_inverted_breve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE -<dead_inverted_breve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE +<dead_doublegrave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE +<dead_doublegrave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE +<dead_invertedbreve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE +<dead_invertedbreve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE +<dead_doublegrave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE +<dead_doublegrave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE +<dead_invertedbreve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE +<dead_invertedbreve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE +<dead_doublegrave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE +<dead_doublegrave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE +<dead_invertedbreve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE +<dead_invertedbreve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE +<dead_doublegrave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE +<dead_doublegrave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE +<dead_invertedbreve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE +<dead_invertedbreve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE +<dead_doublegrave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE +<dead_doublegrave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE +<dead_invertedbreve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE +<dead_invertedbreve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE +<dead_doublegrave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE +<dead_doublegrave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE +<dead_invertedbreve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE +<dead_invertedbreve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE <dead_caron> <H> : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON <Multi_key> <c> <H> : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON <dead_caron> <h> : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON @@ -1784,8 +1784,8 @@ XCOMM Part 3 <dead_breve> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U <Multi_key> <U> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U <Multi_key> <b> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U -<dead_double_grave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT -<dead_double_grave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT +<dead_doublegrave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT +<dead_doublegrave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT <Multi_key> <slash> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE <Multi_key> <KP_Divide> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE <Multi_key> <slash> <Cyrillic_ghe> : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE diff --git a/libX11/nls/pt_BR.UTF-8/Compose.pre b/libX11/nls/pt_BR.UTF-8/Compose.pre index b6d7c8acc..9e0ca4e42 100644 --- a/libX11/nls/pt_BR.UTF-8/Compose.pre +++ b/libX11/nls/pt_BR.UTF-8/Compose.pre @@ -1086,30 +1086,30 @@ XCOMM <Multi_key> <apostrophe> <o> <a> : "ǻ" U01FB # LATIN SMALL LETTER A WITH <dead_acute> <Multi_key> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE <Multi_key> <acute> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE <Multi_key> <apostrophe> <KP_Divide> <o> : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE -<dead_double_grave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE -<dead_double_grave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE -<dead_inverted_breve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE -<dead_inverted_breve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE -<dead_double_grave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE -<dead_double_grave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE -<dead_inverted_breve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE -<dead_inverted_breve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE -<dead_double_grave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE -<dead_double_grave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE -<dead_inverted_breve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE -<dead_inverted_breve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE -<dead_double_grave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE -<dead_double_grave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE -<dead_inverted_breve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE -<dead_inverted_breve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE -<dead_double_grave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE -<dead_double_grave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE -<dead_inverted_breve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE -<dead_inverted_breve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE -<dead_double_grave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE -<dead_double_grave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE -<dead_inverted_breve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE -<dead_inverted_breve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE +<dead_doublegrave> <A> : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE +<dead_doublegrave> <a> : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE +<dead_invertedbreve> <A> : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE +<dead_invertedbreve> <a> : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE +<dead_doublegrave> <E> : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE +<dead_doublegrave> <e> : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE +<dead_invertedbreve> <E> : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE +<dead_invertedbreve> <e> : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE +<dead_doublegrave> <I> : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE +<dead_doublegrave> <i> : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE +<dead_invertedbreve> <I> : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE +<dead_invertedbreve> <i> : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE +<dead_doublegrave> <O> : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE +<dead_doublegrave> <o> : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE +<dead_invertedbreve> <O> : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE +<dead_invertedbreve> <o> : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE +<dead_doublegrave> <R> : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE +<dead_doublegrave> <r> : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE +<dead_invertedbreve> <R> : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE +<dead_invertedbreve> <r> : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE +<dead_doublegrave> <U> : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE +<dead_doublegrave> <u> : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE +<dead_invertedbreve> <U> : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE +<dead_invertedbreve> <u> : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE <dead_belowcomma> <S> : "Ș" U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW <dead_belowcomma> <s> : "ș" U0219 # LATIN SMALL LETTER S WITH COMMA BELOW <dead_belowcomma> <T> : "Ț" U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW @@ -1371,8 +1371,8 @@ XCOMM <Multi_key> <apostrophe> <o> <a> : "ǻ" U01FB # LATIN SMALL LETTER A WITH <dead_breve> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U <Multi_key> <U> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U <Multi_key> <b> <Cyrillic_u> : "ў" U045E # CYRILLIC SMALL LETTER SHORT U -<dead_double_grave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT -<dead_double_grave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT +<dead_doublegrave> <U0474> : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT +<dead_doublegrave> <U0475> : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT <Multi_key> <slash> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE <Multi_key> <KP_Divide> <Cyrillic_GHE> : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE <Multi_key> <slash> <Cyrillic_ghe> : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE diff --git a/libX11/src/GetFProp.c b/libX11/src/GetFProp.c index 27ec98b72..1e0cd3285 100644 --- a/libX11/src/GetFProp.c +++ b/libX11/src/GetFProp.c @@ -29,27 +29,24 @@ in this Software without prior written authorization from The Open Group. #endif #include "Xlibint.h" -Bool XGetFontProperty ( +Bool +XGetFontProperty( XFontStruct *fs, register Atom name, unsigned long *valuePtr) { /* XXX this is a simple linear search for now. If the - protocol is changed to sort the property list, this should - become a binary search. */ + protocol is changed to sort the property list, this should + become a binary search. */ register XFontProp *prop = fs->properties; register XFontProp *last = prop + fs->n_properties; + while (prop != last) { - if (prop->name == name) { - *valuePtr = prop->card32; - return (1); - } - prop++; - } - return (0); + if (prop->name == name) { + *valuePtr = prop->card32; + return (1); + } + prop++; } - - - - - + return (0); +} diff --git a/libX11/src/PropAlloc.c b/libX11/src/PropAlloc.c index bad768153..516283080 100644 --- a/libX11/src/PropAlloc.c +++ b/libX11/src/PropAlloc.c @@ -58,12 +58,7 @@ XWMHints *XAllocWMHints (void) XClassHint *XAllocClassHint (void) { - register XClassHint *h; - - if ((h = (XClassHint *) Xcalloc (1, (unsigned) sizeof (XClassHint)))) - h->res_name = h->res_class = NULL; - - return h; + return Xcalloc (1, sizeof (XClassHint)); } diff --git a/libX11/src/udcInf.c b/libX11/src/udcInf.c index db7ad10f3..b7577ac96 100644 --- a/libX11/src/udcInf.c +++ b/libX11/src/udcInf.c @@ -702,14 +702,14 @@ int *num_gi; _XlcCloseConverter(conv); _XlcDestroyLC(lcd); - *gi = (_XUDCGIInf *)Xmalloc(sizeof(_XUDCGIInf)); - (*gi)->charset_str = (char *)Xmalloc(strlen(charsetname)+1); - strcpy((*gi)->charset_str,charsetname); - (*gi)->glyph_index = glyph; + *gi = Xmalloc(sizeof(_XUDCGIInf)); if(*gi == NULL){ _xudc_utyerrno = 0x03 ; return(_XUDC_ERROR); } + (*gi)->charset_str = Xmalloc(strlen(charsetname)+1); + strcpy((*gi)->charset_str,charsetname); + (*gi)->glyph_index = glyph; *num_gi = 1; return(0); } diff --git a/mesalib/configure.ac b/mesalib/configure.ac index ea56a044d..320486910 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -1062,26 +1062,24 @@ if test "x$enable_dri" = xyes; then DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'` # Check for expat - if test "x$enable_dri" = xyes; then - EXPAT_INCLUDES="" - EXPAT_LIB=-lexpat - AC_ARG_WITH([expat], - [AS_HELP_STRING([--with-expat=DIR], - [expat install directory])],[ - EXPAT_INCLUDES="-I$withval/include" - CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES" - LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR" - EXPAT_LIB="-L$withval/$LIB_DIR -lexpat" - ]) - AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])]) - save_LIBS="$LIBS" - AC_CHECK_LIB([expat],[XML_ParserCreate],[], - [AC_MSG_ERROR([Expat required for DRI.])]) - LIBS="$save_LIBS" - fi - - # if we are building any dri driver other than swrast or using the dri state tracker ... - if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast -a "x$enable_dri" = xyes; then + EXPAT_INCLUDES="" + EXPAT_LIB=-lexpat + AC_ARG_WITH([expat], + [AS_HELP_STRING([--with-expat=DIR], + [expat install directory])],[ + EXPAT_INCLUDES="-I$withval/include" + CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES" + LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR" + EXPAT_LIB="-L$withval/$LIB_DIR -lexpat" + ]) + AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])]) + save_LIBS="$LIBS" + AC_CHECK_LIB([expat],[XML_ParserCreate],[], + [AC_MSG_ERROR([Expat required for DRI.])]) + LIBS="$save_LIBS" + + # If we are building any DRI driver other than swrast. + if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast; then # ... libdrm is required if test "x$have_libdrm" != xyes; then AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED]) @@ -1149,14 +1147,6 @@ case $DRI_DIRS in ;; esac -AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes) -AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes) -AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes) -AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes) -AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes) -AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes) -AM_CONDITIONAL(HAVE_COMMON_DRI, test x$HAVE_COMMON_DRI = xyes) - dnl dnl OSMesa configuration dnl @@ -1755,6 +1745,7 @@ gallium_check_st() { fi if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2" + HAVE_COMMON_DRI=yes fi if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3" @@ -1996,6 +1987,14 @@ for driver in $GALLIUM_DRIVERS_DIRS; do esac done +AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes) +AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes) +AM_CONDITIONAL(HAVE_NOUVEAU_DRI, test x$HAVE_NOUVEAU_DRI = xyes) +AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes) +AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes) +AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes) +AM_CONDITIONAL(HAVE_COMMON_DRI, test x$HAVE_COMMON_DRI = xyes) + AM_CONDITIONAL(HAVE_GALAHAD_GALLIUM, test x$HAVE_GALAHAD_GALLIUM = xyes) AM_CONDITIONAL(HAVE_IDENTITY_GALLIUM, test x$HAVE_IDENTITY_GALLIUM = xyes) AM_CONDITIONAL(HAVE_NOOP_GALLIUM, test x$HAVE_NOOP_GALLIUM = xyes) diff --git a/mesalib/docs/viewperf.html b/mesalib/docs/viewperf.html index ab2fd67ef..3bbe1978a 100644 --- a/mesalib/docs/viewperf.html +++ b/mesalib/docs/viewperf.html @@ -203,6 +203,35 @@ This causes the object in question to be drawn in a strange orientation and with a semi-random color (between white and black) since GL_FOG is enabled. </p> + +<h2>Proe-05 test 1</h2> + +<p> +This uses depth testing but there's two problems: +<ol> +<li>The glXChooseFBConfig() call doesn't request a depth buffer +<li>The test never calls glClear(GL_DEPTH_BUFFER_BIT) to initialize the depth buffer +</ol> +<p> +If the chosen visual does not have a depth buffer, you'll see the wireframe +car model but it won't be rendered correctly. +</p> +If (by luck) the chosen visual has a depth buffer, its initial contents +will be undefined so you may or may not see parts of the model. +<p> +Interestingly, with NVIDIA's driver most visuals happen to have a depth buffer +and apparently the contents are initialized to 1.0 by default so this test +just happens to work with their drivers. +</p> + +<p> +Finally, even if a depth buffer was requested and the glClear(GL_COLOR_BUFFER_BIT) +calls were changed to glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) +the problem still wouldn't be fixed because GL_DEPTH_WRITEMASK=GL_FALSE when +glClear is called so clearing the depth buffer would be a no-op anyway. +</p> + + </div> </body> </html> diff --git a/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c b/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c index d7f0be40e..03280515b 100644 --- a/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c +++ b/mesalib/src/gallium/auxiliary/util/u_cpu_detect.c @@ -270,7 +270,7 @@ util_cpu_detect(void) util_cpu_caps.x86_cpu_type = 8 + ((regs2[0] >> 20) & 255); /* use extended family (P4, IA64) */ /* general feature flags */ - util_cpu_caps.has_tsc = (regs2[3] >> 8) & 1; /* 0x0000010 */ + util_cpu_caps.has_tsc = (regs2[3] >> 4) & 1; /* 0x0000010 */ util_cpu_caps.has_mmx = (regs2[3] >> 23) & 1; /* 0x0800000 */ util_cpu_caps.has_sse = (regs2[3] >> 25) & 1; /* 0x2000000 */ util_cpu_caps.has_sse2 = (regs2[3] >> 26) & 1; /* 0x4000000 */ diff --git a/mesalib/src/mapi/glapi/gen/Makefile.am b/mesalib/src/mapi/glapi/gen/Makefile.am index 4d51bbca6..36e47e21e 100644 --- a/mesalib/src/mapi/glapi/gen/Makefile.am +++ b/mesalib/src/mapi/glapi/gen/Makefile.am @@ -246,19 +246,19 @@ $(MESA_GLX_DIR)/indirect_size.c: glX_proto_size.py $(COMMON_GLX) ###################################################################### $(XORG_GLX_DIR)/indirect_dispatch.c: glX_proto_recv.py $(COMMON_GLX) - $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m dispatch_c \ + $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m dispatch_c \ | $(INDENT) $(XORG_INDENT_FLAGS) > $@ $(XORG_GLX_DIR)/indirect_dispatch_swap.c: glX_proto_recv.py $(COMMON_GLX) - $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m dispatch_c -s \ + $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m dispatch_c -s \ | $(INDENT) $(XORG_INDENT_FLAGS) > $@ $(XORG_GLX_DIR)/indirect_dispatch.h: glX_proto_recv.py gl_and_glX_API.xml $(COMMON_GLX) - $(PYTHON_GEN) $(PYTHON_FLAGS) $< -m dispatch_h -f $(srcdir)/gl_and_glX_API.xml -s \ + $(PYTHON_GEN) $< -m dispatch_h -f $(srcdir)/gl_and_glX_API.xml -s \ | $(INDENT) $(XORG_INDENT_FLAGS) > $@ $(XORG_GLX_DIR)/indirect_size_get.h: glX_proto_size.py $(COMMON_GLX) - $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m size_h \ + $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m size_h \ --only-get -h '_INDIRECT_SIZE_GET_H_' \ | $(INDENT) $(XORG_INDENT_FLAGS) > $@ @@ -267,14 +267,14 @@ $(XORG_GLX_DIR)/indirect_size_get.c: glX_proto_size.py $(COMMON_GLX) | $(INDENT) $(INDENT_FLAGS) > $@ $(XORG_GLX_DIR)/indirect_reqsize.h: glX_proto_size.py $(COMMON_GLX) - $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m reqsize_h \ + $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m reqsize_h \ --only-get -h '_INDIRECT_SIZE_GET_H_' \ | $(INDENT) $(XORG_INDENT_FLAGS) > $@ $(XORG_GLX_DIR)/indirect_reqsize.c: glX_proto_size.py $(COMMON_GLX) - $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_API.xml -m reqsize_c \ + $(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m reqsize_c \ | $(INDENT) $(XORG_INDENT_FLAGS) > $@ $(XORG_GLX_DIR)/indirect_table.c: glX_server_table.py gl_and_glX_API.xml $(COMMON_GLX) - $(PYTHON_GEN) $(PYTHON_FLAGS) $< -f $(srcdir)/gl_and_glX_API.xml \ + $(PYTHON_GEN) $< -f $(srcdir)/gl_and_glX_API.xml \ | $(INDENT) $(XORG_INDENT_FLAGS) > $@ diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c index 2399f9c9d..582ef3198 100644 --- a/mesalib/src/mesa/main/get.c +++ b/mesalib/src/mesa/main/get.c @@ -34,6 +34,7 @@ #include "state.h" #include "texcompress.h" #include "framebuffer.h" +#include "samplerobj.h" /* This is a table driven implemetation of the glGet*v() functions. * The basic idea is that most getters just look up an int somewhere @@ -827,7 +828,16 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu { struct gl_sampler_object *samp = ctx->Texture.Unit[ctx->Texture.CurrentUnit].Sampler; - v->value_int = samp ? samp->Name : 0; + + /* + * The sampler object may have been deleted on another context, + * so we try to lookup the sampler object before returning its Name. + */ + if (samp && _mesa_lookup_samplerobj(ctx, samp->Name)) { + v->value_int = samp->Name; + } else { + v->value_int = 0; + } } break; /* GL_ARB_uniform_buffer_object */ diff --git a/mesalib/src/mesa/main/glformats.c b/mesalib/src/mesa/main/glformats.c index 8728540cf..c1e16587a 100644 --- a/mesalib/src/mesa/main/glformats.c +++ b/mesalib/src/mesa/main/glformats.c @@ -917,7 +917,7 @@ _mesa_is_compressed_format(struct gl_context *ctx, GLenum format) case GL_COMPRESSED_SIGNED_RG11_EAC: case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: - return _mesa_is_gles3(ctx); + return _mesa_is_gles3(ctx) || ctx->Extensions.ARB_ES3_compatibility; case GL_PALETTE4_RGB8_OES: case GL_PALETTE4_RGBA8_OES: case GL_PALETTE4_R5_G6_B5_OES: diff --git a/mesalib/src/mesa/main/samplerobj.c b/mesalib/src/mesa/main/samplerobj.c index 319a444d7..5cff32936 100644 --- a/mesalib/src/mesa/main/samplerobj.c +++ b/mesalib/src/mesa/main/samplerobj.c @@ -40,7 +40,7 @@ #include "main/samplerobj.h" -static struct gl_sampler_object * +struct gl_sampler_object * _mesa_lookup_samplerobj(struct gl_context *ctx, GLuint name) { if (name == 0) @@ -206,9 +206,19 @@ _mesa_DeleteSamplers(GLsizei count, const GLuint *samplers) for (i = 0; i < count; i++) { if (samplers[i]) { + GLuint j; struct gl_sampler_object *sampObj = _mesa_lookup_samplerobj(ctx, samplers[i]); + if (sampObj) { + /* If the sampler is currently bound, unbind it. */ + for (j = 0; j < ctx->Const.MaxCombinedTextureImageUnits; j++) { + if (ctx->Texture.Unit[j].Sampler == sampObj) { + FLUSH_VERTICES(ctx, _NEW_TEXTURE); + _mesa_reference_sampler_object(ctx, &ctx->Texture.Unit[j].Sampler, NULL); + } + } + /* The ID is immediately freed for re-use */ _mesa_HashRemove(ctx->Shared->SamplerObjects, samplers[i]); /* But the object exists until its reference count goes to zero */ diff --git a/mesalib/src/mesa/main/samplerobj.h b/mesalib/src/mesa/main/samplerobj.h index 311425701..69e389949 100644 --- a/mesalib/src/mesa/main/samplerobj.h +++ b/mesalib/src/mesa/main/samplerobj.h @@ -62,6 +62,8 @@ _mesa_reference_sampler_object(struct gl_context *ctx, _mesa_reference_sampler_object_(ctx, ptr, samp); } +extern struct gl_sampler_object * +_mesa_lookup_samplerobj(struct gl_context *ctx, GLuint name); extern struct gl_sampler_object * _mesa_new_sampler_object(struct gl_context *ctx, GLuint name); diff --git a/mesalib/src/mesa/main/teximage.c b/mesalib/src/mesa/main/teximage.c index 9d4a17052..7d996da47 100644 --- a/mesalib/src/mesa/main/teximage.c +++ b/mesalib/src/mesa/main/teximage.c @@ -520,7 +520,7 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat ) } } - if (_mesa_is_gles3(ctx)) { + if (_mesa_is_gles3(ctx) || ctx->Extensions.ARB_ES3_compatibility) { switch (internalFormat) { case GL_COMPRESSED_RGB8_ETC2: case GL_COMPRESSED_SRGB8_ETC2: diff --git a/mesalib/src/mesa/vbo/vbo_save_draw.c b/mesalib/src/mesa/vbo/vbo_save_draw.c index efb386e5c..f5b5c411d 100644 --- a/mesalib/src/mesa/vbo/vbo_save_draw.c +++ b/mesalib/src/mesa/vbo/vbo_save_draw.c @@ -253,7 +253,7 @@ vbo_save_playback_vertex_list(struct gl_context *ctx, void *data) struct vbo_save_context *save = &vbo_context(ctx)->save; GLboolean remap_vertex_store = GL_FALSE; - if (save->vertex_store->buffer) { + if (save->vertex_store && save->vertex_store->buffer) { /* The vertex store is currently mapped but we're about to replay * a display list. This can happen when a nested display list is * being build with GL_COMPILE_AND_EXECUTE. diff --git a/pixman/pixman/pixman-mmx.c b/pixman/pixman/pixman-mmx.c index ca2ac83d9..14790c029 100644 --- a/pixman/pixman/pixman-mmx.c +++ b/pixman/pixman/pixman-mmx.c @@ -44,8 +44,6 @@ #include "pixman-combine32.h" #include "pixman-inlines.h" -#define no_vERBOSE - #ifdef VERBOSE #define CHECKPOINT() error_f ("at %s %d\n", __FUNCTION__, __LINE__) #else diff --git a/xorg-server/fb/wfbrename.h b/xorg-server/fb/wfbrename.h index 588440c2b..54d00d003 100644 --- a/xorg-server/fb/wfbrename.h +++ b/xorg-server/fb/wfbrename.h @@ -52,6 +52,7 @@ #define fbCreatePixmap wfbCreatePixmap #define fbCreatePixmapBpp wfbCreatePixmapBpp #define fbCreateWindow wfbCreateWindow +#define fbDestroyGlyphCache wfbDestroyGlyphCache #define fbDestroyPixmap wfbDestroyPixmap #define fbDestroyWindow wfbDestroyWindow #define fbDoCopy wfbDoCopy diff --git a/xorg-server/xkeyboard-config/rules/base.o_s.part b/xorg-server/xkeyboard-config/rules/base.o_s.part index 721291985..46c07b01d 100644 --- a/xorg-server/xkeyboard-config/rules/base.o_s.part +++ b/xorg-server/xkeyboard-config/rules/base.o_s.part @@ -1,5 +1,6 @@ altwin:menu = +altwin(menu) altwin:meta_alt = +altwin(meta_alt) + altwin:alt_win = +altwin(alt_win) altwin:ctrl_win = +altwin(ctrl_win) altwin:ctrl_alt_win = +altwin(ctrl_alt_win) altwin:meta_win = +altwin(meta_win) diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in index 95790dda8..1d346238e 100644 --- a/xorg-server/xkeyboard-config/rules/base.xml.in +++ b/xorg-server/xkeyboard-config/rules/base.xml.in @@ -6221,6 +6221,12 @@ </option> <option> <configItem> + <name>altwin:alt_win</name> + <_description>Alt is mapped to Win keys (and the usual Alt keys)</_description> + </configItem> + </option> + <option> + <configItem> <name>altwin:ctrl_win</name> <_description>Control is mapped to Win keys (and the usual Ctrl keys)</_description> </configItem> diff --git a/xorg-server/xkeyboard-config/symbols/altwin b/xorg-server/xkeyboard-config/symbols/altwin index f7578b493..d22013d0c 100644 --- a/xorg-server/xkeyboard-config/symbols/altwin +++ b/xorg-server/xkeyboard-config/symbols/altwin @@ -7,6 +7,14 @@ xkb_symbols "meta_alt" { // modifier_map Mod4 {}; }; +// Alt is mapped to the Win-keys (and the usual Alt keys). +partial modifier_keys +xkb_symbols "alt_win" { + key <LWIN> { [ Alt_L ] }; + key <RWIN> { [ Alt_R ] }; + modifier_map Mod1 { <LWIN>, <RWIN> }; +}; + // Control is mapped to the Win-keys (and the usual Ctrl keys). partial modifier_keys xkb_symbols "ctrl_win" { diff --git a/xorg-server/xkeyboard-config/symbols/cm b/xorg-server/xkeyboard-config/symbols/cm index 622d62d8b..9b2da163c 100644 --- a/xorg-server/xkeyboard-config/symbols/cm +++ b/xorg-server/xkeyboard-config/symbols/cm @@ -158,7 +158,7 @@ xkb_symbols "azerty" key <AC03> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK key <AC04> { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE key <AC05> { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO) - key <AC06> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA + key <AC06> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA key <AC07> { [ j, J, leftarrow, U2122 ] }; //SMALL LETTER J, CAPITAL LETTER J, LEFT ARROW, TRADE MARK SIGN key <AC08> { [ k, K, downarrow, uparrow ] }; // SMALL LETTER K, CAPITAL LETTER K, DOWN ARROW, UP ARROW key <AC09> { [ l, L, rightarrow, U00A3 ] }; // SMALL LETTER L, CAPITAL LETTER L, RIGHT ARROW, POUND STERLING @@ -215,7 +215,7 @@ xkb_symbols "qwerty" key <AC03> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK key <AC04> { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE key <AC05> { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO) - key <AC06> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA + key <AC06> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA key <AC07> { [ j, J, U0330, U0323 ] }; // SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW key <AC08> { [ k, K, U1DC5, U1DC7 ] }; // SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID key <AC09> { [ l, L, U1DC6, U1DC4 ] }; // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE @@ -270,7 +270,7 @@ xkb_symbols "dvorak" key <AC04> { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR key <AC05> { [ i, I, U0268, U0197 ] }; // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR key <AC06> { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK - key <AC07> { [ h, H, U03B1, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA + key <AC07> { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA key <AC08> { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE key <AC09> { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG key <AC10> { [ s, S ] }; // SMALL LETTER S, CAPITAL LETTER S |