Description: Correct 64 Architecture implementation of 32 bit data Author: Chris Donoghue Bug-Debian: http://bugs.debian.org/362068 --- wmctrl-1.07.orig/main.c +++ wmctrl-1.07/main.c @@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis * * long_length = Specifies the length in 32-bit multiples of the * data to be retrieved. + * + * NOTE: see + * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html + * In particular: + * + * When the X window system was ported to 64-bit architectures, a + * rather peculiar design decision was made. 32-bit quantities such + * as Window IDs, atoms, etc, were kept as longs in the client side + * APIs, even when long was changed to 64 bits. + * */ if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False, xa_prop_type, &xa_ret_type, &ret_format, @@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis /* null terminate the result to make string handling easier */ tmp_size = (ret_format / 8) * ret_nitems; + /* Correct 64 Architecture implementation of 32 bit data */ + if(ret_format==32) tmp_size *= sizeof(long)/4; ret = g_malloc(tmp_size + 1); memcpy(ret, ret_prop, tmp_size); ret[tmp_size] = '\0'; ommit/gnu/services/lightdm.scm?id=87aef1a9b8cc794c7d32336f23a99b58c05be5a5'>commitdiff
path: root/gnu/services/lightdm.scm
AgeCommit message (Expand)Author
2024-04-28services: lightdm: Use ‘make-forkexec-constructor’....Ludovic Courtès
2023-05-11system: pam: Let PAM extensions add shepherd requirements....Josselin Poiret
2023-02-08services: lightdm: Sync documentation with source....Bruno Victal
2022-11-19services: lightdm: Do not use GOOPS....Ludovic Courtès
2022-10-23gnu: Fix typos....Vagrant Cascadian
2022-08-28services: Add lightdm-service-type....Maxim Cournoyer