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'; >diff
path: root/scripts
AgeCommit message (Expand)Author
2020-12-11build: 'script/guix' uses our own 'guile' executable....Ludovic Courtès
2018-06-09pull: Install the new Guix in a profile....Ludovic Courtès
2018-01-28guix: Let Emacs detect “scripts/guix.in” appropriate mode....Mathieu Lirzin
2018-01-23guix: Refactor script....Mathieu Lirzin
2018-01-23build: Expand ‘scripts/guix’ at Make time....Mathieu Lirzin