aboutsummaryrefslogtreecommitdiff
path: root/libX11/src/xcms/cmsProp.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-02-10 07:12:27 +0000
committermarha <marha@users.sourceforge.net>2011-02-10 07:12:27 +0000
commit183968dd18dc91f73325980bd511ed6bdb38b432 (patch)
tree44b101aea37e5ef679aca953399c20502dabdd01 /libX11/src/xcms/cmsProp.c
parent51a59b7f7f9b134791d3b09673063e4c45ea9eee (diff)
downloadvcxsrv-183968dd18dc91f73325980bd511ed6bdb38b432.tar.gz
vcxsrv-183968dd18dc91f73325980bd511ed6bdb38b432.tar.bz2
vcxsrv-183968dd18dc91f73325980bd511ed6bdb38b432.zip
libX11 mesa git update 10 Feb 2011
Diffstat (limited to 'libX11/src/xcms/cmsProp.c')
-rw-r--r--libX11/src/xcms/cmsProp.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/libX11/src/xcms/cmsProp.c b/libX11/src/xcms/cmsProp.c
index 856ae84b6..2826ee7be 100644
--- a/libX11/src/xcms/cmsProp.c
+++ b/libX11/src/xcms/cmsProp.c
@@ -121,20 +121,23 @@ _XcmsGetProperty(
long len = 6516;
unsigned long nitems_ret, after_ret;
Atom atom_ret;
+ int xgwp_ret;
- while (XGetWindowProperty (pDpy, w, property, 0, len, False,
- XA_INTEGER, &atom_ret, &format_ret,
- &nitems_ret, &after_ret,
- (unsigned char **)&prop_ret)) {
- if (after_ret > 0) {
+ while (True) {
+ xgwp_ret = XGetWindowProperty (pDpy, w, property, 0, len, False,
+ XA_INTEGER, &atom_ret, &format_ret,
+ &nitems_ret, &after_ret,
+ (unsigned char **)&prop_ret);
+ if (xgwp_ret == Success && after_ret > 0) {
len += nitems_ret * (format_ret >> 3);
XFree (prop_ret);
} else {
break;
}
}
- if (format_ret == 0 || nitems_ret == 0) {
- /* the property does not exist or is of an unexpected type */
+ if (xgwp_ret != Success || format_ret == 0 || nitems_ret == 0) {
+ /* the property does not exist or is of an unexpected type or
+ getting window property failed */
return(XcmsFailure);
}