- fixed a bug in get-window-attributes.
This commit is contained in:
parent
a14d2fbadf
commit
546f0d828f
|
@ -131,9 +131,10 @@ s48_value scx_Get_Window_Attributes(s48_value Xdisplay, s48_value Xwindow) {
|
||||||
//S48_VECTOR_SET(res, 22, s48_enter_fixnum((long)WA.screen));
|
//S48_VECTOR_SET(res, 22, s48_enter_fixnum((long)WA.screen));
|
||||||
// WA.screen not yet supported
|
// WA.screen not yet supported
|
||||||
res = s48_cons(s48_enter_integer((1L<<23) - 1), res);
|
res = s48_cons(s48_enter_integer((1L<<23) - 1), res);
|
||||||
|
|
||||||
|
S48_GC_UNPROTECT();
|
||||||
}
|
}
|
||||||
|
|
||||||
S48_GC_UNPROTECT();
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +151,7 @@ s48_value Changes_To_XWindowChanges(s48_value changes, XWindowChanges* WC) {
|
||||||
if (mask & CWHeight)
|
if (mask & CWHeight)
|
||||||
WC->height = s48_extract_integer(S48_VECTOR_REF(v, 3));
|
WC->height = s48_extract_integer(S48_VECTOR_REF(v, 3));
|
||||||
if (mask & CWBorderWidth)
|
if (mask & CWBorderWidth)
|
||||||
WC->height = s48_extract_integer(S48_VECTOR_REF(v, 4));
|
WC->border_width = s48_extract_integer(S48_VECTOR_REF(v, 4));
|
||||||
if (mask & CWSibling)
|
if (mask & CWSibling)
|
||||||
WC->sibling = SCX_EXTRACT_WINDOW(S48_VECTOR_REF(v, 5));
|
WC->sibling = SCX_EXTRACT_WINDOW(S48_VECTOR_REF(v, 5));
|
||||||
if (mask & CWStackMode)
|
if (mask & CWStackMode)
|
||||||
|
@ -211,8 +212,10 @@ s48_value scx_Query_Tree (s48_value Xwindow, s48_value Xdisplay) {
|
||||||
s48_value v = S48_FALSE, ret = S48_FALSE;
|
s48_value v = S48_FALSE, ret = S48_FALSE;
|
||||||
S48_DECLARE_GC_PROTECT(2);
|
S48_DECLARE_GC_PROTECT(2);
|
||||||
|
|
||||||
XQueryTree (SCX_EXTRACT_DISPLAY(Xdisplay), SCX_EXTRACT_WINDOW(Xwindow),
|
if (! XQueryTree (SCX_EXTRACT_DISPLAY(Xdisplay),
|
||||||
&root, &parent, &children, &n);
|
SCX_EXTRACT_WINDOW(Xwindow),
|
||||||
|
&root, &parent, &children, &n))
|
||||||
|
return S48_FALSE;
|
||||||
|
|
||||||
ret = s48_make_vector(3, S48_FALSE);
|
ret = s48_make_vector(3, S48_FALSE);
|
||||||
v = S48_FALSE;
|
v = S48_FALSE;
|
||||||
|
@ -224,11 +227,13 @@ s48_value scx_Query_Tree (s48_value Xwindow, s48_value Xdisplay) {
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
S48_VECTOR_SET(v, i, SCX_ENTER_WINDOW(children[i]));
|
S48_VECTOR_SET(v, i, SCX_ENTER_WINDOW(children[i]));
|
||||||
}
|
}
|
||||||
|
if (children != NULL) XFree(children);
|
||||||
|
|
||||||
S48_VECTOR_SET(ret, 0, SCX_ENTER_WINDOW(root));
|
S48_VECTOR_SET(ret, 0, SCX_ENTER_WINDOW(root));
|
||||||
S48_VECTOR_SET(ret, 1, SCX_ENTER_WINDOW(parent));
|
S48_VECTOR_SET(ret, 1, SCX_ENTER_WINDOW(parent));
|
||||||
S48_VECTOR_SET(ret, 2, v);
|
S48_VECTOR_SET(ret, 2, v);
|
||||||
|
|
||||||
|
|
||||||
S48_GC_UNPROTECT();
|
S48_GC_UNPROTECT();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue