Compare commits
12 Commits
pr/25.0-xf
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
d403cbd25c | ||
|
a46fd9f16e | ||
|
fc9bd6b175 | ||
|
d338bf6e68 | ||
|
c6777fe48e | ||
|
2f46a02217 | ||
|
93013224b4 | ||
|
74d5b7bb05 | ||
|
160ab343ea | ||
|
2069db50e7 | ||
|
7ca8b37ab1 | ||
|
5b810bac5e |
|
@ -11,14 +11,6 @@
|
||||||
#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);
|
||||||
|
|
|
@ -128,13 +128,10 @@ __glXSendReply(ClientPtr client, const void *data, size_t elements,
|
||||||
.retval = retval,
|
.retval = retval,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* It is faster on almost always every architecture to just copy the 8
|
/* Single element goes in reply padding; don't leak uninitialized data. */
|
||||||
* bytes, even when not necessary, than check to see of the value of
|
if (elements == 1) {
|
||||||
* elements requires it. Copying the data when not needed will do no
|
(void) memcpy(&reply.pad3, data, element_size);
|
||||||
* 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) {
|
||||||
|
@ -176,13 +173,10 @@ __glXSendReplySwap(ClientPtr client, const void *data, size_t elements,
|
||||||
.retval = bswap_32(retval),
|
.retval = bswap_32(retval),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* It is faster on almost always every architecture to just copy the 8
|
/* Single element goes in reply padding; don't leak uninitialized data. */
|
||||||
* bytes, even when not necessary, than check to see of the value of
|
if (elements == 1) {
|
||||||
* elements requires it. Copying the data when not needed will do no
|
(void) memcpy(&reply.pad3, data, element_size);
|
||||||
* 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) {
|
||||||
|
|
|
@ -105,7 +105,7 @@ __glGetMap_size(GLenum target, GLenum query)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return -1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
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 -1;
|
return 0;
|
||||||
}
|
}
|
||||||
glGetIntegerv(query, &size);
|
glGetIntegerv(query, &size);
|
||||||
return size;
|
return size;
|
||||||
|
|
|
@ -370,6 +370,23 @@ ddxProcessArgument(int argc, char **argv, int i)
|
||||||
return KdProcessArgument(argc, argv, i);
|
return KdProcessArgument(argc, argv, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
EphyrInit(void)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* make sure at least one screen
|
||||||
|
* has been added to the system.
|
||||||
|
*/
|
||||||
|
if (!KdCardInfoLast()) {
|
||||||
|
processScreenArg("640x480", NULL);
|
||||||
|
}
|
||||||
|
return hostx_init();
|
||||||
|
}
|
||||||
|
|
||||||
|
KdOsFuncs EphyrOsFuncs = {
|
||||||
|
.Init = EphyrInit,
|
||||||
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
OsVendorInit(void)
|
OsVendorInit(void)
|
||||||
{
|
{
|
||||||
|
@ -381,12 +398,7 @@ OsVendorInit(void)
|
||||||
if (hostx_want_host_cursor())
|
if (hostx_want_host_cursor())
|
||||||
ephyrFuncs.initCursor = &ephyrCursorInit;
|
ephyrFuncs.initCursor = &ephyrCursorInit;
|
||||||
|
|
||||||
if (serverGeneration == 1) {
|
KdOsInit(&EphyrOsFuncs);
|
||||||
if (!KdCardInfoLast()) {
|
|
||||||
processScreenArg("640x480", NULL);
|
|
||||||
}
|
|
||||||
hostx_init();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
KdCardFuncs ephyrFuncs = {
|
KdCardFuncs ephyrFuncs = {
|
||||||
|
|
|
@ -91,6 +91,14 @@ const char *kdGlobalXkbLayout = NULL;
|
||||||
const char *kdGlobalXkbVariant = NULL;
|
const char *kdGlobalXkbVariant = NULL;
|
||||||
const char *kdGlobalXkbOptions = NULL;
|
const char *kdGlobalXkbOptions = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Carry arguments from InitOutput through driver initialization
|
||||||
|
* to KdScreenInit
|
||||||
|
*/
|
||||||
|
|
||||||
|
KdOsFuncs *kdOsFuncs = NULL;
|
||||||
|
|
||||||
void
|
void
|
||||||
KdDisableScreen(ScreenPtr pScreen)
|
KdDisableScreen(ScreenPtr pScreen)
|
||||||
{
|
{
|
||||||
|
@ -517,6 +525,19 @@ KdProcessArgument(int argc, char **argv, int i)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
KdOsInit(KdOsFuncs * pOsFuncs)
|
||||||
|
{
|
||||||
|
kdOsFuncs = pOsFuncs;
|
||||||
|
if (pOsFuncs) {
|
||||||
|
if (serverGeneration == 1) {
|
||||||
|
KdDoSwitchCmd("start");
|
||||||
|
if (pOsFuncs->Init)
|
||||||
|
(*pOsFuncs->Init) ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
KdAllocatePrivates(ScreenPtr pScreen)
|
KdAllocatePrivates(ScreenPtr pScreen)
|
||||||
{
|
{
|
||||||
|
|
|
@ -278,6 +278,16 @@ int KdAddConfigKeyboard(char *pointer);
|
||||||
int KdAddKeyboard(KdKeyboardInfo * ki);
|
int KdAddKeyboard(KdKeyboardInfo * ki);
|
||||||
void KdRemoveKeyboard(KdKeyboardInfo * ki);
|
void KdRemoveKeyboard(KdKeyboardInfo * ki);
|
||||||
|
|
||||||
|
typedef struct _KdOsFuncs {
|
||||||
|
int (*Init) (void); /* Only called when the X server is started, when serverGeneration == 1 */
|
||||||
|
void (*Enable) (void);
|
||||||
|
Bool (*SpecialKey) (KeySym);
|
||||||
|
void (*Disable) (void);
|
||||||
|
void (*Fini) (void);
|
||||||
|
void (*pollEvents) (void);
|
||||||
|
void (*Bell) (int, int, int);
|
||||||
|
} KdOsFuncs;
|
||||||
|
|
||||||
typedef struct _KdPointerMatrix {
|
typedef struct _KdPointerMatrix {
|
||||||
int matrix[2][3];
|
int matrix[2][3];
|
||||||
} KdPointerMatrix;
|
} KdPointerMatrix;
|
||||||
|
@ -289,6 +299,8 @@ extern DevPrivateKeyRec kdScreenPrivateKeyRec;
|
||||||
extern Bool kdEmulateMiddleButton;
|
extern Bool kdEmulateMiddleButton;
|
||||||
extern Bool kdDisableZaphod;
|
extern Bool kdDisableZaphod;
|
||||||
|
|
||||||
|
extern KdOsFuncs *kdOsFuncs;
|
||||||
|
|
||||||
#define KdGetScreenPriv(pScreen) ((KdPrivScreenPtr) \
|
#define KdGetScreenPriv(pScreen) ((KdPrivScreenPtr) \
|
||||||
dixLookupPrivate(&(pScreen)->devPrivates, kdScreenPrivateKey))
|
dixLookupPrivate(&(pScreen)->devPrivates, kdScreenPrivateKey))
|
||||||
#define KdSetScreenPriv(pScreen,v) \
|
#define KdSetScreenPriv(pScreen,v) \
|
||||||
|
@ -345,6 +357,9 @@ void
|
||||||
int
|
int
|
||||||
KdProcessArgument(int argc, char **argv, int i);
|
KdProcessArgument(int argc, char **argv, int i);
|
||||||
|
|
||||||
|
void
|
||||||
|
KdOsInit(KdOsFuncs * pOsFuncs);
|
||||||
|
|
||||||
void
|
void
|
||||||
KdOsAddInputDrivers(void);
|
KdOsAddInputDrivers(void);
|
||||||
|
|
||||||
|
|
|
@ -259,13 +259,6 @@ ddxGiveUp(enum ExitCode error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __APPLE__
|
|
||||||
void
|
|
||||||
DarwinHandleGUI(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
OsVendorInit(void)
|
OsVendorInit(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,7 +39,12 @@ _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;
|
||||||
|
|
||||||
|
if (reportxf86MsgVerb) {
|
||||||
xf86NVidiaBugInternalFunc("xf86MsgVerb()");
|
xf86NVidiaBugInternalFunc("xf86MsgVerb()");
|
||||||
|
reportxf86MsgVerb = 0;
|
||||||
|
}
|
||||||
|
|
||||||
va_list ap;
|
va_list ap;
|
||||||
va_start(ap, format);
|
va_start(ap, format);
|
||||||
|
|
|
@ -154,13 +154,6 @@ ddxGiveUp(enum ExitCode error)
|
||||||
xnestCloseDisplay();
|
xnestCloseDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __APPLE__
|
|
||||||
void
|
|
||||||
DarwinHandleGUI(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
OsVendorInit(void)
|
OsVendorInit(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -690,7 +690,6 @@ 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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() {
|
static char *executable_path(void) {
|
||||||
uint32_t bufsize = PATH_MAX;
|
uint32_t bufsize = PATH_MAX;
|
||||||
char *buf = calloc(1, bufsize);
|
char *buf = calloc(1, bufsize);
|
||||||
|
|
||||||
|
|
|
@ -394,7 +394,6 @@ SNotifyEvent(xAppleDRINotifyEvent *from,
|
||||||
static int
|
static int
|
||||||
SProcAppleDRIQueryVersion(register ClientPtr client)
|
SProcAppleDRIQueryVersion(register ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xAppleDRIQueryVersionReq);
|
|
||||||
return ProcAppleDRIQueryVersion(client);
|
return ProcAppleDRIQueryVersion(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,10 @@ project('xserver', 'c',
|
||||||
'buildtype=debugoptimized',
|
'buildtype=debugoptimized',
|
||||||
'c_std=gnu99',
|
'c_std=gnu99',
|
||||||
],
|
],
|
||||||
version: '25.0.0.3',
|
version: '25.0.0.4',
|
||||||
meson_version: '>= 0.58.0',
|
meson_version: '>= 0.58.0',
|
||||||
)
|
)
|
||||||
release_date = '2025-07-02'
|
release_date = '2025-07-04'
|
||||||
|
|
||||||
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')
|
||||||
|
|
|
@ -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;
|
||||||
dixScreenHookClose(pScreen, miPointerCloseScreen);
|
dixScreenHookPostClose(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);
|
||||||
|
|
||||||
dixScreenUnhookClose(pScreen, miPointerCloseScreen);
|
dixScreenUnhookPostClose(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());
|
||||||
|
|
Loading…
Reference in New Issue