Compare commits

..

6 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult 65ca0f6a4f HACK 2025-07-02 16:56:57 +02:00
Enrico Weigelt, metux IT consult 26b3537499 Revert "dix: AllocColor() dont fire Xace hook when looking up color at root window"
This reverts commit 912c0c1f76d6cf54864bdd9eda872a19281f65d6.
2025-07-02 16:52:39 +02:00
Enrico Weigelt, metux IT consult 27364a0cc5 dix: AllocColor() dont fire Xace hook when looking up color at root window
This is creating false alarms that are complicated to catch, thus passing
NULL client so the Xace hook in dixLookupResourceByType() doesn't fire here.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-02 16:52:39 +02:00
Enrico Weigelt, metux IT consult 658d811257 dix: move screen destruction loop into dixFreeAllScreens()
Consolidate the screen destruction code in its own function and
so move it out of the big main loop.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-02 16:52:38 +02:00
stefan11111 922a22b6ef kdrive: ephyr: initialize OS specific callback vectors
These will be used by subsequent commits for generic Kdrive
functions calling back into the OS specific parts

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-07-02 15:45:07 +02:00
stefan11111 a750176ce7 kdrive: add KdOsInit
Kdrive X servers used to do the OS-speciffic init part using KdOsInit.
This was changed in modern Xorg because Xephyr is the only kdrive
X server there, so there was no need to keep this generic.
Since we want to eventually add Xfbdev, we need to add this back.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-07-02 15:45:07 +02:00
43 changed files with 130 additions and 94 deletions

View File

