Summary: | x11-terms/aterm-1.0.1-r6 - command.c: error: passing argument 3 of read_32bit_property from incompatible pointer type [-Wincompatible-pointer-types] | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Ilia Mirkin <imirkin> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | imirkin, mattst88 |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 870412, 941869 | ||
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.clang.tar.xz etc.portage.tar.xz logs.tar.xz qlist-info.txt temp.tar.xz x11-terms:aterm-1.0.1-r6:20231221-151117.log |
Description
Toralf Förster
2023-12-21 15:31:29 UTC
Created attachment 880156 [details]
emerge-info.txt
Created attachment 880157 [details]
emerge-history.txt
Created attachment 880158 [details]
environment
Created attachment 880159 [details]
etc.clang.tar.xz
Created attachment 880160 [details]
etc.portage.tar.xz
Created attachment 880161 [details]
logs.tar.xz
Created attachment 880162 [details]
qlist-info.txt
Created attachment 880163 [details]
temp.tar.xz
Created attachment 880164 [details]
x11-terms:aterm-1.0.1-r6:20231221-151117.log
Looks like the application is doing something slightly-dodgy-but-works-in-practice. Client-side, Pixmap is "unsigned long", which is 64-bit on amd64. I think server-side it's a CARD32, and I'm not sure that these IDs can ever be > 32bit. The application also uses CARD32 for some things inexplicably, rather than e.g. XID. read_32bit_property calls XGetWindowProperty and ensures that the "actual_format" is 32 before writing to the CARD32 ptr. Except we're passing in a Pixmap*, which is a pointer to a 64-bit value. Since amd64 is LE, the bottom bits get set correctly, and the upper bits are garbage. But I suspect they end up being ignored in practice down the line. This logic relates to transparency, and I know that transparency works -- I use it. So I'm thinking just change the Pixmap to a CARD32 and trudge along. The alternative is switching everything to use XID from CARD32, but that'd be more invasive. |