sync with OpenBSD -current
This commit is contained in:
parent
4b49aefbb1
commit
1fd36b57f8
945 changed files with 81965 additions and 59988 deletions
|
@ -1,3 +1,491 @@
|
|||
commit b5f1b211b4bbbf4049b422b0e08e02efaaf7a26a
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Tue Dec 17 12:39:36 2024 -0500
|
||||
|
||||
xserver 21.1.15
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1753>
|
||||
|
||||
commit 203e0667d21953737537d1991ec76b768fe588ae
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Mon Dec 16 22:38:24 2024 -0500
|
||||
|
||||
hw/xfree86: Fix -Wincompatible-pointer-types sbus compile failure
|
||||
|
||||
```
|
||||
../hw/xfree86/common/xf86sbusBus.c: In function ‘xf86SbusConfigureNewDev’:
|
||||
../hw/xfree86/common/xf86sbusBus.c:751:21: error: passing argument 1 of ‘XNFasprintf’ from incompatible pointer type [-Wincompatible-pointer-types]
|
||||
751 | XNFasprintf(&GDev->busID, "SBUS:%s", promPath);
|
||||
| ^~~~~~~~~~~~
|
||||
| |
|
||||
| const char **
|
||||
```
|
||||
|
||||
Apply the same fix as in commit e1e01d2e3 ("xfree86/common: Warning
|
||||
fixes. Mostly const string handling.")
|
||||
|
||||
(cherry picked from commit bdacb100bf6a551bc9045f7f0048cbb99eb3db5a)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1752>
|
||||
|
||||
commit 1958e0f25b6b46940625b407a5e15b39fa648b26
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Mon Dec 16 22:38:03 2024 -0500
|
||||
|
||||
hw/xfree86: Fix -Wmissing-prototypes warnings
|
||||
|
||||
None of these functions are used elsewhere in the Xserver nor in any of
|
||||
the xf86-video-sun* DDXs.
|
||||
|
||||
(cherry picked from commit 00a96cd82a7be08f421dcbe3aa628fdbc7c8d856)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1752>
|
||||
|
||||
commit c3144adcbc01d4f9f4d1e42323fc51be689bee17
|
||||
Author: Eric Curtin <ecurtin@redhat.com>
|
||||
Date: Fri Dec 16 11:10:12 2022 +0000
|
||||
|
||||
config: add a quirk for Apple Silicon appledrm
|
||||
|
||||
Xorg server does not correctly select the DCP for the display without a
|
||||
quirk on Apple Silicon.
|
||||
|
||||
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
|
||||
Suggested-by: Hector Martin <marcan@marcan.st>
|
||||
(cherry picked from commit 39934a656a44722d16a80bf4db411c53e2d67b38)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1746>
|
||||
|
||||
commit 1a836cd47be8177cb3ab3ac2bc90e926c24c0cac
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Wed Oct 30 10:34:14 2024 -0700
|
||||
|
||||
dix-config.h: add HAVE_SOCKLEN_T definition
|
||||
|
||||
Needed to build with IPv6 disabled using gcc 14 on some platforms to avoid:
|
||||
|
||||
In file included from /usr/X11/include/X11/Xtrans/transport.c:67,
|
||||
from xstrans.c:17:
|
||||
/usr/X11/include/X11/Xtrans/Xtranssock.c: In function ‘_XSERVTransSocketOpen’:
|
||||
/usr/X11/include/X11/Xtrans/Xtranssock.c:467:28: error: passing argument 5
|
||||
of ‘getsockopt’ from incompatible pointer type [-Wincompatible-pointer-types]
|
||||
467 | (char *) &val, &len) == 0 && val < 64 * 1024)
|
||||
| ^~~~
|
||||
| |
|
||||
| size_t * {aka long unsigned int *}
|
||||
|
||||
(Backport to xserver-21.1-branch of commit a1b5aa5a7f12adc43720a5ae11e6c.
|
||||
Backport adds autoconf equivalent to meson change from master branch.)
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1737>
|
||||
|
||||
commit 18c9cd6ab799cf8bd7fb90b4965455bece0046c3
|
||||
Author: Joaquim Monteiro <joaquim.monteiro@protonmail.com>
|
||||
Date: Sun Jun 23 21:23:47 2024 +0100
|
||||
|
||||
os: Fix siHostnameAddrMatch in the case where h_addr isn't defined
|
||||
|
||||
When IPv6 support isn't enabled, and h_addr isn't defined,
|
||||
there is no for loop, so the break statement is invalid.
|
||||
|
||||
Signed-off-by: Joaquim Monteiro <joaquim.monteiro@protonmail.com>
|
||||
(cherry picked from commit a6a993f9508ff0bd6f19695b2dfaef170c652525)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1737>
|
||||
|
||||
commit e8302b707d6fddf8e27daa0b3ef70fd3efec823c
|
||||
Author: Joaquim Monteiro <joaquim.monteiro@protonmail.com>
|
||||
Date: Sun Jun 23 21:17:25 2024 +0100
|
||||
|
||||
os: Fix assignment with incompatible pointer type
|
||||
|
||||
struct hostent->h_addr_list is of type char**, not const char**.
|
||||
GCC considers this an error when in C99 mode or later.
|
||||
|
||||
Signed-off-by: Joaquim Monteiro <joaquim.monteiro@protonmail.com>
|
||||
(cherry picked from commit 0ddcd8785199c08d9bded3c767a3b1227c670999)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1737>
|
||||
|
||||
commit b25ad9b8f0ebcc3ebe09ce9991410c60f3a8b2ce
|
||||
Author: José Expósito <jexposit@redhat.com>
|
||||
Date: Tue Oct 29 14:40:34 2024 +0100
|
||||
|
||||
xserver 21.1.14
|
||||
|
||||
Signed-off-by: José Expósito <jexposit@redhat.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1734>
|
||||
|
||||
commit ba1d14f8eff2a123bd7ff4d48c02e1d5131358e0
|
||||
Author: Matthieu Herrb <matthieu@herrb.eu>
|
||||
Date: Thu Oct 10 10:37:28 2024 +0200
|
||||
|
||||
xkb: Fix buffer overflow in _XkbSetCompatMap()
|
||||
|
||||
The _XkbSetCompatMap() function attempts to resize the `sym_interpret`
|
||||
buffer.
|
||||
|
||||
However, It didn't update its size properly. It updated `num_si` only,
|
||||
without updating `size_si`.
|
||||
|
||||
This may lead to local privilege escalation if the server is run as root
|
||||
or remote code execution (e.g. x11 over ssh).
|
||||
|
||||
CVE-2024-9632, ZDI-CAN-24756
|
||||
|
||||
This vulnerability was discovered by:
|
||||
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
|
||||
|
||||
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: José Expósito <jexposit@redhat.com>
|
||||
(cherry picked from commit 85b776571487f52e756f68a069c768757369bfe3)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1734>
|
||||
|
||||
commit e3e14369c62a3647b8f125d9dcb7072f370c10f1
|
||||
Author: Matthieu Herrb <matthieu@herrb.eu>
|
||||
Date: Sat Oct 14 19:06:22 2023 +0200
|
||||
|
||||
Fix a double-free on syntax error without a new line.
|
||||
|
||||
$ echo "#foo\nfoo" > custom_config $ X -config custom_config
|
||||
|
||||
will trigger the double free because the contents of xf86_lex_val.str
|
||||
have been realloc()ed aready when free is called in read.c:209.
|
||||
|
||||
This copies the lex token and adds all the necessary free() calls to
|
||||
avoid leaking it
|
||||
|
||||
(cherry picked from commit fbc034e847a3862a0a28e5872135a3c502da6518)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1719>
|
||||
|
||||
commit 4adb5d589f4bb90bf0ff9f1c88096ce60c41286c
|
||||
Author: Matthieu Herrb <matthieu@herrb.eu>
|
||||
Date: Sat Feb 17 16:47:38 2024 +0100
|
||||
|
||||
Return NULL in *cmdname if the client argv or argv[0] is NULL
|
||||
|
||||
(cherry picked from commit 59f5445a7ff3ee1468d86f03943c976c790c0893)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1719>
|
||||
|
||||
commit 5f9cac4c34e6212e3e4fc22ff4c182d6013eeafc
|
||||
Author: Matthieu Herrb <matthieu@herrb.eu>
|
||||
Date: Fri Nov 11 14:58:02 2022 +0100
|
||||
|
||||
Don't crash if the client argv or argv[0] is NULL.
|
||||
|
||||
Report from bauerm at pestilenz dot org.
|
||||
|
||||
(cherry picked from commit a8512146ba9f475a384a35337f51c7730ba7b4ce)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1719>
|
||||
|
||||
commit 9d310679476abb150b8b9055ad44132ffbfa0e3b
|
||||
Author: Enrico Weigelt, metux IT consult <info@metux.net>
|
||||
Date: Thu Feb 15 16:15:02 2024 +0100
|
||||
|
||||
Xnest: fix broken exposure events
|
||||
|
||||
Xnest fails to properly pass through expose events: the coordinates are
|
||||
miscalculated in xnestCollectExposures(), before miSendExposures() is called.
|
||||
|
||||
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1735
|
||||
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/132
|
||||
Fixes: 605e6764df - Fix Motif menu drawing in Xnest
|
||||
Backport-Of: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1397
|
||||
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1651>
|
||||
|
||||
commit 00d0eba826bbf4b35becbd3fab1ee10e8b3bb89d
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 13:27:45 2024 -0700
|
||||
|
||||
dix: FindBestPixel: fix implicit fallthrough warning
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 9c9e1afeb277030380daa9b22f88b05e1af783a0)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 52813e32f26c16b8210dbf5e4e2be7b8a4406360
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 13:21:14 2024 -0700
|
||||
|
||||
dix: GetPairedDevice: check if GetMaster returned NULL
|
||||
|
||||
Clears warning from gcc 14.1:
|
||||
|
||||
../dix/devices.c: In function ‘GetPairedDevice’:
|
||||
../dix/devices.c:2734:15: warning: dereference of NULL ‘dev’
|
||||
[CWE-476] [-Wanalyzer-null-dereference]
|
||||
2734 | return dev->spriteInfo? dev->spriteInfo->paired: NULL;
|
||||
| ~~~^~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit e6fc0861d8016ab31536329acac6d6de4bc64164)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 65644c32b8062dd73b10e5f9092dfb833f469719
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 11:59:07 2024 -0700
|
||||
|
||||
dix: HashResourceID: use unsigned integers for bit shifting
|
||||
|
||||
Clears warning from gcc 14.1:
|
||||
|
||||
../dix/resource.c: In function ‘HashResourceID’:
|
||||
../dix/resource.c:691:44: warning: left shift of negative value
|
||||
[-Wshift-negative-value]
|
||||
691 | return (id ^ (id >> numBits)) & ~((~0) << numBits);
|
||||
| ^~
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 26a7ab09eae24fda6cbf51e03f974c7572e80e69)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit f12dd2436f2b70dc2fb8e29bee9dfaf907764ca0
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 11:15:03 2024 -0700
|
||||
|
||||
dix: ProcListProperties: skip unneeded work if numProps is 0
|
||||
|
||||
No real harm, but clears warning from gcc 14.1:
|
||||
|
||||
../dix/property.c: In function ‘ProcListProperties’:
|
||||
..//dix/property.c:605:27: warning: dereference of NULL ‘temppAtoms’
|
||||
[CWE-476] [-Wanalyzer-null-dereference]
|
||||
605 | *temppAtoms++ = pProp->propertyName;
|
||||
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 39f337fd497d6fd95efaae9ff5a62d60b49e16aa)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 83a9950d7a8e365d13acaa1c38136d1b9068f4be
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 11:03:41 2024 -0700
|
||||
|
||||
dix: dixChangeWindowProperty: don't call memcpy if malloc failed
|
||||
|
||||
It shouldn't matter, since it would have a length of 0, but it
|
||||
clears warnings from gcc 14.1:
|
||||
|
||||
../dix/property.c: In function ‘dixChangeWindowProperty’:
|
||||
../dix/property.c:287:9: warning: use of possibly-NULL ‘data’ where
|
||||
non-null expected [CWE-690] [-Wanalyzer-possible-null-argument]
|
||||
287 | memcpy(data, value, totalSize);
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
../dix/property.c:324:13: warning: use of possibly-NULL ‘data’ where
|
||||
non-null expected [CWE-690] [-Wanalyzer-possible-null-argument]
|
||||
324 | memcpy(data, value, totalSize);
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 10cafd0bbebfbb92c4e73088ba168ef96fcb983c)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 3bca0f56fa509c57715ad9f2f1742d73f6ffee6d
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 10:41:33 2024 -0700
|
||||
|
||||
dix: InitPredictableAccelerationScheme: avoid memory leak on failure
|
||||
|
||||
Clears warning from gcc 14.1:
|
||||
|
||||
../dix/ptrveloc.c: In function ‘InitPredictableAccelerationScheme’:
|
||||
../dix/ptrveloc.c:149:9: warning: leak of ‘<unknown>’
|
||||
[CWE-401] [-Wanalyzer-malloc-leak]
|
||||
149 | free(vel);
|
||||
| ^~~~~~~~~
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 462d13c2f6dc25adea1f19e6b621f97b997236af)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 6cefa3a592ce433a203ddc69e0d5bd1d8a0504fd
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 10:03:08 2024 -0700
|
||||
|
||||
dix: CreateScratchGC: avoid dereference of pointer we just set to NULL
|
||||
|
||||
Clears warning from gcc 14.1:
|
||||
|
||||
../dix/gc.c: In function ‘CreateScratchGC’:
|
||||
../dix/gc.c:818:28: warning: dereference of NULL ‘pGC’
|
||||
[CWE-476] [-Wanalyzer-null-dereference]
|
||||
818 | pGC->graphicsExposures = FALSE;
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 7ee3a520184b355820923bc7a955d0834eb8afbd)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit abaf3c6f204a42006ce1da4fc6d8206477d302e5
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 09:57:36 2024 -0700
|
||||
|
||||
dix: enterleave.c: fix implicit fallthrough warnings
|
||||
|
||||
Clears 7 -Wimplicit-fallthrough warnings from gcc 14.1
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 0cb826e3d0fd366914c34ab18e5917930f6695b4)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 0f10584ec43eb29512ac9c4748eccc7b1d60988b
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 09:45:54 2024 -0700
|
||||
|
||||
dix: SetFontPath: don't set errorValue on Success
|
||||
|
||||
Clears warning from gcc 14.1:
|
||||
|
||||
../dix/dixfonts.c: In function ‘SetFontPath’:
|
||||
../dix/dixfonts.c:1697:28: warning: use of uninitialized value ‘bad’
|
||||
[CWE-457] [-Wanalyzer-use-of-uninitialized-value]
|
||||
1697 | client->errorValue = bad;
|
||||
| ~~~~~~~~~~~~~~~~~~~^~~~~
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 1a86fba0d9ae2e107e3ed23519ab3b84d2e5240e)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit f9a5bc6532f76758f7a7fd44047731541ebd23d5
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 09:28:19 2024 -0700
|
||||
|
||||
dix: PolyText: fully initialize local_closure
|
||||
|
||||
Clears warning from gcc 14.1:
|
||||
|
||||
../dix/dixfonts.c:1352:15: warning: use of uninitialized value ‘*c.data’
|
||||
[CWE-457] [-Wanalyzer-use-of-uninitialized-value]
|
||||
1352 | free(c->data);
|
||||
| ~^~~~~~
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit d78836a3a6b827a282957c48898f9ba4cb0dbcf5)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 02e6639547361578e856a079814caef08db5260f
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Sun Sep 8 09:17:17 2024 -0700
|
||||
|
||||
dix: check for calloc() failure in Xi event conversion routines
|
||||
|
||||
Clears up 12 -Wanalyzer-possible-null-dereference warnings from gcc 14.1
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
(cherry picked from commit 25762834c9a5da3a7c672d89a7da73297252d905)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 111dc7058891bd01b117f3984cf5ac701011e053
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon Jan 22 14:22:12 2024 +1000
|
||||
|
||||
dix: fix valuator copy/paste error in the DeviceStateNotify event
|
||||
|
||||
Fixes 219c54b8a3337456ce5270ded6a67bcde53553d5
|
||||
|
||||
(cherry picked from commit 133e0d651c5d12bf01999d6289e84e224ba77adc)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1717>
|
||||
|
||||
commit 408432fbd0f51d2404bfcfc60f20de8bac1f6178
|
||||
Author: Konstantin <ria.freelander@gmail.com>
|
||||
Date: Sun Jun 26 00:01:54 2022 +0300
|
||||
|
||||
glamor: make use of GL_EXT_texture_format_BGRA8888
|
||||
|
||||
For 24 and 32 bit depth pictures xserver uses PICT_x8r8g8b8 and PICT_a8r8g8b8 formats,
|
||||
which must be backed with GL_BGRA format. It is present in OpenGL ES 2.0 only with
|
||||
GL_EXT_texture_format_BGRA8888 extension. We require such extension in glamor_init,
|
||||
so, why not to make use of it?
|
||||
Fixes #1208
|
||||
Fixes #1354
|
||||
|
||||
Signed-off-by: Konstantin Pugin <ria.freelander@gmail.com>
|
||||
|
||||
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
||||
Reviewed-by: Emma Anholt <emma@anholt.net>
|
||||
(cherry picked from commit 24cd5f34f8edcc6621ed9c0f2b1a3df08de7488d)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1546>
|
||||
|
||||
commit 03bbf4b1214b4e9aad153a5969c32264234fe4da
|
||||
Author: Alexey <fatton2011@yandex.ru>
|
||||
Date: Fri Jun 24 15:12:54 2022 +0000
|
||||
|
||||
Fixed mirrored glyphs on big-endian machines
|
||||
|
||||
(cherry picked from commit 4cf89222701d73d46c098be9fcc8d9eb6d96f885)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1605>
|
||||
|
||||
commit b08cb8141b544788d8607fa31e69c089acdb4fa4
|
||||
Author: Enrico Weigelt, metux IT consult <info@metux.net>
|
||||
Date: Wed Jul 31 15:11:27 2024 +0200
|
||||
|
||||
Xnest: cursor: fix potentially uninitialized memory
|
||||
|
||||
It's safer to zero-out the cursor-private memory on allocation,
|
||||
instead of relying on being cleared initialized somewhere later.
|
||||
|
||||
Fixes: 3f3ff971ec - Replace X-allocation functions with their C89 counterparts
|
||||
Backport-Of: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1652
|
||||
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1653>
|
||||
|
||||
commit 68129d7369f30e1448f587598d3e2c015329ae38
|
||||
Author: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Date: Tue Jul 23 17:11:55 2024 +0200
|
||||
|
||||
build: Drop libxcvt requirement from SDK_REQUIRED_MODULES
|
||||
|
||||
The SDK doed not need libxcvt, only Xorg and Xwayland do.
|
||||
|
||||
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1721
|
||||
Fixes: a4ab57cb7 - build: Add dependency on libxcvt
|
||||
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1618>
|
||||
|
||||
commit 8407181c7dfe14086d99697af0b86120320ab73e
|
||||
Author: José Expósito <jexposit@redhat.com>
|
||||
Date: Fri Jan 19 13:05:51 2024 +0100
|
||||
|
||||
ephyr: Fix incompatible pointer type build error
|
||||
|
||||
Fix a compilation error on 32 bits architectures with gcc 14:
|
||||
|
||||
ephyr_glamor_xv.c: In function ‘ephyr_glamor_xv_init’:
|
||||
ephyr_glamor_xv.c:154:31: error: assignment to ‘SetPortAttributeFuncPtr’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, int, void *)’} from incompatible pointer type ‘int (*)(KdScreenInfo *, Atom, INT32, void *)’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, long int, void *)’} [-Wincompatible-pointer-types]
|
||||
154 | adaptor->SetPortAttribute = ephyr_glamor_xv_set_port_attribute;
|
||||
| ^
|
||||
ephyr_glamor_xv.c:155:31: error: assignment to ‘GetPortAttributeFuncPtr’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, int *, void *)’} from incompatible pointer type ‘int (*)(KdScreenInfo *, Atom, INT32 *, void *)’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, long int *, void *)’} [-Wincompatible-pointer-types]
|
||||
155 | adaptor->GetPortAttribute = ephyr_glamor_xv_get_port_attribute;
|
||||
| ^
|
||||
|
||||
Build error logs:
|
||||
https://koji.fedoraproject.org/koji/taskinfo?taskID=111964273
|
||||
|
||||
Signed-off-by: José Expósito <jexposit@redhat.com>
|
||||
(cherry picked from commit e89edec497bac581ca9b614fb00c25365580f045)
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1532>
|
||||
|
||||
commit be2767845d6ed3c6dbd25a151051294d0908a995
|
||||
Author: Matt Turner <mattst88@gmail.com>
|
||||
Date: Fri Apr 12 13:09:23 2024 -0400
|
||||
|
|
102
xserver/aclocal.m4
vendored
102
xserver/aclocal.m4
vendored
|
@ -19,7 +19,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
|
|||
If you have problems, you may need to regenerate the build system entirely.
|
||||
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
||||
|
||||
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||
# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*-
|
||||
# serial 12 (pkg-config-0.29.2)
|
||||
|
||||
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||||
|
@ -107,7 +107,7 @@ dnl Check to see whether a particular set of modules exists. Similar to
|
|||
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||
dnl
|
||||
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
dnl only at the first occurence in configure.ac, so if the first place
|
||||
dnl only at the first occurrence in configure.ac, so if the first place
|
||||
dnl it's called might be skipped (such as if it is within an "if", you
|
||||
dnl have to call PKG_CHECK_EXISTS manually
|
||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||
|
@ -176,14 +176,14 @@ if test $pkg_failed = yes; then
|
|||
AC_MSG_RESULT([no])
|
||||
_PKG_SHORT_ERRORS_SUPPORTED
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
||||
else
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
m4_default([$4], [AC_MSG_ERROR(
|
||||
m4_default([$4], [AC_MSG_ERROR(
|
||||
[Package requirements ($2) were not met:
|
||||
|
||||
$$1_PKG_ERRORS
|
||||
|
@ -195,7 +195,7 @@ _PKG_TEXT])[]dnl
|
|||
])
|
||||
elif test $pkg_failed = untried; then
|
||||
AC_MSG_RESULT([no])
|
||||
m4_default([$4], [AC_MSG_FAILURE(
|
||||
m4_default([$4], [AC_MSG_FAILURE(
|
||||
[The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
@ -205,10 +205,10 @@ _PKG_TEXT
|
|||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
|
||||
])
|
||||
else
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
AC_MSG_RESULT([yes])
|
||||
$3
|
||||
$3
|
||||
fi[]dnl
|
||||
])dnl PKG_CHECK_MODULES
|
||||
|
||||
|
@ -295,6 +295,74 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
|
|||
AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
||||
])dnl PKG_CHECK_VAR
|
||||
|
||||
dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
|
||||
dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
|
||||
dnl [DESCRIPTION], [DEFAULT])
|
||||
dnl ------------------------------------------
|
||||
dnl
|
||||
dnl Prepare a "--with-" configure option using the lowercase
|
||||
dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
|
||||
dnl PKG_CHECK_MODULES in a single macro.
|
||||
AC_DEFUN([PKG_WITH_MODULES],
|
||||
[
|
||||
m4_pushdef([with_arg], m4_tolower([$1]))
|
||||
|
||||
m4_pushdef([description],
|
||||
[m4_default([$5], [build with ]with_arg[ support])])
|
||||
|
||||
m4_pushdef([def_arg], [m4_default([$6], [auto])])
|
||||
m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
|
||||
m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
|
||||
|
||||
m4_case(def_arg,
|
||||
[yes],[m4_pushdef([with_without], [--without-]with_arg)],
|
||||
[m4_pushdef([with_without],[--with-]with_arg)])
|
||||
|
||||
AC_ARG_WITH(with_arg,
|
||||
AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
|
||||
[AS_TR_SH([with_]with_arg)=def_arg])
|
||||
|
||||
AS_CASE([$AS_TR_SH([with_]with_arg)],
|
||||
[yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
|
||||
[auto],[PKG_CHECK_MODULES([$1],[$2],
|
||||
[m4_n([def_action_if_found]) $3],
|
||||
[m4_n([def_action_if_not_found]) $4])])
|
||||
|
||||
m4_popdef([with_arg])
|
||||
m4_popdef([description])
|
||||
m4_popdef([def_arg])
|
||||
|
||||
])dnl PKG_WITH_MODULES
|
||||
|
||||
dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
|
||||
dnl [DESCRIPTION], [DEFAULT])
|
||||
dnl -----------------------------------------------
|
||||
dnl
|
||||
dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
|
||||
dnl check._[VARIABLE-PREFIX] is exported as make variable.
|
||||
AC_DEFUN([PKG_HAVE_WITH_MODULES],
|
||||
[
|
||||
PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
|
||||
|
||||
AM_CONDITIONAL([HAVE_][$1],
|
||||
[test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
|
||||
])dnl PKG_HAVE_WITH_MODULES
|
||||
|
||||
dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
|
||||
dnl [DESCRIPTION], [DEFAULT])
|
||||
dnl ------------------------------------------------------
|
||||
dnl
|
||||
dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
|
||||
dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
|
||||
dnl and preprocessor variable.
|
||||
AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
|
||||
[
|
||||
PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
|
||||
|
||||
AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
|
||||
[AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
|
||||
])dnl PKG_HAVE_DEFINE_WITH_MODULES
|
||||
|
||||
# Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
|
@ -1345,9 +1413,9 @@ m4_include([m4/ltversion.m4])
|
|||
m4_include([m4/lt~obsolete.m4])
|
||||
dnl fontutil.m4. Generated from fontutil.m4.in by configure.
|
||||
dnl
|
||||
dnl This file comes from X.Org's font-util 1.4.0
|
||||
dnl This file comes from X.Org's font-util 1.4.1
|
||||
dnl
|
||||
dnl Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
dnl Copyright (c) 2009, 2023, Oracle and/or its affiliates.
|
||||
dnl
|
||||
dnl Permission is hereby granted, free of charge, to any person obtaining a
|
||||
dnl copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -1410,7 +1478,7 @@ dnl from the copyright holders.
|
|||
# See the "minimum version" comment for each macro you use to see what
|
||||
# version you require.
|
||||
m4_defun([XORG_FONT_MACROS_VERSION],[
|
||||
m4_define([vers_have], [1.4.0])
|
||||
m4_define([vers_have], [1.4.1])
|
||||
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
|
||||
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
|
||||
m4_if(m4_cmp(maj_have, maj_needed), 0,,
|
||||
|
@ -1780,7 +1848,7 @@ dnl DEALINGS IN THE SOFTWARE.
|
|||
# See the "minimum version" comment for each macro you use to see what
|
||||
# version you require.
|
||||
m4_defun([XORG_MACROS_VERSION],[
|
||||
m4_define([vers_have], [1.20.0])
|
||||
m4_define([vers_have], [1.20.1])
|
||||
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
|
||||
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
|
||||
m4_if(m4_cmp(maj_have, maj_needed), 0,,
|
||||
|
@ -1827,10 +1895,10 @@ rm -f conftest.$ac_ext
|
|||
|
||||
AC_MSG_CHECKING([if $RAWCPP requires -traditional])
|
||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve "whitespace"?]])])
|
||||
if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||||
if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||||
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then
|
||||
TRADITIONALCPPFLAGS="-traditional"
|
||||
RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
|
||||
AC_MSG_RESULT([yes])
|
||||
|
|
|
@ -36,3 +36,13 @@ Section "InputClass"
|
|||
MatchDriver "evdev"
|
||||
Option "TypeName" "MOUSE"
|
||||
EndSection
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2152414
|
||||
# Xorg server does not correctly select the DCP for the display without
|
||||
# a quirk on Apple Silicon
|
||||
Section "OutputClass"
|
||||
Identifier "appledrm"
|
||||
MatchDriver "apple"
|
||||
Driver "modesetting"
|
||||
Option "PrimaryGPU" "true"
|
||||
EndSection
|
||||
|
|
624
xserver/configure
vendored
624
xserver/configure
vendored
File diff suppressed because it is too large
Load diff
|
@ -26,8 +26,8 @@ dnl
|
|||
dnl Process this file with autoconf to create configure.
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
AC_INIT([xorg-server], 21.1.13, [https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
|
||||
RELEASE_DATE="2024-04-12"
|
||||
AC_INIT([xorg-server], 21.1.15, [https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
|
||||
RELEASE_DATE="2024-12-17"
|
||||
RELEASE_NAME="Caramel Ice Cream"
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
@ -807,7 +807,7 @@ PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
|
|||
REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
|
||||
|
||||
dnl Core modules for most extensions, et al.
|
||||
SDK_REQUIRED_MODULES="$XPROTO $RANDRPROTO $RENDERPROTO $XEXTPROTO $INPUTPROTO $KBPROTO $FONTSPROTO $LIBPIXMAN $LIBXCVT"
|
||||
SDK_REQUIRED_MODULES="$XPROTO $RANDRPROTO $RENDERPROTO $XEXTPROTO $INPUTPROTO $KBPROTO $FONTSPROTO $LIBPIXMAN"
|
||||
# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
|
||||
AC_SUBST(SDK_REQUIRED_MODULES)
|
||||
|
||||
|
|
|
@ -1250,6 +1250,7 @@ FindBestPixel(EntryPtr pentFirst, int size, xrgb * prgb, int channel)
|
|||
case PSEUDOMAP:
|
||||
dg = (long) pent->co.local.green - prgb->green;
|
||||
db = (long) pent->co.local.blue - prgb->blue;
|
||||
/* fallthrough */
|
||||
case REDMAP:
|
||||
dr = (long) pent->co.local.red - prgb->red;
|
||||
break;
|
||||
|
|
|
@ -2714,7 +2714,7 @@ GetPairedDevice(DeviceIntPtr dev)
|
|||
if (!IsMaster(dev) && !IsFloating(dev))
|
||||
dev = GetMaster(dev, MASTER_ATTACHED);
|
||||
|
||||
return dev->spriteInfo? dev->spriteInfo->paired: NULL;
|
||||
return (dev && dev->spriteInfo) ? dev->spriteInfo->paired: NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1352,18 +1352,18 @@ int
|
|||
PolyText(ClientPtr client, DrawablePtr pDraw, GC * pGC, unsigned char *pElt,
|
||||
unsigned char *endReq, int xorg, int yorg, int reqType, XID did)
|
||||
{
|
||||
PTclosureRec local_closure;
|
||||
|
||||
local_closure.pElt = pElt;
|
||||
local_closure.endReq = endReq;
|
||||
local_closure.client = client;
|
||||
local_closure.pDraw = pDraw;
|
||||
local_closure.xorg = xorg;
|
||||
local_closure.yorg = yorg;
|
||||
local_closure.reqType = reqType;
|
||||
local_closure.pGC = pGC;
|
||||
local_closure.did = did;
|
||||
local_closure.err = Success;
|
||||
PTclosureRec local_closure = {
|
||||
.client = client,
|
||||
.pDraw = pDraw,
|
||||
.pGC = pGC,
|
||||
.pElt = pElt,
|
||||
.endReq = endReq,
|
||||
.xorg = xorg,
|
||||
.yorg = yorg,
|
||||
.reqType = reqType,
|
||||
.did = did,
|
||||
.err = Success
|
||||
};
|
||||
|
||||
(void) doPolyText(client, &local_closure);
|
||||
return Success;
|
||||
|
@ -1687,7 +1687,8 @@ SetFontPath(ClientPtr client, int npaths, unsigned char *paths)
|
|||
int bad;
|
||||
|
||||
err = SetFontPathElements(npaths, paths, &bad, FALSE);
|
||||
client->errorValue = bad;
|
||||
if (err != Success)
|
||||
client->errorValue = bad;
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -619,15 +619,20 @@ FixDeviceValuator(DeviceIntPtr dev, deviceValuator * ev, ValuatorClassPtr v,
|
|||
ev->first_valuator = first;
|
||||
switch (ev->num_valuators) {
|
||||
case 6:
|
||||
ev->valuator2 = v->axisVal[first + 5];
|
||||
ev->valuator5 = v->axisVal[first + 5];
|
||||
/* fallthrough */
|
||||
case 5:
|
||||
ev->valuator2 = v->axisVal[first + 4];
|
||||
ev->valuator4 = v->axisVal[first + 4];
|
||||
/* fallthrough */
|
||||
case 4:
|
||||
ev->valuator2 = v->axisVal[first + 3];
|
||||
ev->valuator3 = v->axisVal[first + 3];
|
||||
/* fallthrough */
|
||||
case 3:
|
||||
ev->valuator2 = v->axisVal[first + 2];
|
||||
/* fallthrough */
|
||||
case 2:
|
||||
ev->valuator1 = v->axisVal[first + 1];
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
ev->valuator0 = v->axisVal[first];
|
||||
break;
|
||||
|
@ -666,8 +671,10 @@ FixDeviceStateNotify(DeviceIntPtr dev, deviceStateNotify * ev, KeyClassPtr k,
|
|||
switch (ev->num_valuators) {
|
||||
case 3:
|
||||
ev->valuator2 = v->axisVal[first + 2];
|
||||
/* fallthrough */
|
||||
case 2:
|
||||
ev->valuator1 = v->axisVal[first + 1];
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
ev->valuator0 = v->axisVal[first];
|
||||
break;
|
||||
|
|
|
@ -683,6 +683,8 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi)
|
|||
len += vallen * 4; /* valuators mask */
|
||||
|
||||
*xi = calloc(1, len);
|
||||
if (*xi == NULL)
|
||||
return BadAlloc;
|
||||
xde = (xXIDeviceEvent *) * xi;
|
||||
xde->type = GenericEvent;
|
||||
xde->extension = IReqCode;
|
||||
|
@ -751,6 +753,8 @@ eventToTouchOwnershipEvent(TouchOwnershipEvent *ev, xEvent **xi)
|
|||
xXITouchOwnershipEvent *xtoe;
|
||||
|
||||
*xi = calloc(1, len);
|
||||
if (*xi == NULL)
|
||||
return BadAlloc;
|
||||
xtoe = (xXITouchOwnershipEvent *) * xi;
|
||||
xtoe->type = GenericEvent;
|
||||
xtoe->extension = IReqCode;
|
||||
|
@ -781,6 +785,8 @@ eventToRawEvent(RawDeviceEvent *ev, xEvent **xi)
|
|||
len += vallen * 4; /* valuators mask */
|
||||
|
||||
*xi = calloc(1, len);
|
||||
if (*xi == NULL)
|
||||
return BadAlloc;
|
||||
raw = (xXIRawEvent *) * xi;
|
||||
raw->type = GenericEvent;
|
||||
raw->extension = IReqCode;
|
||||
|
@ -816,6 +822,8 @@ eventToBarrierEvent(BarrierEvent *ev, xEvent **xi)
|
|||
int len = sizeof(xXIBarrierEvent);
|
||||
|
||||
*xi = calloc(1, len);
|
||||
if (*xi == NULL)
|
||||
return BadAlloc;
|
||||
barrier = (xXIBarrierEvent*) *xi;
|
||||
barrier->type = GenericEvent;
|
||||
barrier->extension = IReqCode;
|
||||
|
@ -845,6 +853,8 @@ eventToGesturePinchEvent(GestureEvent *ev, xEvent **xi)
|
|||
xXIGesturePinchEvent *xpe;
|
||||
|
||||
*xi = calloc(1, len);
|
||||
if (*xi == NULL)
|
||||
return BadAlloc;
|
||||
xpe = (xXIGesturePinchEvent *) * xi;
|
||||
xpe->type = GenericEvent;
|
||||
xpe->extension = IReqCode;
|
||||
|
@ -887,6 +897,8 @@ eventToGestureSwipeEvent(GestureEvent *ev, xEvent **xi)
|
|||
xXIGestureSwipeEvent *xde;
|
||||
|
||||
*xi = calloc(1, len);
|
||||
if (*xi == NULL)
|
||||
return BadAlloc;
|
||||
xde = (xXIGestureSwipeEvent *) * xi;
|
||||
xde->type = GenericEvent;
|
||||
xde->extension = IReqCode;
|
||||
|
|
|
@ -811,7 +811,8 @@ CreateScratchGC(ScreenPtr pScreen, unsigned depth)
|
|||
FreeGC(pGC, (XID) 0);
|
||||
pGC = (GCPtr) NULL;
|
||||
}
|
||||
pGC->graphicsExposures = FALSE;
|
||||
else
|
||||
pGC->graphicsExposures = FALSE;
|
||||
return pGC;
|
||||
}
|
||||
|
||||
|
|
|
@ -276,11 +276,13 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
|
|||
if (!pProp)
|
||||
return BadAlloc;
|
||||
data = malloc(totalSize);
|
||||
if (!data && len) {
|
||||
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
|
||||
return BadAlloc;
|
||||
if (totalSize) {
|
||||
if (!data) {
|
||||
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
|
||||
return BadAlloc;
|
||||
}
|
||||
memcpy(data, value, totalSize);
|
||||
}
|
||||
memcpy(data, value, totalSize);
|
||||
pProp->propertyName = property;
|
||||
pProp->type = type;
|
||||
pProp->format = format;
|
||||
|
@ -313,9 +315,11 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
|
|||
|
||||
if (mode == PropModeReplace) {
|
||||
data = malloc(totalSize);
|
||||
if (!data && len)
|
||||
return BadAlloc;
|
||||
memcpy(data, value, totalSize);
|
||||
if (totalSize) {
|
||||
if (!data)
|
||||
return BadAlloc;
|
||||
memcpy(data, value, totalSize);
|
||||
}
|
||||
pProp->data = data;
|
||||
pProp->size = len;
|
||||
pProp->type = type;
|
||||
|
@ -585,17 +589,20 @@ ProcListProperties(ClientPtr client)
|
|||
for (pProp = wUserProps(pWin); pProp; pProp = pProp->next)
|
||||
numProps++;
|
||||
|
||||
if (numProps && !(pAtoms = xallocarray(numProps, sizeof(Atom))))
|
||||
return BadAlloc;
|
||||
if (numProps) {
|
||||
pAtoms = xallocarray(numProps, sizeof(Atom));
|
||||
if (!pAtoms)
|
||||
return BadAlloc;
|
||||
|
||||
numProps = 0;
|
||||
temppAtoms = pAtoms;
|
||||
for (pProp = wUserProps(pWin); pProp; pProp = pProp->next) {
|
||||
realProp = pProp;
|
||||
rc = XaceHookPropertyAccess(client, pWin, &realProp, DixGetAttrAccess);
|
||||
if (rc == Success && realProp == pProp) {
|
||||
*temppAtoms++ = pProp->propertyName;
|
||||
numProps++;
|
||||
numProps = 0;
|
||||
temppAtoms = pAtoms;
|
||||
for (pProp = wUserProps(pWin); pProp; pProp = pProp->next) {
|
||||
realProp = pProp;
|
||||
rc = XaceHookPropertyAccess(client, pWin, &realProp, DixGetAttrAccess);
|
||||
if (rc == Success && realProp == pProp) {
|
||||
*temppAtoms++ = pProp->propertyName;
|
||||
numProps++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -609,8 +616,8 @@ ProcListProperties(ClientPtr client)
|
|||
if (numProps) {
|
||||
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
|
||||
WriteSwappedDataToClient(client, numProps * sizeof(Atom), pAtoms);
|
||||
free(pAtoms);
|
||||
}
|
||||
free(pAtoms);
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
|
|
@ -143,6 +143,7 @@ InitPredictableAccelerationScheme(DeviceIntPtr dev,
|
|||
schemeData->vel = vel;
|
||||
scheme.accelData = schemeData;
|
||||
if (!InitializePredictableAccelerationProperties(dev, vel, schemeData)) {
|
||||
FreeVelocityData(vel);
|
||||
free(vel);
|
||||
free(schemeData);
|
||||
return FALSE;
|
||||
|
|
|
@ -683,7 +683,7 @@ HashResourceID(XID id, unsigned int numBits)
|
|||
id &= mask;
|
||||
if (numBits < 9)
|
||||
return (id ^ (id >> numBits) ^ (id >> (numBits<<1))) & ~((~0U) << numBits);
|
||||
return (id ^ (id >> numBits)) & ~((~0) << numBits);
|
||||
return (id ^ (id >> numBits)) & ~((~0U) << numBits);
|
||||
}
|
||||
|
||||
static XID
|
||||
|
|
|
@ -586,10 +586,10 @@ glamor_setup_formats(ScreenPtr screen)
|
|||
|
||||
if (glamor_priv->is_gles) {
|
||||
assert(X_BYTE_ORDER == X_LITTLE_ENDIAN);
|
||||
glamor_add_format(screen, 24, PICT_x8b8g8r8,
|
||||
GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, TRUE);
|
||||
glamor_add_format(screen, 32, PICT_a8b8g8r8,
|
||||
GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, TRUE);
|
||||
glamor_add_format(screen, 24, PICT_x8r8g8b8,
|
||||
GL_BGRA, GL_BGRA, GL_UNSIGNED_BYTE, TRUE);
|
||||
glamor_add_format(screen, 32, PICT_a8r8g8b8,
|
||||
GL_BGRA, GL_BGRA, GL_UNSIGNED_BYTE, TRUE);
|
||||
} else {
|
||||
glamor_add_format(screen, 24, PICT_x8r8g8b8,
|
||||
GL_RGBA, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, TRUE);
|
||||
|
|
|
@ -101,7 +101,11 @@ glamor_poly_glyph_blt_gl(DrawablePtr drawable, GCPtr gc,
|
|||
int pt_x_i = glyph_x + xx;
|
||||
int pt_y_i = glyph_y + yy;
|
||||
|
||||
#if BITMAP_BIT_ORDER == MSBFirst
|
||||
if (!(*glyph & (128 >> (xx & 7))))
|
||||
#else
|
||||
if (!(*glyph & (1 << (xx & 7))))
|
||||
#endif
|
||||
continue;
|
||||
|
||||
if (!RegionContainsPoint(clip, pt_x_i, pt_y_i, NULL))
|
||||
|
@ -208,7 +212,11 @@ glamor_push_pixels_gl(GCPtr gc, PixmapPtr bitmap,
|
|||
for (yy = 0; yy < h; yy++) {
|
||||
uint8_t *bitmap_row = bitmap_data + yy * bitmap_stride;
|
||||
for (xx = 0; xx < w; xx++) {
|
||||
#if BITMAP_BIT_ORDER == MSBFirst
|
||||
if (bitmap_row[xx / 8] & (128 >> xx % 8) &&
|
||||
#else
|
||||
if (bitmap_row[xx / 8] & (1 << xx % 8) &&
|
||||
#endif
|
||||
RegionContainsPoint(clip,
|
||||
x + xx,
|
||||
y + yy,
|
||||
|
|
|
@ -94,7 +94,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
|
|||
*tex_format = GL_BGRA;
|
||||
*tex_type = GL_UNSIGNED_INT_8_8_8_8;
|
||||
} else {
|
||||
*tex_format = GL_RGBA;
|
||||
*tex_format = GL_BGRA;
|
||||
*tex_type = GL_UNSIGNED_BYTE;
|
||||
|
||||
swizzle[0] = GL_GREEN;
|
||||
|
@ -113,12 +113,9 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen,
|
|||
*tex_format = GL_BGRA;
|
||||
*tex_type = GL_UNSIGNED_INT_8_8_8_8_REV;
|
||||
} else {
|
||||
*tex_format = GL_RGBA;
|
||||
*tex_format = GL_BGRA;
|
||||
*tex_type = GL_UNSIGNED_BYTE;
|
||||
|
||||
swizzle[0] = GL_BLUE;
|
||||
swizzle[2] = GL_RED;
|
||||
|
||||
if (!is_little_endian)
|
||||
byte_swap_swizzle(swizzle);
|
||||
break;
|
||||
|
|
|
@ -235,7 +235,11 @@ static const char fs_vars_text[] =
|
|||
|
||||
static const char fs_exec_text[] =
|
||||
" ivec2 itile_texture = ivec2(glyph_pos);\n"
|
||||
#if BITMAP_BIT_ORDER == MSBFirst
|
||||
" uint x = uint(7) - uint(itile_texture.x & 7);\n"
|
||||
#else
|
||||
" uint x = uint(itile_texture.x & 7);\n"
|
||||
#endif
|
||||
" itile_texture.x >>= 3;\n"
|
||||
" uint texel = texelFetch(font, itile_texture, 0).x;\n"
|
||||
" uint bit = (texel >> x) & uint(1);\n"
|
||||
|
@ -244,7 +248,11 @@ static const char fs_exec_text[] =
|
|||
|
||||
static const char fs_exec_te[] =
|
||||
" ivec2 itile_texture = ivec2(glyph_pos);\n"
|
||||
#if BITMAP_BIT_ORDER == MSBFirst
|
||||
" uint x = uint(7) - uint(itile_texture.x & 7);\n"
|
||||
#else
|
||||
" uint x = uint(itile_texture.x & 7);\n"
|
||||
#endif
|
||||
" itile_texture.x >>= 3;\n"
|
||||
" uint texel = texelFetch(font, itile_texture, 0).x;\n"
|
||||
" uint bit = (texel >> x) & uint(1);\n"
|
||||
|
|
|
@ -50,16 +50,16 @@ ephyr_glamor_xv_stop_video(KdScreenInfo *screen, void *data, Bool cleanup)
|
|||
|
||||
static int
|
||||
ephyr_glamor_xv_set_port_attribute(KdScreenInfo *screen,
|
||||
Atom attribute, INT32 value, void *data)
|
||||
Atom attribute, int value, void *data)
|
||||
{
|
||||
return glamor_xv_set_port_attribute(data, attribute, value);
|
||||
return glamor_xv_set_port_attribute(data, attribute, (INT32)value);
|
||||
}
|
||||
|
||||
static int
|
||||
ephyr_glamor_xv_get_port_attribute(KdScreenInfo *screen,
|
||||
Atom attribute, INT32 *value, void *data)
|
||||
Atom attribute, int *value, void *data)
|
||||
{
|
||||
return glamor_xv_get_port_attribute(data, attribute, value);
|
||||
return glamor_xv_get_port_attribute(data, attribute, (INT32 *)value);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -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, int *fbNum)
|
|||
* 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 *busID, int fbNum)
|
|||
* 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;
|
||||
|
@ -740,6 +740,7 @@ void
|
|||
xf86SbusConfigureNewDev(void *busData, sbusDevicePtr sBus, GDevRec * GDev)
|
||||
{
|
||||
char *promPath = NULL;
|
||||
char *tmp;
|
||||
|
||||
sBus = (sbusDevicePtr) busData;
|
||||
GDev->identifier = sBus->descr;
|
||||
|
@ -748,10 +749,11 @@ xf86SbusConfigureNewDev(void *busData, sbusDevicePtr sBus, GDevRec * GDev)
|
|||
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;
|
||||
}
|
||||
|
|
|
@ -1135,8 +1135,10 @@ handle_detailed_monset(struct detailed_monitor_section *det_mon, void *data)
|
|||
p->Monitor->nHsync++;
|
||||
}
|
||||
else {
|
||||
#ifdef SPAM_XORG_LOG
|
||||
xf86DrvMsg(scrnIndex, X_INFO,
|
||||
"Using hsync ranges from config file\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!p->have_vrefresh) {
|
||||
|
@ -1150,8 +1152,10 @@ handle_detailed_monset(struct detailed_monitor_section *det_mon, void *data)
|
|||
p->Monitor->nVrefresh++;
|
||||
}
|
||||
else {
|
||||
#ifdef SPAM_XORG_LOG
|
||||
xf86DrvMsg(scrnIndex, X_INFO,
|
||||
"Using vrefresh ranges from config file\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
clock = det_mon->section.ranges.max_clock * 1000;
|
||||
|
@ -1198,6 +1202,7 @@ xf86EdidMonitorSet(int scrnIndex, MonPtr Monitor, xf86MonPtr DDC)
|
|||
xf86ForEachDetailedBlock(DDC, handle_detailed_monset, &p);
|
||||
|
||||
if (Modes) {
|
||||
#ifdef SPAM_XORG_LOG
|
||||
/* Print Modes */
|
||||
xf86DrvMsg(scrnIndex, X_INFO, "Printing DDC gathered Modelines:\n");
|
||||
|
||||
|
@ -1206,7 +1211,7 @@ xf86EdidMonitorSet(int scrnIndex, MonPtr Monitor, xf86MonPtr DDC)
|
|||
xf86PrintModeline(scrnIndex, Mode);
|
||||
Mode = Mode->next;
|
||||
}
|
||||
|
||||
#endif
|
||||
/* Do we still need ranges to be filled in? */
|
||||
if (!Monitor->nHsync || !Monitor->nVrefresh)
|
||||
DDCGuessRangesFromModes(scrnIndex, Monitor, Modes);
|
||||
|
|
|
@ -77,6 +77,8 @@ xf86parseDRISection(void)
|
|||
break;
|
||||
case COMMENT:
|
||||
ptr->dri_comment = xf86addComment(ptr->dri_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
default:
|
||||
Error(INVALID_KEYWORD_MSG, xf86tokenString());
|
||||
|
|
|
@ -106,6 +106,8 @@ xf86parseDeviceSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->dev_comment = xf86addComment(ptr->dev_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
|
||||
|
|
|
@ -67,6 +67,8 @@ xf86parseExtensionsSection(void)
|
|||
case COMMENT:
|
||||
ptr->extensions_comment =
|
||||
xf86addComment(ptr->extensions_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
default:
|
||||
Error(INVALID_KEYWORD_MSG, xf86tokenString());
|
||||
|
|
|
@ -89,6 +89,8 @@ xf86parseFilesSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->file_comment = xf86addComment(ptr->file_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case FONTPATH:
|
||||
if (xf86getSubToken(&(ptr->file_comment)) != STRING)
|
||||
|
|
|
@ -98,6 +98,8 @@ xf86parseFlagsSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->flg_comment = xf86addComment(ptr->flg_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
/*
|
||||
* these old keywords are turned into standard generic options.
|
||||
|
@ -436,18 +438,24 @@ xf86parseOption(XF86OptionPtr head)
|
|||
if ((token = xf86getSubToken(&comment)) == STRING) {
|
||||
option = xf86newOption(name, xf86_lex_val.str);
|
||||
option->opt_comment = comment;
|
||||
if ((token = xf86getToken(NULL)) == COMMENT)
|
||||
if ((token = xf86getToken(NULL)) == COMMENT) {
|
||||
option->opt_comment = xf86addComment(option->opt_comment, xf86_lex_val.str);
|
||||
else
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
} else {
|
||||
xf86unGetToken(token);
|
||||
}
|
||||
}
|
||||
else {
|
||||
option = xf86newOption(name, NULL);
|
||||
option->opt_comment = comment;
|
||||
if (token == COMMENT)
|
||||
if (token == COMMENT) {
|
||||
option->opt_comment = xf86addComment(option->opt_comment, xf86_lex_val.str);
|
||||
else
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
} else {
|
||||
xf86unGetToken(token);
|
||||
}
|
||||
}
|
||||
|
||||
old = NULL;
|
||||
|
|
|
@ -84,6 +84,8 @@ xf86parseInputSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->inp_comment = xf86addComment(ptr->inp_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->inp_comment)) != STRING)
|
||||
|
|
|
@ -191,6 +191,8 @@ xf86parseInputClassSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->comment = xf86addComment(ptr->comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->comment)) != STRING)
|
||||
|
|
|
@ -101,6 +101,8 @@ xf86parseLayoutSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->lay_comment = xf86addComment(ptr->lay_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->lay_comment)) != STRING)
|
||||
|
|
|
@ -95,6 +95,8 @@ xf86parseModuleSubSection(XF86LoadPtr head, char *name)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->load_comment = xf86addComment(ptr->load_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case OPTION:
|
||||
ptr->load_opt = xf86parseOption(ptr->load_opt);
|
||||
|
@ -126,6 +128,8 @@ xf86parseModuleSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->mod_comment = xf86addComment(ptr->mod_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case LOAD:
|
||||
if (xf86getSubToken(&(ptr->mod_comment)) != STRING)
|
||||
|
@ -230,10 +234,13 @@ xf86addNewLoadDirective(XF86LoadPtr head, const char *name, int type,
|
|||
new->ignore = 0;
|
||||
new->list.next = NULL;
|
||||
|
||||
if ((token = xf86getToken(NULL)) == COMMENT)
|
||||
if ((token = xf86getToken(NULL)) == COMMENT) {
|
||||
new->load_comment = xf86addComment(new->load_comment, xf86_lex_val.str);
|
||||
else
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
} else {
|
||||
xf86unGetToken(token);
|
||||
}
|
||||
|
||||
return ((XF86LoadPtr) xf86addListItem((glp) head, (glp) new));
|
||||
}
|
||||
|
|
|
@ -269,6 +269,8 @@ xf86parseVerboseMode(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->ml_comment = xf86addComment(ptr->ml_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case DOTCLOCK:
|
||||
if ((token = xf86getSubToken(&(ptr->ml_comment))) != NUMBER)
|
||||
|
@ -413,6 +415,8 @@ xf86parseMonitorSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->mon_comment = xf86addComment(ptr->mon_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->mon_comment)) != STRING)
|
||||
|
@ -599,6 +603,8 @@ xf86parseModesSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->modes_comment = xf86addComment(ptr->modes_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->modes_comment)) != STRING)
|
||||
|
|
|
@ -102,6 +102,8 @@ xf86parseOutputClassSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->comment = xf86addComment(ptr->comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->comment)) != STRING)
|
||||
|
|
|
@ -104,6 +104,8 @@ xf86parsePointerSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->inp_comment = xf86addComment(ptr->inp_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case PROTOCOL:
|
||||
if (xf86getSubToken(&(ptr->inp_comment)) != STRING)
|
||||
|
|
|
@ -119,6 +119,8 @@ xf86parseDisplaySubSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->disp_comment = xf86addComment(ptr->disp_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case VIEWPORT:
|
||||
if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
|
||||
|
@ -256,6 +258,8 @@ xf86parseScreenSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->scrn_comment = xf86addComment(ptr->scrn_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
|
||||
|
|
|
@ -98,6 +98,8 @@ xf86parseVendorSubSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->vs_comment = xf86addComment(ptr->vs_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->vs_comment)))
|
||||
|
@ -151,6 +153,8 @@ xf86parseVendorSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->vnd_comment = xf86addComment(ptr->vnd_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->vnd_comment)) != STRING)
|
||||
|
|
|
@ -97,6 +97,8 @@ xf86parseVideoPortSubSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->vp_comment = xf86addComment(ptr->vp_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->vp_comment)) != STRING)
|
||||
|
@ -154,6 +156,8 @@ xf86parseVideoAdaptorSection(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->va_comment = xf86addComment(ptr->va_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case IDENTIFIER:
|
||||
if (xf86getSubToken(&(ptr->va_comment)) != STRING)
|
||||
|
|
|
@ -100,6 +100,8 @@ xf86readConfigFile(void)
|
|||
switch (token) {
|
||||
case COMMENT:
|
||||
ptr->conf_comment = xf86addComment(ptr->conf_comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
break;
|
||||
case SECTION:
|
||||
if (xf86getSubToken(&(ptr->conf_comment)) != STRING) {
|
||||
|
|
|
@ -332,10 +332,10 @@ xf86getToken(const xf86ConfigSymTabRec * tab)
|
|||
}
|
||||
while ((c != '\n') && (c != '\r') && (c != '\0'));
|
||||
configRBuf[i] = '\0';
|
||||
/* XXX no private copy.
|
||||
/* XXX private copy.
|
||||
* Use xf86addComment when setting a comment.
|
||||
*/
|
||||
xf86_lex_val.str = configRBuf;
|
||||
xf86_lex_val.str = strdup(configRBuf);
|
||||
return COMMENT;
|
||||
}
|
||||
|
||||
|
@ -448,8 +448,11 @@ xf86getSubToken(char **comment)
|
|||
for (;;) {
|
||||
token = xf86getToken(NULL);
|
||||
if (token == COMMENT) {
|
||||
if (comment)
|
||||
if (comment) {
|
||||
*comment = xf86addComment(*comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
return token;
|
||||
|
@ -464,8 +467,11 @@ xf86getSubTokenWithTab(char **comment, const xf86ConfigSymTabRec * tab)
|
|||
for (;;) {
|
||||
token = xf86getToken(tab);
|
||||
if (token == COMMENT) {
|
||||
if (comment)
|
||||
if (comment) {
|
||||
*comment = xf86addComment(*comment, xf86_lex_val.str);
|
||||
free(xf86_lex_val.str);
|
||||
xf86_lex_val.str = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
return token;
|
||||
|
|
|
@ -98,7 +98,7 @@ xnestRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)
|
|||
bg_color.green = pCursor->backGreen;
|
||||
bg_color.blue = pCursor->backBlue;
|
||||
|
||||
xnestSetCursorPriv(pCursor, pScreen, malloc(sizeof(xnestPrivCursor)));
|
||||
xnestSetCursorPriv(pCursor, pScreen, calloc(1, sizeof(xnestPrivCursor)));
|
||||
xnestCursor(pCursor, pScreen) =
|
||||
XCreatePixmapCursor(xnestDisplay, source, mask, &fg_color, &bg_color,
|
||||
pCursor->bits->xhot, pCursor->bits->yhot);
|
||||
|
|
|
@ -94,7 +94,7 @@ xnestCollectExposures(void)
|
|||
|
||||
RegionInit(&Rgn, &Box, 1);
|
||||
|
||||
miSendExposures(pWin, &Rgn, Box.x2, Box.y2);
|
||||
miSendExposures(pWin, &Rgn, Box.x1, Box.y1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -166,6 +166,8 @@ conf_data.set('HAVE_SETITIMER', cc.has_function('setitimer') ? '1' : false)
|
|||
conf_data.set('HAVE_SHMCTL64', cc.has_function('shmctl64') ? '1' : false)
|
||||
conf_data.set('HAVE_SIGACTION', cc.has_function('sigaction') ? '1' : false)
|
||||
conf_data.set('HAVE_SIGPROCMASK', cc.has_function('sigprocmask') ? '1' : false)
|
||||
# HAVE_SOCKLEN_T is used by xtrans when IPv6 is disabled
|
||||
conf_data.set('HAVE_SOCKLEN_T', cc.has_type('socklen_t', prefix: '#include <sys/socket.h>') ? '1' : false)
|
||||
conf_data.set('HAVE_STRCASECMP', cc.has_function('strcasecmp') ? '1' : false)
|
||||
conf_data.set('HAVE_STRCASESTR', cc.has_function('strcasestr') ? '1' : false)
|
||||
conf_data.set('HAVE_STRLCAT', cc.has_function('strlcat', dependencies: libbsd_dep) ? '1' : false)
|
||||
|
|
|
@ -3,10 +3,10 @@ project('xserver', 'c',
|
|||
'buildtype=debugoptimized',
|
||||
'c_std=gnu99',
|
||||
],
|
||||
version: '21.1.13',
|
||||
version: '21.1.15',
|
||||
meson_version: '>= 0.47.0',
|
||||
)
|
||||
release_date = '2024-04-12'
|
||||
release_date = '2024-12-17'
|
||||
|
||||
add_project_arguments('-DHAVE_DIX_CONFIG_H', language: ['c', 'objc'])
|
||||
cc = meson.get_compiler('c')
|
||||
|
|
|
@ -1864,7 +1864,7 @@ siHostnameAddrMatch(int family, void *addr, int len,
|
|||
char hostname[SI_HOSTNAME_MAXLEN];
|
||||
int f, hostaddrlen;
|
||||
void *hostaddr;
|
||||
const char **addrlist;
|
||||
char **addrlist;
|
||||
|
||||
if (siAddrLen >= sizeof(hostname))
|
||||
return FALSE;
|
||||
|
@ -1889,7 +1889,9 @@ siHostnameAddrMatch(int family, void *addr, int len,
|
|||
if ((f == family) && (len == hostaddrlen) &&
|
||||
(memcmp(addr, hostaddr, len) == 0)) {
|
||||
res = TRUE;
|
||||
#ifdef h_addr
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ DetermineClientPid(struct _Client * client)
|
|||
void
|
||||
DetermineClientCmd(pid_t pid, const char **cmdname, const char **cmdargs)
|
||||
{
|
||||
#if !defined(__APPLE__)
|
||||
#if !defined(__APPLE__) && !defined(__OpenBSD__)
|
||||
char path[PATH_MAX + 1];
|
||||
int totsize = 0;
|
||||
int fd = 0;
|
||||
|
@ -269,10 +269,9 @@ DetermineClientCmd(pid_t pid, const char **cmdname, const char **cmdargs)
|
|||
return;
|
||||
argv = kvm_getargv(kd, kp, 0);
|
||||
if (cmdname) {
|
||||
if (argv == NULL || argv[0] == NULL) {
|
||||
*cmdname = strdup("");
|
||||
if (argv == NULL || argv[0] == NULL)
|
||||
return;
|
||||
} else
|
||||
else
|
||||
*cmdname = strdup(argv[0]);
|
||||
}
|
||||
if (cmdargs) {
|
||||
|
|
|
@ -2992,13 +2992,13 @@ _XkbSetCompatMap(ClientPtr client, DeviceIntPtr dev,
|
|||
XkbSymInterpretPtr sym;
|
||||
unsigned int skipped = 0;
|
||||
|
||||
if ((unsigned) (req->firstSI + req->nSI) > compat->num_si) {
|
||||
compat->num_si = req->firstSI + req->nSI;
|
||||
if ((unsigned) (req->firstSI + req->nSI) > compat->size_si) {
|
||||
compat->num_si = compat->size_si = req->firstSI + req->nSI;
|
||||
compat->sym_interpret = reallocarray(compat->sym_interpret,
|
||||
compat->num_si,
|
||||
compat->size_si,
|
||||
sizeof(XkbSymInterpretRec));
|
||||
if (!compat->sym_interpret) {
|
||||
compat->num_si = 0;
|
||||
compat->num_si = compat->size_si = 0;
|
||||
return BadAlloc;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue