Module Name: xsrc
Committed By: mrg
Date: Wed Feb 26 01:17:33 UTC 2025
Modified Files:
xsrc/external/mit/xorg-server/dist: configure configure.ac
xsrc/external/mit/xorg-server/dist/Xext: sync.c
xsrc/external/mit/xorg-server/dist/Xi: xibarriers.c xichangehierarchy.c
xsrc/external/mit/xorg-server/dist/dix: devices.c dispatch.c
enterleave.c
xsrc/external/mit/xorg-server/dist/hw/xfree86/common: xf86Configure.c
xf86sbusBus.c
xsrc/external/mit/xorg-server/dist/hw/xfree86/dri2: dri2.c
xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting:
driver.c drmmode_display.c present.c
xsrc/external/mit/xorg-server/dist/hw/xfree86/fbdevhw: fbdevhw.c
xsrc/external/mit/xorg-server/dist/include: dix-config.h.in
xsrc/external/mit/xorg-server/dist/os: WaitFor.c access.c connection.c
xsrc/external/mit/xorg-server/dist/xkb: xkb.c
xsrc/external/mit/xorg-server/include: dix-config.h version-config.h
xorg-config.h xorg-server.h
Log Message:
merge xorg-server 21.1.16.
To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 xsrc/external/mit/xorg-server/dist/configure
cvs rdiff -u -r1.22 -r1.23 xsrc/external/mit/xorg-server/dist/configure.ac
cvs rdiff -u -r1.13 -r1.14 xsrc/external/mit/xorg-server/dist/Xext/sync.c
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/xorg-server/dist/Xi/xibarriers.c
cvs rdiff -u -r1.7 -r1.8 \
xsrc/external/mit/xorg-server/dist/Xi/xichangehierarchy.c
cvs rdiff -u -r1.15 -r1.16 xsrc/external/mit/xorg-server/dist/dix/devices.c
cvs rdiff -u -r1.8 -r1.9 xsrc/external/mit/xorg-server/dist/dix/dispatch.c
cvs rdiff -u -r1.9 -r1.10 xsrc/external/mit/xorg-server/dist/dix/enterleave.c
cvs rdiff -u -r1.12 -r1.13 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c
cvs rdiff -u -r1.7 -r1.8 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86sbusBus.c
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/dri2/dri2.c
cvs rdiff -u -r1.7 -r1.8 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/driver.c
cvs rdiff -u -r1.11 -r1.12 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/drmmode_display.c
cvs rdiff -u -r1.8 -r1.9 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/present.c
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/xorg-server/dist/hw/xfree86/fbdevhw/fbdevhw.c
cvs rdiff -u -r1.9 -r1.10 \
xsrc/external/mit/xorg-server/dist/include/dix-config.h.in
cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/xorg-server/dist/os/WaitFor.c
cvs rdiff -u -r1.7 -r1.8 xsrc/external/mit/xorg-server/dist/os/access.c
cvs rdiff -u -r1.8 -r1.9 xsrc/external/mit/xorg-server/dist/os/connection.c
cvs rdiff -u -r1.10 -r1.11 xsrc/external/mit/xorg-server/dist/xkb/xkb.c
cvs rdiff -u -r1.53 -r1.54 xsrc/external/mit/xorg-server/include/dix-config.h
cvs rdiff -u -r1.23 -r1.24 \
xsrc/external/mit/xorg-server/include/version-config.h
cvs rdiff -u -r1.33 -r1.34 \
xsrc/external/mit/xorg-server/include/xorg-config.h \
xsrc/external/mit/xorg-server/include/xorg-server.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/xorg-server/dist/configure
diff -u xsrc/external/mit/xorg-server/dist/configure:1.20 xsrc/external/mit/xorg-server/dist/configure:1.21
--- xsrc/external/mit/xorg-server/dist/configure:1.20 Wed Oct 30 21:16:58 2024
+++ xsrc/external/mit/xorg-server/dist/configure Wed Feb 26 01:17:31 2025
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for xorg-server 21.1.14.
+# Generated by GNU Autoconf 2.72 for xorg-server 21.1.16.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/xserver/issues>.
#
@@ -675,8 +675,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xorg-server'
PACKAGE_TARNAME='xorg-server'
-PACKAGE_VERSION='21.1.14'
-PACKAGE_STRING='xorg-server 21.1.14'
+PACKAGE_VERSION='21.1.16'
+PACKAGE_STRING='xorg-server 21.1.16'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/xserver/issues'
PACKAGE_URL=''
@@ -1999,7 +1999,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-'configure' configures xorg-server 21.1.14 to adapt to many kinds of systems.
+'configure' configures xorg-server 21.1.16 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2070,7 +2070,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xorg-server 21.1.14:";;
+ short | recursive ) echo "Configuration of xorg-server 21.1.16:";;
esac
cat <<\_ACEOF
@@ -2256,10 +2256,10 @@ Optional Packages:
org.x)
--with-bundle-version=VERSION
Version to use for X11.app's CFBundleVersion
- (default: 21.1.14)
+ (default: 21.1.16)
--with-bundle-version-string=VERSION
Version to use for X11.app's
- CFBundleShortVersionString (default: 21.1.14)
+ CFBundleShortVersionString (default: 21.1.16)
--with-sparkle-feed-url=URL
URL for the Sparkle feed (default:
https://www.xquartz.org/releases/sparkle/release.xml)
@@ -2269,7 +2269,7 @@ Optional Packages:
--with-systemd-daemon support systemd socket activation (default: auto)
--with-xkb-bin-directory=DIR
Directory containing xkbcomp program (default: auto)
- --with-sha1=libc|libmd|libnettle|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI
+ --with-sha1=libc|libmd|libnettle|nettlestatic|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI
choose SHA1 implementation
Some influential environment variables:
@@ -2476,7 +2476,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xorg-server configure 21.1.14
+xorg-server configure 21.1.16
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -3154,7 +3154,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xorg-server $as_me 21.1.14, which was
+It was created by xorg-server $as_me 21.1.16, which was
generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3929,7 +3929,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-RELEASE_DATE="2024-10-29"
+RELEASE_DATE="2025-02-25"
RELEASE_NAME="Caramel Ice Cream"
@@ -4452,7 +4452,7 @@ fi
# Define the identity of the package.
PACKAGE='xorg-server'
- VERSION='21.1.14'
+ VERSION='21.1.16'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -26036,7 +26036,7 @@ if test ${with_bundle_version+y}
then :
withval=$with_bundle_version; BUNDLE_VERSION="${withval}"
else case e in #(
- e) BUNDLE_VERSION="21.1.14" ;;
+ e) BUNDLE_VERSION="21.1.16" ;;
esac
fi
@@ -30636,6 +30636,15 @@ printf "%s\n" "#define HAVE_SHA1_IN_LIBN
SHA1_LIBS=-lnettle
fi
+if test "x$with_sha1" = xnettlestatic && test "x$HAVE_LIBNETTLE" != xyes; then
+ as_fn_error $? "nettlestatic requested but libnettle not found" "$LINENO" 5
+fi
+if test "x$with_sha1" = xnettlestatic; then
+
+printf "%s\n" "#define HAVE_SHA1_IN_LIBNETTLE 1" >>confdefs.h
+
+ SHA1_LIBS=-l:libnettle.a
+fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gcry_md_open in -lgcrypt" >&5
printf %s "checking for gcry_md_open in -lgcrypt... " >&6; }
if test ${ac_cv_lib_gcrypt_gcry_md_open+y}
@@ -34805,7 +34814,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xorg-server $as_me 21.1.14, which was
+This file was extended by xorg-server $as_me 21.1.16, which was
generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -34873,7 +34882,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-xorg-server config.status 21.1.14
+xorg-server config.status 21.1.16
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
Index: xsrc/external/mit/xorg-server/dist/configure.ac
diff -u xsrc/external/mit/xorg-server/dist/configure.ac:1.22 xsrc/external/mit/xorg-server/dist/configure.ac:1.23
--- xsrc/external/mit/xorg-server/dist/configure.ac:1.22 Wed Oct 30 21:16:58 2024
+++ xsrc/external/mit/xorg-server/dist/configure.ac Wed Feb 26 01:17:31 2025
@@ -26,8 +26,8 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 21.1.14, [https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
-RELEASE_DATE="2024-10-29"
+AC_INIT([xorg-server], 21.1.16, [https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
+RELEASE_DATE="2025-02-25"
RELEASE_NAME="Caramel Ice Cream"
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_MACRO_DIR([m4])
@@ -1493,7 +1493,7 @@ CORE_INCS='-I$(top_srcdir)/include -I$(t
# SHA1 hashing
AC_ARG_WITH([sha1],
- [AS_HELP_STRING([--with-sha1=libc|libmd|libnettle|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI],
+ [AS_HELP_STRING([--with-sha1=libc|libmd|libnettle|nettlestatic|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI],
[choose SHA1 implementation])])
AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
@@ -1568,6 +1568,14 @@ if test "x$with_sha1" = xlibnettle; then
[Use libnettle SHA1 functions])
SHA1_LIBS=-lnettle
fi
+if test "x$with_sha1" = xnettlestatic && test "x$HAVE_LIBNETTLE" != xyes; then
+ AC_MSG_ERROR([nettlestatic requested but libnettle not found])
+fi
+if test "x$with_sha1" = xnettlestatic; then
+ AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1],
+ [Use static libnettle SHA1 functions])
+ SHA1_LIBS=-l:libnettle.a
+fi
AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
with_sha1=libgcrypt
Index: xsrc/external/mit/xorg-server/dist/Xext/sync.c
diff -u xsrc/external/mit/xorg-server/dist/Xext/sync.c:1.13 xsrc/external/mit/xorg-server/dist/Xext/sync.c:1.14
--- xsrc/external/mit/xorg-server/dist/Xext/sync.c:1.13 Thu Jul 4 21:47:03 2024
+++ xsrc/external/mit/xorg-server/dist/Xext/sync.c Wed Feb 26 01:17:31 2025
@@ -199,8 +199,8 @@ SyncAddTriggerToSyncObject(SyncTrigger *
return Success;
}
- if (!(pCur = malloc(sizeof(SyncTriggerList))))
- return BadAlloc;
+ /* Failure is not an option, it's succeed or burst! */
+ pCur = XNFalloc(sizeof(SyncTriggerList));
pCur->pTrigger = pTrigger;
pCur->next = pTrigger->pSync->pTriglist;
@@ -329,11 +329,6 @@ SyncInitTrigger(ClientPtr client, SyncTr
client->errorValue = syncObject;
return rc;
}
- if (pSync != pTrigger->pSync) { /* new counter for trigger */
- SyncDeleteTriggerFromSyncObject(pTrigger);
- pTrigger->pSync = pSync;
- newSyncObject = TRUE;
- }
}
/* if system counter, ask it what the current value is */
@@ -355,6 +350,24 @@ SyncInitTrigger(ClientPtr client, SyncTr
}
}
+ if (changes & (XSyncCAValueType | XSyncCAValue)) {
+ if (pTrigger->value_type == XSyncAbsolute)
+ pTrigger->test_value = pTrigger->wait_value;
+ else { /* relative */
+ Bool overflow;
+
+ if (pCounter == NULL)
+ return BadMatch;
+
+ overflow = checked_int64_add(&pTrigger->test_value,
+ pCounter->value, pTrigger->wait_value);
+ if (overflow) {
+ client->errorValue = pTrigger->wait_value >> 32;
+ return BadValue;
+ }
+ }
+ }
+
if (changes & XSyncCATestType) {
if (pSync && SYNC_FENCE == pSync->type) {
@@ -383,21 +396,11 @@ SyncInitTrigger(ClientPtr client, SyncTr
}
}
- if (changes & (XSyncCAValueType | XSyncCAValue)) {
- if (pTrigger->value_type == XSyncAbsolute)
- pTrigger->test_value = pTrigger->wait_value;
- else { /* relative */
- Bool overflow;
-
- if (pCounter == NULL)
- return BadMatch;
-
- overflow = checked_int64_add(&pTrigger->test_value,
- pCounter->value, pTrigger->wait_value);
- if (overflow) {
- client->errorValue = pTrigger->wait_value >> 32;
- return BadValue;
- }
+ if (changes & XSyncCACounter) {
+ if (pSync != pTrigger->pSync) { /* new counter for trigger */
+ SyncDeleteTriggerFromSyncObject(pTrigger);
+ pTrigger->pSync = pSync;
+ newSyncObject = TRUE;
}
}
@@ -405,8 +408,7 @@ SyncInitTrigger(ClientPtr client, SyncTr
* a new counter on a trigger
*/
if (newSyncObject) {
- if ((rc = SyncAddTriggerToSyncObject(pTrigger)) != Success)
- return rc;
+ SyncAddTriggerToSyncObject(pTrigger);
}
else if (pCounter && IsSystemCounter(pCounter)) {
SyncComputeBracketValues(pCounter);
@@ -797,8 +799,14 @@ SyncChangeAlarmAttributes(ClientPtr clie
int status;
XSyncCounter counter;
Mask origmask = mask;
-
- counter = pAlarm->trigger.pSync ? pAlarm->trigger.pSync->id : None;
+ SyncTrigger trigger;
+ Bool select_events_changed = FALSE;
+ Bool select_events_value = FALSE;
+ int64_t delta;
+
+ trigger = pAlarm->trigger;
+ delta = pAlarm->delta;
+ counter = trigger.pSync ? trigger.pSync->id : None;
while (mask) {
int index2 = lowbit(mask);
@@ -814,24 +822,24 @@ SyncChangeAlarmAttributes(ClientPtr clie
case XSyncCAValueType:
mask &= ~XSyncCAValueType;
/* sanity check in SyncInitTrigger */
- pAlarm->trigger.value_type = *values++;
+ trigger.value_type = *values++;
break;
case XSyncCAValue:
mask &= ~XSyncCAValue;
- pAlarm->trigger.wait_value = ((int64_t)values[0] << 32) | values[1];
+ trigger.wait_value = ((int64_t)values[0] << 32) | values[1];
values += 2;
break;
case XSyncCATestType:
mask &= ~XSyncCATestType;
/* sanity check in SyncInitTrigger */
- pAlarm->trigger.test_type = *values++;
+ trigger.test_type = *values++;
break;
case XSyncCADelta:
mask &= ~XSyncCADelta;
- pAlarm->delta = ((int64_t)values[0] << 32) | values[1];
+ delta = ((int64_t)values[0] << 32) | values[1];
values += 2;
break;
@@ -841,10 +849,8 @@ SyncChangeAlarmAttributes(ClientPtr clie
client->errorValue = *values;
return BadValue;
}
- status = SyncEventSelectForAlarm(pAlarm, client,
- (Bool) (*values++));
- if (status != Success)
- return status;
+ select_events_value = (Bool) (*values++);
+ select_events_changed = TRUE;
break;
default:
@@ -853,25 +859,33 @@ SyncChangeAlarmAttributes(ClientPtr clie
}
}
+ if (select_events_changed) {
+ status = SyncEventSelectForAlarm(pAlarm, client, select_events_value);
+ if (status != Success)
+ return status;
+ }
+
/* "If the test-type is PositiveComparison or PositiveTransition
* and delta is less than zero, or if the test-type is
* NegativeComparison or NegativeTransition and delta is
* greater than zero, a Match error is generated."
*/
if (origmask & (XSyncCADelta | XSyncCATestType)) {
- if ((((pAlarm->trigger.test_type == XSyncPositiveComparison) ||
- (pAlarm->trigger.test_type == XSyncPositiveTransition))
- && pAlarm->delta < 0)
+ if ((((trigger.test_type == XSyncPositiveComparison) ||
+ (trigger.test_type == XSyncPositiveTransition))
+ && delta < 0)
||
- (((pAlarm->trigger.test_type == XSyncNegativeComparison) ||
- (pAlarm->trigger.test_type == XSyncNegativeTransition))
- && pAlarm->delta > 0)
+ (((trigger.test_type == XSyncNegativeComparison) ||
+ (trigger.test_type == XSyncNegativeTransition))
+ && delta > 0)
) {
return BadMatch;
}
}
/* postpone this until now, when we're sure nothing else can go wrong */
+ pAlarm->delta = delta;
+ pAlarm->trigger = trigger;
if ((status = SyncInitTrigger(client, &pAlarm->trigger, counter, RTCounter,
origmask & XSyncCAAllTrigger)) != Success)
return status;
Index: xsrc/external/mit/xorg-server/dist/Xi/xibarriers.c
diff -u xsrc/external/mit/xorg-server/dist/Xi/xibarriers.c:1.4 xsrc/external/mit/xorg-server/dist/Xi/xibarriers.c:1.5
--- xsrc/external/mit/xorg-server/dist/Xi/xibarriers.c:1.4 Sun Mar 3 22:01:08 2019
+++ xsrc/external/mit/xorg-server/dist/Xi/xibarriers.c Wed Feb 26 01:17:32 2025
@@ -129,14 +129,15 @@ static void FreePointerBarrierClient(str
static struct PointerBarrierDevice *GetBarrierDevice(struct PointerBarrierClient *c, int deviceid)
{
- struct PointerBarrierDevice *pbd = NULL;
+ struct PointerBarrierDevice *p, *pbd = NULL;
- xorg_list_for_each_entry(pbd, &c->per_device, entry) {
- if (pbd->deviceid == deviceid)
+ xorg_list_for_each_entry(p, &c->per_device, entry) {
+ if (p->deviceid == deviceid) {
+ pbd = p;
break;
+ }
}
- BUG_WARN(!pbd);
return pbd;
}
@@ -337,6 +338,9 @@ barrier_find_nearest(BarrierScreenPtr cs
double distance;
pbd = GetBarrierDevice(c, dev->id);
+ if (!pbd)
+ continue;
+
if (pbd->seen)
continue;
@@ -445,6 +449,9 @@ input_constrain_cursor(DeviceIntPtr dev,
nearest = &c->barrier;
pbd = GetBarrierDevice(c, master->id);
+ if (!pbd)
+ continue;
+
new_sequence = !pbd->hit;
pbd->seen = TRUE;
@@ -485,6 +492,9 @@ input_constrain_cursor(DeviceIntPtr dev,
int flags = 0;
pbd = GetBarrierDevice(c, master->id);
+ if (!pbd)
+ continue;
+
pbd->seen = FALSE;
if (!pbd->hit)
continue;
@@ -679,6 +689,9 @@ BarrierFreeBarrier(void *data, XID id)
continue;
pbd = GetBarrierDevice(c, dev->id);
+ if (!pbd)
+ continue;
+
if (!pbd->hit)
continue;
@@ -738,6 +751,8 @@ static void remove_master_func(void *res
barrier = container_of(b, struct PointerBarrierClient, barrier);
pbd = GetBarrierDevice(barrier, *deviceid);
+ if (!pbd)
+ return;
if (pbd->hit) {
BarrierEvent ev = {
@@ -903,6 +918,10 @@ ProcXIBarrierReleasePointer(ClientPtr cl
barrier = container_of(b, struct PointerBarrierClient, barrier);
pbd = GetBarrierDevice(barrier, dev->id);
+ if (!pbd) {
+ client->errorValue = dev->id;
+ return BadDevice;
+ }
if (pbd->barrier_event_id == event_id)
pbd->release_event_id = event_id;
Index: xsrc/external/mit/xorg-server/dist/Xi/xichangehierarchy.c
diff -u xsrc/external/mit/xorg-server/dist/Xi/xichangehierarchy.c:1.7 xsrc/external/mit/xorg-server/dist/Xi/xichangehierarchy.c:1.8
--- xsrc/external/mit/xorg-server/dist/Xi/xichangehierarchy.c:1.7 Thu Jul 4 21:47:03 2024
+++ xsrc/external/mit/xorg-server/dist/Xi/xichangehierarchy.c Wed Feb 26 01:17:32 2025
@@ -46,6 +46,7 @@
#include "exevents.h"
#include "exglobals.h"
#include "geext.h"
+#include "misc.h"
#include "xace.h"
#include "xiquerydevice.h" /* for GetDeviceUse */
@@ -215,46 +216,68 @@ disable_clientpointer(DeviceIntPtr dev)
}
}
+static DeviceIntPtr
+find_disabled_master(int type)
+{
+ DeviceIntPtr dev;
+
+ /* Once a master device is disabled it loses the pairing, so returning the first
+ * match is good enough */
+ for (dev = inputInfo.off_devices; dev; dev = dev->next) {
+ if (dev->type == type)
+ return dev;
+ }
+
+ return NULL;
+}
+
static int
remove_master(ClientPtr client, xXIRemoveMasterInfo * r, int flags[MAXDEVICES])
{
- DeviceIntPtr ptr, keybd, XTestptr, XTestkeybd;
+ DeviceIntPtr dev, ptr, keybd, XTestptr, XTestkeybd;
int rc = Success;
if (r->return_mode != XIAttachToMaster && r->return_mode != XIFloating)
return BadValue;
- rc = dixLookupDevice(&ptr, r->deviceid, client, DixDestroyAccess);
+ rc = dixLookupDevice(&dev, r->deviceid, client, DixDestroyAccess);
if (rc != Success)
goto unwind;
- if (!IsMaster(ptr)) {
+ if (!IsMaster(dev)) {
client->errorValue = r->deviceid;
rc = BadDevice;
goto unwind;
}
/* XXX: For now, don't allow removal of VCP, VCK */
- if (ptr == inputInfo.pointer ||ptr == inputInfo.keyboard) {
+ if (dev == inputInfo.pointer || dev == inputInfo.keyboard) {
rc = BadDevice;
goto unwind;
}
- ptr = GetMaster(ptr, MASTER_POINTER);
+ if ((ptr = GetMaster(dev, MASTER_POINTER)) == NULL)
+ ptr = find_disabled_master(MASTER_POINTER);
+ BUG_RETURN_VAL(ptr == NULL, BadDevice);
rc = dixLookupDevice(&ptr, ptr->id, client, DixDestroyAccess);
if (rc != Success)
goto unwind;
- keybd = GetMaster(ptr, MASTER_KEYBOARD);
+
+ if ((keybd = GetMaster(dev, MASTER_KEYBOARD)) == NULL)
+ keybd = find_disabled_master(MASTER_KEYBOARD);
+ BUG_RETURN_VAL(keybd == NULL, BadDevice);
rc = dixLookupDevice(&keybd, keybd->id, client, DixDestroyAccess);
if (rc != Success)
goto unwind;
XTestptr = GetXTestDevice(ptr);
+ BUG_RETURN_VAL(XTestptr == NULL, BadDevice);
rc = dixLookupDevice(&XTestptr, XTestptr->id, client, DixDestroyAccess);
if (rc != Success)
goto unwind;
XTestkeybd = GetXTestDevice(keybd);
+ BUG_RETURN_VAL(XTestkeybd == NULL, BadDevice);
rc = dixLookupDevice(&XTestkeybd, XTestkeybd->id, client, DixDestroyAccess);
if (rc != Success)
goto unwind;
Index: xsrc/external/mit/xorg-server/dist/dix/devices.c
diff -u xsrc/external/mit/xorg-server/dist/dix/devices.c:1.15 xsrc/external/mit/xorg-server/dist/dix/devices.c:1.16
--- xsrc/external/mit/xorg-server/dist/dix/devices.c:1.15 Wed Oct 30 21:16:59 2024
+++ xsrc/external/mit/xorg-server/dist/dix/devices.c Wed Feb 26 01:17:32 2025
@@ -963,6 +963,23 @@ FreeAllDeviceClasses(ClassesPtr classes)
}
+static void
+FreePendingFrozenDeviceEvents(DeviceIntPtr dev)
+{
+ QdEventPtr qe, tmp;
+
+ if (!dev->deviceGrab.sync.frozen)
+ return;
+
+ /* Dequeue any frozen pending events */
+ xorg_list_for_each_entry_safe(qe, tmp, &syncEvents.pending, next) {
+ if (qe->device == dev) {
+ xorg_list_del(&qe->next);
+ free(qe);
+ }
+ }
+}
+
/**
* Close down a device and free all resources.
* Once closed down, the driver will probably not expect you that you'll ever
@@ -1027,6 +1044,7 @@ CloseDevice(DeviceIntPtr dev)
free(dev->last.touches[j].valuators);
free(dev->last.touches);
dev->config_info = NULL;
+ FreePendingFrozenDeviceEvents(dev);
dixFreePrivates(dev->devPrivates, PRIVATE_DEVICE);
free(dev);
}
@@ -2686,11 +2704,14 @@ AttachDevice(ClientPtr client, DeviceInt
dev->spriteInfo->paired = dev;
}
else {
+ DeviceIntPtr keyboard = GetMaster(dev, MASTER_KEYBOARD);
+
dev->spriteInfo->sprite = master->spriteInfo->sprite;
dev->spriteInfo->paired = master;
dev->spriteInfo->spriteOwner = FALSE;
- XkbPushLockedStateToSlaves(GetMaster(dev, MASTER_KEYBOARD), 0, 0);
+ if (keyboard)
+ XkbPushLockedStateToSlaves(keyboard, 0, 0);
RecalculateMasterButtons(master);
}
Index: xsrc/external/mit/xorg-server/dist/dix/dispatch.c
diff -u xsrc/external/mit/xorg-server/dist/dix/dispatch.c:1.8 xsrc/external/mit/xorg-server/dist/dix/dispatch.c:1.9
--- xsrc/external/mit/xorg-server/dist/dix/dispatch.c:1.8 Thu Jul 4 21:47:03 2024
+++ xsrc/external/mit/xorg-server/dist/dix/dispatch.c Wed Feb 26 01:17:32 2025
@@ -3107,6 +3107,10 @@ ProcFreeCursor(ClientPtr client)
rc = dixLookupResourceByType((void **) &pCursor, stuff->id, RT_CURSOR,
client, DixDestroyAccess);
if (rc == Success) {
+ if (pCursor == rootCursor) {
+ client->errorValue = stuff->id;
+ return BadCursor;
+ }
FreeResource(stuff->id, RT_NONE);
return Success;
}
Index: xsrc/external/mit/xorg-server/dist/dix/enterleave.c
diff -u xsrc/external/mit/xorg-server/dist/dix/enterleave.c:1.9 xsrc/external/mit/xorg-server/dist/dix/enterleave.c:1.10
--- xsrc/external/mit/xorg-server/dist/dix/enterleave.c:1.9 Wed Oct 30 21:16:59 2024
+++ xsrc/external/mit/xorg-server/dist/dix/enterleave.c Wed Feb 26 01:17:32 2025
@@ -738,7 +738,7 @@ DeliverStateNotifyEvent(DeviceIntPtr dev
(ev - 1)->deviceid |= MORE_EVENTS;
bev->type = DeviceButtonStateNotify;
bev->deviceid = dev->id;
- memcpy((char *) &bev->buttons[4], (char *) &b->down[4],
+ memcpy((char *) &bev->buttons[0], (char *) &b->down[4],
DOWN_LENGTH - 4);
}
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c:1.12 xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c:1.13
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c:1.12 Fri Jul 15 02:18:59 2022
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86Configure.c Wed Feb 26 01:17:32 2025
@@ -324,8 +324,10 @@ configureDeviceSection(int screennum)
len += strlen(opttype);
ptr->dev_comment = realloc(ptr->dev_comment, len);
- if (!ptr->dev_comment)
+ if (!ptr->dev_comment) {
+ free(optname);
break;
+ }
p_e = ptr->dev_comment + strlen(ptr->dev_comment);
sprintf(p_e, "%s%-20s%s%s%s", prefix, optname, middle,
opttype, suffix);
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86sbusBus.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86sbusBus.c:1.7 xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86sbusBus.c:1.8
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86sbusBus.c:1.7 Sat Aug 20 21:15:06 2016
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/common/xf86sbusBus.c Wed Feb 26 01:17:32 2025
@@ -244,7 +244,7 @@ xf86SbusProbe(void)
* in the correct format for a SBUS bus id.
*/
-Bool
+static Bool
xf86ParseSbusBusString(const char *busID, int *fbNum)
{
/*
@@ -316,7 +316,7 @@ xf86ParseSbusBusString(const char *busID
* Compare a BUS ID string with a SBUS bus id. Return TRUE if they match.
*/
-Bool
+static Bool
xf86CompareSbusBusString(const char *busID, int fbNum)
{
int iFbNum;
@@ -333,7 +333,7 @@ xf86CompareSbusBusString(const char *bus
* Check if the slot requested is free. If it is already in use, return FALSE.
*/
-Bool
+static Bool
xf86CheckSbusSlot(int fbNum)
{
int i;
@@ -354,7 +354,7 @@ xf86CheckSbusSlot(int fbNum)
* Otherwise, claim the slot for the screen requesting it.
*/
-int
+static int
xf86ClaimSbusSlot(sbusDevicePtr psdp, DriverPtr drvp, GDevPtr dev, Bool active)
{
EntityPtr p = NULL;
@@ -752,6 +752,7 @@ void
xf86SbusConfigureNewDev(void *busData, sbusDevicePtr sBus, GDevRec * GDev)
{
char *promPath = NULL;
+ char *tmp;
sBus = (sbusDevicePtr) busData;
GDev->identifier = sBus->descr;
@@ -760,10 +761,11 @@ xf86SbusConfigureNewDev(void *busData, s
sparcPromClose();
}
if (promPath) {
- XNFasprintf(&GDev->busID, "SBUS:%s", promPath);
+ XNFasprintf(&tmp, "SBUS:%s", promPath);
free(promPath);
}
else {
- XNFasprintf(&GDev->busID, "SBUS:fb%d", sBus->fbNum);
+ XNFasprintf(&tmp, "SBUS:fb%d", sBus->fbNum);
}
+ GDev->busID = tmp;
}
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/dri2/dri2.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/dri2/dri2.c:1.5 xsrc/external/mit/xorg-server/dist/hw/xfree86/dri2/dri2.c:1.6
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/dri2/dri2.c:1.5 Fri Jul 15 02:18:59 2022
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/dri2/dri2.c Wed Feb 26 01:17:32 2025
@@ -356,10 +356,15 @@ DRI2CreateDrawable2(ClientPtr client, Dr
XID *dri2_id_out)
{
DRI2DrawablePtr pPriv;
- DRI2ClientPtr dri2_client = dri2ClientPrivate(client);
+ DRI2ClientPtr dri2_client;
XID dri2_id;
int rc;
+ if (!dixPrivateKeyRegistered(dri2ScreenPrivateKey))
+ return BadValue;
+
+ dri2_client = dri2ClientPrivate(client);
+
pPriv = DRI2GetDrawable(pDraw);
if (pPriv == NULL)
pPriv = DRI2AllocateDrawable(pDraw);
@@ -1362,9 +1367,14 @@ Bool
DRI2Authenticate(ClientPtr client, ScreenPtr pScreen, uint32_t magic)
{
DRI2ScreenPtr ds;
- DRI2ClientPtr dri2_client = dri2ClientPrivate(client);
+ DRI2ClientPtr dri2_client;
ScreenPtr primescreen;
+ if (!dixPrivateKeyRegistered(dri2ScreenPrivateKey))
+ return FALSE;
+
+ dri2_client = dri2ClientPrivate(client);
+
ds = DRI2GetScreenPrime(pScreen, dri2_client->prime_id);
if (ds == NULL)
return FALSE;
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/driver.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/driver.c:1.7 xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/driver.c:1.8
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/driver.c:1.7 Fri Jul 15 02:18:59 2022
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/driver.c Wed Feb 26 01:17:32 2025
@@ -515,9 +515,41 @@ GetRec(ScrnInfoPtr pScrn)
return TRUE;
}
+static void
+rotate_clip(PixmapPtr pixmap, BoxPtr rect, drmModeClip *clip, Rotation rotation)
+{
+ int w = pixmap->drawable.width;
+ int h = pixmap->drawable.height;
+
+ if (rotation == RR_Rotate_90) {
+ /* Rotate 90 degrees counter clockwise */
+ clip->x1 = rect->y1;
+ clip->x2 = rect->y2;
+ clip->y1 = w - rect->x2;
+ clip->y2 = w - rect->x1;
+ } else if (rotation == RR_Rotate_180) {
+ /* Rotate 180 degrees */
+ clip->x1 = w - rect->x2;
+ clip->x2 = w - rect->x1;
+ clip->y1 = h - rect->y2;
+ clip->y2 = h - rect->y1;
+ } else if (rotation == RR_Rotate_270) {
+ /* Rotate 90 degrees clockwise */
+ clip->x1 = h - rect->y2;
+ clip->x2 = h - rect->y1;
+ clip->y1 = rect->x1;
+ clip->y2 = rect->x2;
+ } else {
+ clip->x1 = rect->x1;
+ clip->x2 = rect->x2;
+ clip->y1 = rect->y1;
+ clip->y2 = rect->y2;
+ }
+}
+
static int
-dispatch_dirty_region(ScrnInfoPtr scrn,
- PixmapPtr pixmap, DamagePtr damage, int fb_id)
+dispatch_dirty_region(ScrnInfoPtr scrn, xf86CrtcPtr crtc,
+ PixmapPtr pixmap, DamagePtr damage, int fb_id)
{
modesettingPtr ms = modesettingPTR(scrn);
RegionPtr dirty = DamageRegion(damage);
@@ -532,13 +564,9 @@ dispatch_dirty_region(ScrnInfoPtr scrn,
if (!clip)
return -ENOMEM;
- /* XXX no need for copy? */
- for (i = 0; i < num_cliprects; i++, rect++) {
- clip[i].x1 = rect->x1;
- clip[i].y1 = rect->y1;
- clip[i].x2 = rect->x2;
- clip[i].y2 = rect->y2;
- }
+ /* Rotate and copy rects into clips */
+ for (i = 0; i < num_cliprects; i++, rect++)
+ rotate_clip(pixmap, rect, &clip[i], crtc->rotation);
/* TODO query connector property to see if this is needed */
ret = drmModeDirtyFB(ms->fd, fb_id, clip, num_cliprects);
@@ -561,20 +589,31 @@ static void
dispatch_dirty(ScreenPtr pScreen)
{
ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
+ xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
modesettingPtr ms = modesettingPTR(scrn);
PixmapPtr pixmap = pScreen->GetScreenPixmap(pScreen);
- int fb_id = ms->drmmode.fb_id;
- int ret;
+ uint32_t fb_id;
+ int ret, c, x, y ;
- ret = dispatch_dirty_region(scrn, pixmap, ms->damage, fb_id);
- if (ret == -EINVAL || ret == -ENOSYS) {
- ms->dirty_enabled = FALSE;
- DamageUnregister(ms->damage);
- DamageDestroy(ms->damage);
- ms->damage = NULL;
- xf86DrvMsg(scrn->scrnIndex, X_INFO,
- "Disabling kernel dirty updates, not required.\n");
- return;
+ for (c = 0; c < xf86_config->num_crtc; c++) {
+ xf86CrtcPtr crtc = xf86_config->crtc[c];
+ drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
+
+ if (!drmmode_crtc)
+ continue;
+
+ drmmode_crtc_get_fb_id(crtc, &fb_id, &x, &y);
+
+ ret = dispatch_dirty_region(scrn, crtc, pixmap, ms->damage, fb_id);
+ if (ret == -EINVAL || ret == -ENOSYS) {
+ ms->dirty_enabled = FALSE;
+ DamageUnregister(ms->damage);
+ DamageDestroy(ms->damage);
+ ms->damage = NULL;
+ xf86DrvMsg(scrn->scrnIndex, X_INFO,
+ "Disabling kernel dirty updates, not required.\n");
+ return;
+ }
}
}
@@ -586,7 +625,7 @@ dispatch_dirty_pixmap(ScrnInfoPtr scrn,
DamagePtr damage = ppriv->secondary_damage;
int fb_id = ppriv->fb_id;
- dispatch_dirty_region(scrn, ppix, damage, fb_id);
+ dispatch_dirty_region(scrn, crtc, ppix, damage, fb_id);
}
static void
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/drmmode_display.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/drmmode_display.c:1.11 xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/drmmode_display.c:1.12
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/drmmode_display.c:1.11 Fri Aug 12 08:18:29 2022
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/drmmode_display.c Wed Feb 26 01:17:32 2025
@@ -627,7 +627,7 @@ drmmode_crtc_can_test_mode(xf86CrtcPtr c
return ms->atomic_modeset;
}
-static Bool
+Bool
drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y)
{
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/present.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/present.c:1.8 xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/present.c:1.9
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/present.c:1.8 Fri Jul 15 02:18:59 2022
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/present.c Wed Feb 26 01:17:32 2025
@@ -391,22 +391,24 @@ ms_present_unflip(ScreenPtr screen, uint
PixmapPtr pixmap = screen->GetScreenPixmap(screen);
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
int i;
- struct ms_present_vblank_event *event;
ms_present_set_screen_vrr(scrn, FALSE);
- event = calloc(1, sizeof(struct ms_present_vblank_event));
- if (!event)
- return;
-
- event->event_id = event_id;
- event->unflip = TRUE;
-
- if (ms_present_check_unflip(NULL, screen->root, pixmap, TRUE, NULL) &&
- ms_do_pageflip(screen, pixmap, event, -1, FALSE,
- ms_present_flip_handler, ms_present_flip_abort,
- "Present-unflip")) {
- return;
+ if (ms_present_check_unflip(NULL, screen->root, pixmap, TRUE, NULL)) {
+ struct ms_present_vblank_event *event;
+
+ event = calloc(1, sizeof(struct ms_present_vblank_event));
+ if (!event)
+ return;
+
+ event->event_id = event_id;
+ event->unflip = TRUE;
+
+ if (ms_do_pageflip(screen, pixmap, event, -1, FALSE,
+ ms_present_flip_handler, ms_present_flip_abort,
+ "Present-unflip")) {
+ return;
+ }
}
for (i = 0; i < config->num_crtc; i++) {
Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/fbdevhw/fbdevhw.c
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/fbdevhw/fbdevhw.c:1.5 xsrc/external/mit/xorg-server/dist/hw/xfree86/fbdevhw/fbdevhw.c:1.6
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/fbdevhw/fbdevhw.c:1.5 Fri Jul 15 02:18:59 2022
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/fbdevhw/fbdevhw.c Wed Feb 26 01:17:32 2025
@@ -335,9 +335,9 @@ fbdev_open(int scrnIndex, const char *de
char *sysfs_path = NULL;
char *node = strrchr(dev, '/') + 1;
- if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
+ if (asprintf(&sysfs_path, "/sys/class/graphics/%s/device/subsystem", node) < 0 ||
readlink(sysfs_path, buf, sizeof(buf) - 1) < 0 ||
- strstr(buf, "devices/pci")) {
+ strstr(buf, "bus/pci")) {
free(sysfs_path);
close(fd);
return -1;
Index: xsrc/external/mit/xorg-server/dist/include/dix-config.h.in
diff -u xsrc/external/mit/xorg-server/dist/include/dix-config.h.in:1.9 xsrc/external/mit/xorg-server/dist/include/dix-config.h.in:1.10
--- xsrc/external/mit/xorg-server/dist/include/dix-config.h.in:1.9 Mon Dec 19 19:37:36 2022
+++ xsrc/external/mit/xorg-server/dist/include/dix-config.h.in Wed Feb 26 01:17:32 2025
@@ -173,6 +173,9 @@
/* Define to 1 if you have the `shmctl64' function. */
#undef HAVE_SHMCTL64
+/* Define to 1 if the system has the type 'socklen_t'. */
+#undef HAVE_SOCKLEN_T
+
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
Index: xsrc/external/mit/xorg-server/dist/os/WaitFor.c
diff -u xsrc/external/mit/xorg-server/dist/os/WaitFor.c:1.5 xsrc/external/mit/xorg-server/dist/os/WaitFor.c:1.6
--- xsrc/external/mit/xorg-server/dist/os/WaitFor.c:1.5 Fri Jul 15 02:19:01 2022
+++ xsrc/external/mit/xorg-server/dist/os/WaitFor.c Wed Feb 26 01:17:33 2025
@@ -420,13 +420,13 @@ NextDPMSTimeout(INT32 timeout)
switch (DPMSPowerLevel) {
case DPMSModeOn:
DPMS_CHECK_TIMEOUT(DPMSStandbyTime)
-
+ /* fallthrough */
case DPMSModeStandby:
DPMS_CHECK_TIMEOUT(DPMSSuspendTime)
-
+ /* fallthrough */
case DPMSModeSuspend:
DPMS_CHECK_TIMEOUT(DPMSOffTime)
-
+ /* fallthrough */
default: /* DPMSModeOff */
return 0;
}
Index: xsrc/external/mit/xorg-server/dist/os/access.c
diff -u xsrc/external/mit/xorg-server/dist/os/access.c:1.7 xsrc/external/mit/xorg-server/dist/os/access.c:1.8
--- xsrc/external/mit/xorg-server/dist/os/access.c:1.7 Tue Feb 7 04:45:32 2023
+++ xsrc/external/mit/xorg-server/dist/os/access.c Wed Feb 26 01:17:33 2025
@@ -1425,13 +1425,15 @@ RemoveHost(ClientPtr client, int family,
case FamilyChaos:
case FamilyServerInterpreted:
if ((len = CheckAddr(family, pAddr, length)) < 0) {
- client->errorValue = length;
+ if (client)
+ client->errorValue = length;
return BadValue;
}
break;
case FamilyLocal:
default:
- client->errorValue = family;
+ if (client)
+ client->errorValue = family;
return BadValue;
}
for (prev = &validhosts;
@@ -1860,7 +1862,7 @@ siHostnameAddrMatch(int family, void *ad
char hostname[SI_HOSTNAME_MAXLEN];
int f, hostaddrlen;
void *hostaddr;
- const char **addrlist;
+ char **addrlist;
if (siAddrLen >= sizeof(hostname))
return FALSE;
@@ -1885,7 +1887,9 @@ siHostnameAddrMatch(int family, void *ad
if ((f == family) && (len == hostaddrlen) &&
(memcmp(addr, hostaddr, len) == 0)) {
res = TRUE;
+#ifdef h_addr
break;
+#endif
}
}
}
Index: xsrc/external/mit/xorg-server/dist/os/connection.c
diff -u xsrc/external/mit/xorg-server/dist/os/connection.c:1.8 xsrc/external/mit/xorg-server/dist/os/connection.c:1.9
--- xsrc/external/mit/xorg-server/dist/os/connection.c:1.8 Tue Feb 7 04:45:32 2023
+++ xsrc/external/mit/xorg-server/dist/os/connection.c Wed Feb 26 01:17:33 2025
@@ -244,7 +244,7 @@ void
CreateWellKnownSockets(void)
{
int i;
- int partial;
+ int partial = 0;
/* display is initialized to "0" by main(). It is then set to the display
* number if specified on the command line. */
Index: xsrc/external/mit/xorg-server/dist/xkb/xkb.c
diff -u xsrc/external/mit/xorg-server/dist/xkb/xkb.c:1.10 xsrc/external/mit/xorg-server/dist/xkb/xkb.c:1.11
--- xsrc/external/mit/xorg-server/dist/xkb/xkb.c:1.10 Wed Oct 30 21:16:59 2024
+++ xsrc/external/mit/xorg-server/dist/xkb/xkb.c Wed Feb 26 01:17:33 2025
@@ -1093,10 +1093,10 @@ XkbSizeKeySyms(XkbDescPtr xkb, xkbGetMap
len = rep->nKeySyms * SIZEOF(xkbSymMapWireDesc);
symMap = &xkb->map->key_sym_map[rep->firstKeySym];
for (i = nSyms = 0; i < rep->nKeySyms; i++, symMap++) {
- if (symMap->offset != 0) {
- nSymsThisKey = XkbNumGroups(symMap->group_info) * symMap->width;
- nSyms += nSymsThisKey;
- }
+ nSymsThisKey = XkbNumGroups(symMap->group_info) * symMap->width;
+ if (nSymsThisKey == 0)
+ continue;
+ nSyms += nSymsThisKey;
}
len += nSyms * 4;
rep->totalSyms = nSyms;
Index: xsrc/external/mit/xorg-server/include/dix-config.h
diff -u xsrc/external/mit/xorg-server/include/dix-config.h:1.53 xsrc/external/mit/xorg-server/include/dix-config.h:1.54
--- xsrc/external/mit/xorg-server/include/dix-config.h:1.53 Wed Oct 30 21:16:59 2024
+++ xsrc/external/mit/xorg-server/include/dix-config.h Wed Feb 26 01:17:33 2025
@@ -171,6 +171,9 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
+/* Define to 1 if the system has the type 'socklen_t'. */
+#define HAVE_SOCKLEN_T 1
+
/* Define to 1 if you have the `strcasecmp' function. */
#define HAVE_STRCASECMP 1
@@ -343,7 +346,7 @@
#define XINERAMA 1
/* Current Xorg version */
-#define XORG_VERSION_CURRENT ((10000000) + ((21) * 100000) + ((1) * 1000) + 14)
+#define XORG_VERSION_CURRENT ((10000000) + ((21) * 100000) + ((1) * 1000) + 16)
/* Build Xv Extension */
#define XvExtension 1
Index: xsrc/external/mit/xorg-server/include/version-config.h
diff -u xsrc/external/mit/xorg-server/include/version-config.h:1.23 xsrc/external/mit/xorg-server/include/version-config.h:1.24
--- xsrc/external/mit/xorg-server/include/version-config.h:1.23 Wed Oct 30 21:16:59 2024
+++ xsrc/external/mit/xorg-server/include/version-config.h Wed Feb 26 01:17:33 2025
@@ -5,13 +5,13 @@
#define VERSION_CONFIG_H
/* Vendor man version */
-#define VENDOR_MAN_VERSION "Version 21.1.14"
+#define VENDOR_MAN_VERSION "Version 21.1.16"
/* Vendor name */
#define VENDOR_NAME "The X.Org Foundation"
/* Vendor release */
-#define VENDOR_RELEASE ((10000000) + ((21) * 100000) + ((1) * 1000) + 14)
+#define VENDOR_RELEASE ((10000000) + ((21) * 100000) + ((1) * 1000) + 16)
#endif /* VERSION_CONFIG_H */
Index: xsrc/external/mit/xorg-server/include/xorg-config.h
diff -u xsrc/external/mit/xorg-server/include/xorg-config.h:1.33 xsrc/external/mit/xorg-server/include/xorg-config.h:1.34
--- xsrc/external/mit/xorg-server/include/xorg-config.h:1.33 Wed Oct 30 21:16:59 2024
+++ xsrc/external/mit/xorg-server/include/xorg-config.h Wed Feb 26 01:17:33 2025
@@ -17,7 +17,7 @@
#define XORGSERVER 1
/* Current X.Org version. */
-#define XORG_VERSION_CURRENT ((10000000) + ((21) * 100000) + ((1) * 1000) + 14)
+#define XORG_VERSION_CURRENT ((10000000) + ((21) * 100000) + ((1) * 1000) + 16)
/* Name of X server. */
#define __XSERVERNAME__ "Xorg"
Index: xsrc/external/mit/xorg-server/include/xorg-server.h
diff -u xsrc/external/mit/xorg-server/include/xorg-server.h:1.33 xsrc/external/mit/xorg-server/include/xorg-server.h:1.34
--- xsrc/external/mit/xorg-server/include/xorg-server.h:1.33 Wed Oct 30 21:16:59 2024
+++ xsrc/external/mit/xorg-server/include/xorg-server.h Wed Feb 26 01:17:33 2025
@@ -140,7 +140,7 @@
#define XORGSERVER 1
/* Current Xorg version */
-#define XORG_VERSION_CURRENT ((10000000) + ((21) * 100000) + ((1) * 1000) + 14)
+#define XORG_VERSION_CURRENT ((10000000) + ((21) * 100000) + ((1) * 1000) + 16)
/* Build Xv Extension */
#define XvExtension 1