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'; able>
summaryrefslogtreecommitdiff
path: root/test/data
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2021-12-03 21:09:36 +0100
committerWojtek Kosior <koszko@koszko.org>2021-12-03 21:10:02 +0100
commit44bb618aa99fa99a6df81e6a2b1dbec7a720f442 (patch)
treeb8522df2d6282789b7c8567b29e04877298f4384 /test/data
parent5c583de820c0d5f666a830ca1e8205fe7d55e61e (diff)
parent256c046be5d790391e66be9b960ef32673be4f44 (diff)
downloadbrowser-extension-44bb618aa99fa99a6df81e6a2b1dbec7a720f442.tar.gz
browser-extension-44bb618aa99fa99a6df81e6a2b1dbec7a720f442.zip
merge `master` (license notices) and `koszko` (v1.0 development)
Diffstat (limited to 'test/data')
0 files changed, 0 insertions, 0 deletions