Discussion:
[Xcb] [PATCH xcb/proto] screensaver: Use CARD32 encoding for ScreenSaverSuspend 'suspend'
Julien Cristau
2018-03-20 19:56:30 UTC
Permalink
I think this belongs on ***@.

Cheers,
Julien
This was set to BOOL, but the protocol headers used Bool, presumably a
32-bit type. We're switching everything to CARD32 as the best option
for compatibility.
---
src/screensaver.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/screensaver.xml b/src/screensaver.xml
index 8d5abb4..c546f94 100644
--- a/src/screensaver.xml
+++ b/src/screensaver.xml
@@ -168,8 +168,7 @@ Draft Standard Version 1.1
<!-- version 1.1 -->
<request name="Suspend" opcode="5">
- <field type="BOOL" name="suspend" />
- <pad bytes="3" />
+ <field type="CARD32" name="suspend" />
</request>
<!-- Events -->
--
2.16.2
_______________________________________________
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel
Uli Schlachter
2018-03-24 10:42:55 UTC
Permalink
Ah, that explains why Keith pushed a patch on 14th that was never on the
mailing list. (= This patch is already merged.)

Oh and while we are at it:
I cannot find the exact definition of the struct that the X server uses
for this, but it definitely only compares the "suspend" member of the
incoming request against "TRUE" and "FALSE". Presumably, these have
values 0 and 1. I see two problems with this:

a) SProcScreenSaverSuspend() only swaps the request length, not the boolean
b) What happens if I just send directly a value of 42?

For (b), it seems like the behaviour depends on whether the sending
client already suspended the screen saver before or not. In the first
case, 42 is interpreted as FALSE while in the second as TRUE.

Cheers,
Uli
Post by Julien Cristau
Cheers,
Julien
This was set to BOOL, but the protocol headers used Bool, presumably a
32-bit type. We're switching everything to CARD32 as the best option
for compatibility.
---
src/screensaver.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/screensaver.xml b/src/screensaver.xml
index 8d5abb4..c546f94 100644
--- a/src/screensaver.xml
+++ b/src/screensaver.xml
@@ -168,8 +168,7 @@ Draft Standard Version 1.1
<!-- version 1.1 -->
<request name="Suspend" opcode="5">
- <field type="BOOL" name="suspend" />
- <pad bytes="3" />
+ <field type="CARD32" name="suspend" />
</request>
<!-- Events -->
--
2.16.2
_______________________________________________
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel
_______________________________________________
Xcb mailing list
https://lists.freedesktop.org/mailman/listinfo/xcb
--
99 little bugs in the code
99 little bugs in the code
Take one down, patch it around
117 little bugs in the code
-- @irqed
Loading...