aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--xcompmgr.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 45faea4..cb4adb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2003-11-09 Keith Packard <keithp@keithp.com>
+ * xcompmgr.c: (root_tile):
+ Make sure _XROOTPMAP_ID property is right type, format and length
+ before attempting to use the resulting value.
+
+2003-11-09 Keith Packard <keithp@keithp.com>
+
* xcompmgr.c: (configure_win):
Configure damage must include shadow region, not just window.
Also, leaking region on each configure.
diff --git a/xcompmgr.c b/xcompmgr.c
index 16260b4..7b55eae 100644
--- a/xcompmgr.c
+++ b/xcompmgr.c
@@ -328,7 +328,8 @@ root_tile (Display *dpy)
if (XGetWindowProperty (dpy, root, XInternAtom (dpy, "_XROOTPMAP_ID", False),
0, 4, False, AnyPropertyType,
- &actual_type, &actual_format, &nitems, &bytes_after, &prop) == Success)
+ &actual_type, &actual_format, &nitems, &bytes_after, &prop) == Success &&
+ actual_type == XInternAtom (dpy, "PIXMAP", False) && actual_format == 32 && nitems == 1)
{
memcpy (&pixmap, prop, 4);
XFree (prop);