projects
/
dana
/
xcompmgr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added allocation failure checks in shadow_picture and caused it to exit
[dana/xcompmgr.git]
/
xcompmgr.c
diff --git
a/xcompmgr.c
b/xcompmgr.c
index
7e542fe
..
3d27786
100644
(file)
--- a/
xcompmgr.c
+++ b/
xcompmgr.c
@@
-581,10
+581,30
@@
shadow_picture (Display *dpy, double opacity, Picture alpha_pict, int width, int
shadowImage->width,
shadowImage->height,
8);
shadowImage->width,
shadowImage->height,
8);
+ if (!shadowPixmap)
+ {
+ XDestroyImage (shadowImage);
+ return None;
+ }
+
shadowPicture = XRenderCreatePicture (dpy, shadowPixmap,
XRenderFindStandardFormat (dpy, PictStandardA8),
0, 0);
shadowPicture = XRenderCreatePicture (dpy, shadowPixmap,
XRenderFindStandardFormat (dpy, PictStandardA8),
0, 0);
+ if (!shadowPicture)
+ {
+ XDestroyImage (shadowImage);
+ XFreePixmap (dpy, shadowPixmap);
+ return None;
+ }
+
gc = XCreateGC (dpy, shadowPixmap, 0, 0);
gc = XCreateGC (dpy, shadowPixmap, 0, 0);
+ if (!gc)
+ {
+ XDestroyImage (shadowImage);
+ XFreePixmap (dpy, shadowPixmap);
+ XRenderFreePicture (dpy, shadowPicture);
+ return None;
+ }
XPutImage (dpy, shadowPixmap, gc, shadowImage, 0, 0, 0, 0,
shadowImage->width,
XPutImage (dpy, shadowPixmap, gc, shadowImage, 0, 0, 0, 0,
shadowImage->width,