xserver: Branch 'master' - 3 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 17 21:06:05 UTC 2025
Xext/saver.c | 72 +++++++++++++++++++++++++++++++----------------------------
1 file changed, 38 insertions(+), 34 deletions(-)
New commits:
commit 2a0f6ec92012c519f4d138f6809b89cff7ca2f5c
Merge: 3e168d8e6 5ad38ac58
Author: Marge Bot <marge-bot at fdo.invalid>
Date: Tue Jun 17 21:06:02 2025 +0000
Merge branch 'revert-1591' into 'master'
Revert parts of !1591 ("Xext: saver: misc cleanups & tiny bugfix (#1704)")
See merge request xorg/xserver!2023
commit 5ad38ac585b6ce0a101928b5602ef90750be2cb6
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date: Sun Jun 15 12:46:52 2025 -0700
Revert "Xext: saver: skip unneeded zero init and zero-swapping"
This reverts commit 40469a9d519ff286ec6ad006c6ae1f07f828072a.
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2023>
diff --git a/Xext/saver.c b/Xext/saver.c
index 5691fbbb2..1f5f82c35 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -601,6 +601,7 @@ ProcScreenSaverQueryVersion(ClientPtr client)
xScreenSaverQueryVersionReply rep = {
.type = X_Reply,
.sequenceNumber = client->sequence,
+ .length = 0,
.majorVersion = SERVER_SAVER_MAJOR_VERSION,
.minorVersion = SERVER_SAVER_MINOR_VERSION
};
@@ -609,6 +610,7 @@ ProcScreenSaverQueryVersion(ClientPtr client)
if (client->swapped) {
swaps(&rep.sequenceNumber);
+ swapl(&rep.length);
swaps(&rep.majorVersion);
swaps(&rep.minorVersion);
}
@@ -620,6 +622,7 @@ static int
ProcScreenSaverQueryInfo(ClientPtr client)
{
REQUEST(xScreenSaverQueryInfoReq);
+ xScreenSaverQueryInfoReply rep;
int rc;
ScreenSaverStuffPtr pSaver;
DrawablePtr pDraw;
@@ -641,24 +644,30 @@ ProcScreenSaverQueryInfo(ClientPtr client)
UpdateCurrentTime();
lastInput = GetTimeInMillis() - LastEventTime(XIAllDevices).milliseconds;
- xScreenSaverQueryInfoReply rep = {
+ rep = (xScreenSaverQueryInfoReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
+ .length = 0,
.window = pSaver->wid
};
if (screenIsSaved != SCREEN_SAVER_OFF) {
rep.state = ScreenSaverOn;
if (ScreenSaverTime)
rep.tilOrSince = lastInput - ScreenSaverTime;
+ else
+ rep.tilOrSince = 0;
}
else {
if (ScreenSaverTime) {
rep.state = ScreenSaverOff;
- if (ScreenSaverTime >= lastInput)
+ if (ScreenSaverTime < lastInput)
+ rep.tilOrSince = 0;
+ else
rep.tilOrSince = ScreenSaverTime - lastInput;
}
else {
rep.state = ScreenSaverDisabled;
+ rep.tilOrSince = 0;
}
}
rep.idle = lastInput;
@@ -671,6 +680,7 @@ ProcScreenSaverQueryInfo(ClientPtr client)
rep.kind = ScreenSaverInternal;
if (client->swapped) {
swaps(&rep.sequenceNumber);
+ swapl(&rep.length);
swapl(&rep.window);
swapl(&rep.tilOrSince);
swapl(&rep.idle);
commit 74182c52e98b36857c025c7ff71c5ab5fe91f3d4
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date: Sun Jun 15 12:46:41 2025 -0700
Revert "Xext: saver: use explicit switch/case for dispatching"
This reverts commit 8236ef3b5613d4243f6809f33f9984d11822a7ca.
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2023>
diff --git a/Xext/saver.c b/Xext/saver.c
index ad39a57aa..5691fbbb2 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -1242,26 +1242,23 @@ ProcScreenSaverSuspend(ClientPtr client)
return Success;
}
+static int (*NormalVector[]) (ClientPtr /* client */ ) = {
+ ProcScreenSaverQueryVersion,
+ ProcScreenSaverQueryInfo,
+ ProcScreenSaverSelectInput,
+ ProcScreenSaverSetAttributes,
+ ProcScreenSaverUnsetAttributes,
+ ProcScreenSaverSuspend,
+};
+
static int
ProcScreenSaverDispatch(ClientPtr client)
{
REQUEST(xReq);
- switch (stuff->data) {
- case X_ScreenSaverQueryVersion:
- return ProcScreenSaverQueryVersion(client);
- case X_ScreenSaverQueryInfo:
- return ProcScreenSaverQueryInfo(client);
- case X_ScreenSaverSelectInput:
- return ProcScreenSaverSelectInput(client);
- case X_ScreenSaverSetAttributes:
- return ProcScreenSaverSetAttributes(client);
- case X_ScreenSaverUnsetAttributes:
- return ProcScreenSaverUnsetAttributes(client);
- case X_ScreenSaverSuspend:
- return ProcScreenSaverSuspend(client);
- default:
- return BadRequest;
- }
+
+ if (stuff->data < ARRAY_SIZE(NormalVector))
+ return (*NormalVector[stuff->data]) (client);
+ return BadRequest;
}
static int _X_COLD
@@ -1318,26 +1315,23 @@ SProcScreenSaverSuspend(ClientPtr client)
return ProcScreenSaverSuspend(client);
}
+static int (*SwappedVector[]) (ClientPtr /* client */ ) = {
+ ProcScreenSaverQueryVersion,
+ SProcScreenSaverQueryInfo,
+ SProcScreenSaverSelectInput,
+ SProcScreenSaverSetAttributes,
+ SProcScreenSaverUnsetAttributes,
+ SProcScreenSaverSuspend,
+};
+
static int _X_COLD
SProcScreenSaverDispatch(ClientPtr client)
{
REQUEST(xReq);
- switch (stuff->data) {
- case X_ScreenSaverQueryVersion:
- return ProcScreenSaverQueryVersion(client);
- case X_ScreenSaverQueryInfo:
- return SProcScreenSaverQueryInfo(client);
- case X_ScreenSaverSelectInput:
- return SProcScreenSaverSelectInput(client);
- case X_ScreenSaverSetAttributes:
- return SProcScreenSaverSetAttributes(client);
- case X_ScreenSaverUnsetAttributes:
- return SProcScreenSaverUnsetAttributes(client);
- case X_ScreenSaverSuspend:
- return SProcScreenSaverSuspend(client);
- default:
- return BadRequest;
- }
+
+ if (stuff->data < ARRAY_SIZE(NormalVector))
+ return (*SwappedVector[stuff->data]) (client);
+ return BadRequest;
}
void
More information about the xorg-commit
mailing list