@ -58,13 +58,13 @@ if build_xv
hdrs_xext += ['xvdix.h', 'xvmcext.h'] hdrs_xext += ['xvdix.h', 'xvmcext.h']
endif endif
libxserver_xext = static_library('xserver_xext', libxserver_xext = static_library('libxserver_xext',
srcs_xext, srcs_xext,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,
) )
libxserver_xext_vidmode = static_library('xserver_xext_vidmode', libxserver_xext_vidmode = static_library('libxserver_xext_vidmode',
'vidmode.c', 'vidmode.c',
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -11,6 +11,14 @@
#include "namespace.h" #include "namespace.h"
#include "hooks.h" #include "hooks.h"
static inline Bool winIsRoot(WindowPtr pWin) {
if (!pWin)
return FALSE;
if (pWin->drawable.pScreen->root == pWin)
return TRUE;
return FALSE;
}
void hookWindowProperty(CallbackListPtr *pcbl, void *unused, void *calldata) void hookWindowProperty(CallbackListPtr *pcbl, void *unused, void *calldata)
{ {
XNS_HOOK_HEAD(PropertyFilterParam); XNS_HOOK_HEAD(PropertyFilterParam);

View File

@ -1,5 +1,5 @@
libxserver_namespace = static_library( libxserver_namespace = static_library(
'xserver_namespace', 'libxserver_namespace',
[ [
'config.c', 'config.c',
'hook-client.c', 'hook-client.c',

View File

@ -261,10 +261,9 @@ ProcSELinuxGetPropertyContext(ClientPtr client, void *privKey)
if (rc != Success) if (rc != Success)
return rc; return rc;
rc = dixLookupProperty(&pProp, pWin, stuff->property, client, pProp = dixLookupProperty(pWin, stuff->property, client, DixGetAttrAccess);
DixGetAttrAccess); if (!pProp)
if (rc != Success) return BadMatch;
return rc;
obj = dixLookupPrivate(&pProp->devPrivates, privKey); obj = dixLookupPrivate(&pProp->devPrivates, privKey);
return SELinuxSendContextReply(client, obj->sid); return SELinuxSendContextReply(client, obj->sid);

View File

@ -53,14 +53,14 @@ srcs_xi = [
'xiwarppointer.c', 'xiwarppointer.c',
] ]
libxserver_xi = static_library('xserver_xi', libxserver_xi = static_library('libxserver_xi',
srcs_xi, srcs_xi,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,
) )
srcs_xi_stubs = ['stubs.c'] srcs_xi_stubs = ['stubs.c']
libxserver_xi_stubs = static_library('xserver_xi_stubs', libxserver_xi_stubs = static_library('libxserver_xi_stubs',
srcs_xi_stubs, srcs_xi_stubs,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -10,7 +10,7 @@ hdrs_composite = [
'compositeext.h', 'compositeext.h',
] ]
libxserver_composite = static_library('xserver_composite', libxserver_composite = static_library('libxserver_composite',
srcs_composite, srcs_composite,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -28,7 +28,7 @@ if build_xorg
install_dir: join_paths(get_option('datadir'), 'X11/xorg.conf.d')) install_dir: join_paths(get_option('datadir'), 'X11/xorg.conf.d'))
endif endif
libxserver_config = static_library('xserver_config', libxserver_config = static_library('libxserver_config',
srcs_config, srcs_config,
include_directories: inc, include_directories: inc,
dependencies: config_dep, dependencies: config_dep,

View File

@ -2,7 +2,7 @@ srcs_damageext = [
'damageext.c', 'damageext.c',
] ]
libxserver_damageext = static_library('xserver_damageext', libxserver_damageext = static_library('libxserver_damageext',
srcs_damageext, srcs_damageext,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -3,7 +3,7 @@ srcs_dbe = [
'midbe.c', 'midbe.c',
] ]
libxserver_dbe = static_library('xserver_dbe', libxserver_dbe = static_library('libxserver_dbe',
srcs_dbe, srcs_dbe,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -689,4 +689,6 @@ static inline ClientPtr dixLookupXIDOwner(XID xid)
return NullClient; return NullClient;
} }
void dixFreeAllScreens(void);
#endif /* _XSERVER_DIX_PRIV_H */ #endif /* _XSERVER_DIX_PRIV_H */

View File

@ -317,20 +317,8 @@ dix_main(int argc, char *argv[], char *envp[])
screenInfo.screens[i]->root = NullWindow; screenInfo.screens[i]->root = NullWindow;
CloseDownDevices(); CloseDownDevices();
CloseDownEvents(); CloseDownEvents();
dixFreeAllScreens();
for (i = screenInfo.numGPUScreens - 1; i >= 0; i--) {
dixFreeScreen(screenInfo.gpuscreens[i]);
screenInfo.numGPUScreens = i;
}
memset(&screenInfo.numGPUScreens, 0, sizeof(screenInfo.numGPUScreens));
for (i = screenInfo.numScreens - 1; i >= 0; i--) {
dixFreeScreen(screenInfo.screens[i]);
screenInfo.numScreens = i;
}
memset(&screenInfo.screens, 0, sizeof(screenInfo.numGPUScreens));
ReleaseClientIds(serverClient); ReleaseClientIds(serverClient);
dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT); dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT);

View File

@ -57,13 +57,13 @@ endif
dtrace_dep = declare_dependency(sources: [dtrace_src, dtrace_hdr]) dtrace_dep = declare_dependency(sources: [dtrace_src, dtrace_hdr])
libxserver_dix = static_library('xserver_dix', libxserver_dix = static_library('libxserver_dix',
[ srcs_dix, builtinatoms_src ], [ srcs_dix, builtinatoms_src ],
include_directories: inc, include_directories: inc,
dependencies: [ dtrace_dep, common_dep, ] dependencies: [ dtrace_dep, common_dep, ]
) )
libxserver_main = static_library('xserver_main', libxserver_main = static_library('libxserver_main',
'stubmain.c', 'stubmain.c',
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -92,23 +92,22 @@ PrintPropertys(WindowPtr pWin)
} }
#endif #endif
int PropertyPtr dixLookupProperty(WindowPtr pWin, Atom propertyName,
dixLookupProperty(PropertyPtr *result, WindowPtr pWin, Atom propertyName, ClientPtr client, Mask access_mode)
ClientPtr client, Mask access_mode)
{ {
PropertyPtr pProp; PropertyPtr pProp;
int rc = BadMatch; int rc = BadMatch;
client->errorValue = propertyName; client->errorValue = propertyName;
for (pProp = pWin->properties; pProp; pProp = pProp->next) for (pProp = wUserProps(pWin); pProp; pProp = pProp->next)
if (pProp->propertyName == propertyName) if (pProp->propertyName == propertyName) {
break; if (XaceHookPropertyAccess(client, pWin, &pProp, access_mode) != Success)
return NULL;
return pProp;
}
if (pProp) return NULL;
rc = XaceHookPropertyAccess(client, pWin, &pProp, access_mode);
*result = pProp;
return rc;
} }
static void static void
@ -223,6 +222,7 @@ ProcRotateProperties(ClientPtr client)
if (rc != Success) if (rc != Success)
goto out; goto out;
}
props[i] = pProp; props[i] = pProp;
saved[i] = *pProp; saved[i] = *pProp;
@ -333,7 +333,7 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
access_mode = (mode == PropModeReplace) ? DixWriteAccess : DixBlendAccess; access_mode = (mode == PropModeReplace) ? DixWriteAccess : DixBlendAccess;
/* first see if property already exists */ /* first see if property already exists */
rc = dixLookupProperty(&pProp, pWin, property, pClient, access_mode); pProp = dixLookupProperty(pWin, property, pClient, access_mode);
if (rc == BadMatch) { /* just add to list */ if (rc == BadMatch) { /* just add to list */
if (!MakeWindowOptional(pWin)) if (!MakeWindowOptional(pWin))
@ -365,7 +365,7 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
pProp->next = pWin->properties; pProp->next = pWin->properties;
pWin->properties = pProp; pWin->properties = pProp;
} }
else if (rc == Success) { else {
/* To append or prepend to a property the request format and type /* To append or prepend to a property the request format and type
must match those of the already defined property. The must match those of the already defined property. The
existing format and type are irrelevant when using the mode existing format and type are irrelevant when using the mode
@ -427,8 +427,6 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
return rc; return rc;
} }
} }
else
return rc;
if (sendevent) { if (sendevent) {
deliverPropertyNotifyEvent(pWin, PropertyNewValue, pProp); deliverPropertyNotifyEvent(pWin, PropertyNewValue, pProp);
@ -444,8 +442,8 @@ DeleteProperty(ClientPtr client, WindowPtr pWin, Atom propName)
PropertyPtr pProp, prevProp; PropertyPtr pProp, prevProp;
int rc; int rc;
rc = dixLookupProperty(&pProp, pWin, propName, client, DixDestroyAccess); pProp = dixLookupProperty(pWin, propName, client, DixDestroyAccess);
if (rc == BadMatch) if (!pProp)
return Success; /* Succeed if property does not exist */ return Success; /* Succeed if property does not exist */
if (rc == Success) { if (rc == Success) {
@ -467,7 +465,19 @@ DeleteProperty(ClientPtr client, WindowPtr pWin, Atom propName)
free(pProp->data); free(pProp->data);
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY); dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
} }
return rc; else {
/* Need to traverse to find the previous element */
prevProp = pWin->optional->userProps;
while (prevProp->next != pProp)
prevProp = prevProp->next;
prevProp->next = pProp->next;
}
deliverPropertyNotifyEvent(pWin, PropertyDelete, pProp);
free(pProp->data);
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
return Success;
} }
void void

View File

@ -94,8 +94,8 @@ typedef struct _PropertyFilterParam {
extern CallbackListPtr PropertyFilterCallback; extern CallbackListPtr PropertyFilterCallback;
int dixLookupProperty(PropertyPtr *result, WindowPtr pWin, Atom proprty, PropertyPtr dixLookupProperty(WindowPtr pWin, Atom proprty,
ClientPtr pClient, Mask access_mode); ClientPtr pClient, Mask access_mode);
void DeleteAllWindowProperties(WindowPtr pWin); void DeleteAllWindowProperties(WindowPtr pWin);

View File

@ -10,7 +10,7 @@
#include "include/screenint.h" #include "include/screenint.h"
#include "include/scrnintstr.h" #include "include/scrnintstr.h"
void dixFreeScreen(ScreenPtr pScreen) static void dixFreeScreen(ScreenPtr pScreen)
{ {
if (!pScreen) if (!pScreen)
return; return;
@ -27,3 +27,18 @@ void dixFreeScreen(ScreenPtr pScreen)
DeleteCallbackList(&pScreen->hookPixmapDestroy); DeleteCallbackList(&pScreen->hookPixmapDestroy);
free(pScreen); free(pScreen);
} }
void dixFreeAllScreens(void)
{
for (int i = screenInfo.numGPUScreens - 1; i >= 0; i--) {
dixFreeScreen(screenInfo.gpuscreens[i]);
screenInfo.numGPUScreens = i;
}
memset(&screenInfo.numGPUScreens, 0, sizeof(screenInfo.numGPUScreens));
for (int i = screenInfo.numScreens - 1; i >= 0; i--) {
dixFreeScreen(screenInfo.screens[i]);
screenInfo.numScreens = i;
}
memset(&screenInfo.screens, 0, sizeof(screenInfo.numGPUScreens));
}

View File

@ -10,7 +10,7 @@ hdrs_dri3 = [
libxserver_dri3 = [] libxserver_dri3 = []
if build_dri3 if build_dri3
libxserver_dri3 = static_library('xserver_dri3', libxserver_dri3 = static_library('libxserver_dri3',
srcs_dri3, srcs_dri3,
include_directories: inc, include_directories: inc,
dependencies: [ common_dep, libdrm_dep ], dependencies: [ common_dep, libdrm_dep ],

View File

@ -12,7 +12,7 @@ srcs_exa = [
'exa_unaccel.c', 'exa_unaccel.c',
] ]
libxserver_exa = static_library('xserver_exa', libxserver_exa = static_library('libxserver_exa',
srcs_exa, srcs_exa,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -37,7 +37,7 @@ hdrs_fb = [
'wfbrename.h' 'wfbrename.h'
] ]
libxserver_fb = static_library('xserver_fb', libxserver_fb = static_library('libxserver_fb',
srcs_fb, srcs_fb,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,
@ -46,7 +46,7 @@ libxserver_fb = static_library('xserver_fb',
wfb_args = '-DFB_ACCESS_WRAPPER' wfb_args = '-DFB_ACCESS_WRAPPER'
libxserver_wfb = static_library('xserver_wfb', libxserver_wfb = static_library('libxserver_wfb',
srcs_fb, srcs_fb,
c_args: wfb_args, c_args: wfb_args,
include_directories: inc, include_directories: inc,

View File

@ -128,10 +128,13 @@ __glXSendReply(ClientPtr client, const void *data, size_t elements,
.retval = retval, .retval = retval,
}; };
/* Single element goes in reply padding; don't leak uninitialized data. */ /* It is faster on almost always every architecture to just copy the 8
if (elements == 1) { * bytes, even when not necessary, than check to see of the value of
(void) memcpy(&reply.pad3, data, element_size); * elements requires it. Copying the data when not needed will do no
} * harm.
*/
(void) memcpy(&reply.pad3, data, 8);
WriteToClient(client, sizeof(xGLXSingleReply), &reply); WriteToClient(client, sizeof(xGLXSingleReply), &reply);
if (reply_ints != 0) { if (reply_ints != 0) {
@ -173,10 +176,13 @@ __glXSendReplySwap(ClientPtr client, const void *data, size_t elements,
.retval = bswap_32(retval), .retval = bswap_32(retval),
}; };
/* Single element goes in reply padding; don't leak uninitialized data. */ /* It is faster on almost always every architecture to just copy the 8
if (elements == 1) { * bytes, even when not necessary, than check to see of the value of
(void) memcpy(&reply.pad3, data, element_size); * elements requires it. Copying the data when not needed will do no
} * harm.
*/
(void) memcpy(&reply.pad3, data, 8);
WriteToClient(client, sizeof(xGLXSingleReply), &reply); WriteToClient(client, sizeof(xGLXSingleReply), &reply);
if (reply_ints != 0) { if (reply_ints != 0) {

View File

@ -32,7 +32,7 @@ srcs_glx = [
libxserver_glx = [] libxserver_glx = []
if build_glx if build_glx
libxserver_glx = static_library('xserver_glx', libxserver_glx = static_library('libxserver_glx',
srcs_glx, srcs_glx,
include_directories: inc, include_directories: inc,
dependencies: [ dependencies: [
@ -68,7 +68,7 @@ hdrs_vnd = [
libglxvnd = [] libglxvnd = []
if build_glx if build_glx
libglxvnd = static_library('glxvnd', libglxvnd = static_library('libglxvnd',
srcs_vnd, srcs_vnd,
include_directories: inc, include_directories: inc,
dependencies: [ dependencies: [

View File

@ -105,7 +105,7 @@ __glGetMap_size(GLenum target, GLenum query)
} }
break; break;
} }
return 0; return -1;
} }
GLint GLint
@ -164,7 +164,7 @@ __glGetPixelMap_size(GLenum map)
query = GL_PIXEL_MAP_A_TO_A_SIZE; query = GL_PIXEL_MAP_A_TO_A_SIZE;
break; break;
default: default:
return 0; return -1;
} }
glGetIntegerv(query, &size); glGetIntegerv(query, &size);
return size; return size;

View File

@ -259,6 +259,13 @@ ddxGiveUp(enum ExitCode error)
} }
} }
#ifdef __APPLE__
void
DarwinHandleGUI(int argc, char *argv[])
{
}
#endif
void void
OsVendorInit(void) OsVendorInit(void)
{ {

View File

@ -39,12 +39,7 @@ _X_EXPORT void xf86MsgVerb(MessageType type, int verb, const char *format, ...)
void void
xf86MsgVerb(MessageType type, int verb, const char *format, ...) xf86MsgVerb(MessageType type, int verb, const char *format, ...)
{ {
static char reportxf86MsgVerb = 1; xf86NVidiaBugInternalFunc("xf86MsgVerb()");
if (reportxf86MsgVerb) {
xf86NVidiaBugInternalFunc("xf86MsgVerb()");
reportxf86MsgVerb = 0;
}
va_list ap; va_list ap;
va_start(ap, format); va_start(ap, format);

View File

@ -154,6 +154,13 @@ ddxGiveUp(enum ExitCode error)
xnestCloseDisplay(); xnestCloseDisplay();
} }
#ifdef __APPLE__
void
DarwinHandleGUI(int argc, char *argv[])
{
}
#endif
void void
OsVendorInit(void) OsVendorInit(void)
{ {

View File

@ -690,6 +690,7 @@ SNotifyEvent(xAppleWMNotifyEvent *from, xAppleWMNotifyEvent *to)
static int static int
SProcAppleWMQueryVersion(register ClientPtr client) SProcAppleWMQueryVersion(register ClientPtr client)
{ {
REQUEST(xAppleWMQueryVersionReq);
return ProcAppleWMQueryVersion(client); return ProcAppleWMQueryVersion(client);
} }

View File

@ -50,7 +50,7 @@
* needs and simply execs the startup script which then execs the main binary. * needs and simply execs the startup script which then execs the main binary.
*/ */
static char *executable_path(void) { static char *executable_path() {
uint32_t bufsize = PATH_MAX; uint32_t bufsize = PATH_MAX;
char *buf = calloc(1, bufsize); char *buf = calloc(1, bufsize);

View File

@ -394,6 +394,7 @@ SNotifyEvent(xAppleDRINotifyEvent *from,
static int static int
SProcAppleDRIQueryVersion(register ClientPtr client) SProcAppleDRIQueryVersion(register ClientPtr client)
{ {
REQUEST(xAppleDRIQueryVersionReq);
return ProcAppleDRIQueryVersion(client); return ProcAppleDRIQueryVersion(client);
} }

View File

@ -3,10 +3,10 @@ project('xserver', 'c',
'buildtype=debugoptimized', 'buildtype=debugoptimized',
'c_std=gnu99', 'c_std=gnu99',
], ],
version: '25.0.0.4', version: '25.0.0.2',
meson_version: '>= 0.58.0', meson_version: '>= 0.58.0',
) )
release_date = '2025-07-04' release_date = '2025-06-30'
add_project_arguments('-DHAVE_DIX_CONFIG_H', language: ['c', 'objc']) add_project_arguments('-DHAVE_DIX_CONFIG_H', language: ['c', 'objc'])
cc = meson.get_compiler('c') cc = meson.get_compiler('c')
@ -777,8 +777,7 @@ endif
subdir('hw') subdir('hw')
build_tests = get_option('tests') and host_machine.system() != 'windows' if host_machine.system() != 'windows'
if build_tests
subdir('test') subdir('test')
endif endif

View File

@ -110,8 +110,6 @@ option('sha1', type: 'combo', choices: ['libc', 'CommonCrypto', 'CryptoAPI', 'li
description: 'SHA1 implementation') description: 'SHA1 implementation')
option('xf86-input-inputtest', type: 'boolean', value: true, option('xf86-input-inputtest', type: 'boolean', value: true,
description: 'Test input driver support on Xorg') description: 'Test input driver support on Xorg')
option('tests', type: 'boolean', value: true,
description: 'Build tests for the X server on platforms that support it')
option('dri1', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', description: 'Build DRI1 extension (default: auto)') option('dri1', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', description: 'Build DRI1 extension (default: auto)')
option('dri2', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', description: 'Build DRI2 extension (default: auto)') option('dri2', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', description: 'Build DRI2 extension (default: auto)')

View File

@ -40,7 +40,7 @@ hdrs_mi = [
'mizerarc.h', 'mizerarc.h',
] ]
libxserver_mi = static_library('xserver_mi', libxserver_mi = static_library('libxserver_mi',
srcs_mi, srcs_mi,
include_directories: inc, include_directories: inc,
dependencies: [ dependencies: [

View File

@ -141,7 +141,7 @@ miPointerInitialize(ScreenPtr pScreen,
pScreenPriv->screenFuncs = screenFuncs; pScreenPriv->screenFuncs = screenFuncs;
pScreenPriv->waitForUpdate = waitForUpdate; pScreenPriv->waitForUpdate = waitForUpdate;
pScreenPriv->showTransparent = FALSE; pScreenPriv->showTransparent = FALSE;
dixScreenHookPostClose(pScreen, miPointerCloseScreen); dixScreenHookClose(pScreen, miPointerCloseScreen);
dixSetPrivate(&pScreen->devPrivates, miPointerScreenKey, pScreenPriv); dixSetPrivate(&pScreen->devPrivates, miPointerScreenKey, pScreenPriv);
/* /*
* set up screen cursor method table * set up screen cursor method table
@ -169,7 +169,7 @@ static void miPointerCloseScreen(CallbackListPtr *pcbl, ScreenPtr pScreen, void
{ {
SetupScreen(pScreen); SetupScreen(pScreen);
dixScreenUnhookPostClose(pScreen, miPointerCloseScreen); dixScreenUnhookClose(pScreen, miPointerCloseScreen);
free((void *) pScreenPriv); free((void *) pScreenPriv);
dixSetPrivate(&pScreen->devPrivates, miPointerScreenKey, NULL); dixSetPrivate(&pScreen->devPrivates, miPointerScreenKey, NULL);
FreeEventList(mipointermove_events, GetMaximumEventsNum()); FreeEventList(mipointermove_events, GetMaximumEventsNum());

View File

@ -7,7 +7,7 @@ hdrs_miext_damage = [
'damagestr.h', 'damagestr.h',
] ]
libxserver_miext_damage = static_library('xserver_miext_damage', libxserver_miext_damage = static_library('libxserver_miext_damage',
srcs_miext_damage, srcs_miext_damage,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -6,7 +6,7 @@ srcs_miext_rootless = [
'rootlessWindow.c', 'rootlessWindow.c',
] ]
libxserver_miext_rootless = static_library('xserver_miext_rootless', libxserver_miext_rootless = static_library('libxserver_miext_rootless',
srcs_miext_rootless, srcs_miext_rootless,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -29,7 +29,7 @@ hdrs_miext_shadow = [
'shadow.h', 'shadow.h',
] ]
libxserver_miext_shadow = static_library('xserver_miext_shadow', libxserver_miext_shadow = static_library('libxserver_miext_shadow',
srcs_miext_shadow, srcs_miext_shadow,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -14,7 +14,7 @@ if build_dri3
srcs_miext_sync += 'misyncshm.c' srcs_miext_sync += 'misyncshm.c'
endif endif
libxserver_miext_sync = static_library('xserver_miext_sync', libxserver_miext_sync = static_library('libxserver_miext_sync',
srcs_miext_sync, srcs_miext_sync,
include_directories: inc, include_directories: inc,
dependencies: [ dependencies: [

View File

@ -79,7 +79,7 @@ endif
libxlibc = [] libxlibc = []
if srcs_libc.length() > 0 if srcs_libc.length() > 0
libxlibc = static_library('xlibc', libxlibc = static_library('libxlibc',
srcs_libc, srcs_libc,
include_directories: inc, include_directories: inc,
dependencies: [ dependencies: [
@ -92,7 +92,7 @@ if enable_input_thread
os_dep += cc.find_library('pthread') os_dep += cc.find_library('pthread')
endif endif
libxserver_os = static_library('xserver_os', libxserver_os = static_library('libxserver_os',
srcs_os, srcs_os,
include_directories: inc, include_directories: inc,
dependencies: [ dependencies: [

View File

@ -15,7 +15,7 @@ hdrs_present = [
'present.h', 'present.h',
] ]
libxserver_present = static_library('xserver_present', libxserver_present = static_library('libxserver_present',
srcs_present, srcs_present,
include_directories: inc, include_directories: inc,
dependencies: [ dependencies: [

View File

@ -1,4 +1,4 @@
libxserver_pseudoramix = static_library('xserver_pseudoramiX', libxserver_pseudoramix = static_library('libxserver_pseudoramiX',
'pseudoramiX.c', 'pseudoramiX.c',
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -25,7 +25,7 @@ if build_xinerama
srcs_randr += 'rrxinerama.c' srcs_randr += 'rrxinerama.c'
endif endif
libxserver_randr = static_library('xserver_randr', libxserver_randr = static_library('libxserver_randr',
srcs_randr, srcs_randr,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -3,7 +3,7 @@ srcs_record = [
'set.c', 'set.c',
] ]
libxserver_record = static_library('xserver_record', libxserver_record = static_library('libxserver_record',
srcs_record, srcs_record,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -19,7 +19,7 @@ hdrs_render = [
'picturestr.h', 'picturestr.h',
] ]
libxserver_render = static_library('xserver_render', libxserver_render = static_library('libxserver_render',
srcs_render, srcs_render,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -7,7 +7,7 @@ srcs_xfixes = [
'xfixes.c', 'xfixes.c',
] ]
libxserver_xfixes = static_library('xserver_xfixes', libxserver_xfixes = static_library('libxserver_xfixes',
srcs_xfixes, srcs_xfixes,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,

View File

@ -23,7 +23,7 @@ srcs_xkb = [
'XKBMAlloc.c', 'XKBMAlloc.c',
] ]
libxserver_xkb = static_library('xserver_xkb', libxserver_xkb = static_library('libxserver_xkb',
srcs_xkb, srcs_xkb,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,
@ -35,7 +35,7 @@ srcs_xkb_stubs = [
'ddxVT.c', 'ddxVT.c',
] ]
libxserver_xkb_stubs = static_library('xserver_xkb_stubs', libxserver_xkb_stubs = static_library('libxserver_xkb_stubs',
srcs_xkb_stubs, srcs_xkb_stubs,
include_directories: inc, include_directories: inc,
dependencies: common_dep, dependencies: common_dep,