projects
/
dana
/
xcompmgr.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
26fd15f
)
Miscellaneous code cleanup and failed allocation checks.
author
dolio
<dolio>
Thu, 23 Sep 2004 01:56:00 +0000
(
01:56
+0000)
committer
dolio
<dolio>
Thu, 23 Sep 2004 01:56:00 +0000
(
01:56
+0000)
ChangeLog
patch
|
blob
|
history
xcompmgr.c
patch
|
blob
|
history
diff --git
a/ChangeLog
b/ChangeLog
index
d93bfb3
..
2058dfb
100644
(file)
--- a/
ChangeLog
+++ b/
ChangeLog
@@
-1,3
+1,9
@@
+2004-09-22 Dan Doel <dolio@case.edu>
+
+ * xcompmgr.c: (run_fades), (solid_picture), (get_opacity_prop),
+ (determine_wintype), (circulate_win):
+ Miscellaneous code cleanup and checks for failed allocations.
+
2004-09-21 Dan Doel <dolio@case.edu>
* xcompmgr.c: (presum_gaussian), (make_shadow), (main):
2004-09-21 Dan Doel <dolio@case.edu>
* xcompmgr.c: (presum_gaussian), (make_shadow), (main):
diff --git
a/xcompmgr.c
b/xcompmgr.c
index
dcb0843
..
01d9188
100644
(file)
--- a/
xcompmgr.c
+++ b/
xcompmgr.c
@@
-348,7
+348,7
@@
run_fades (Display *dpy)
{
w->opacity = f->finish*OPAQUE;
dequeue_fade (dpy, f);
{
w->opacity = f->finish*OPAQUE;
dequeue_fade (dpy, f);
- }
+
}
}
else
{
}
else
{
@@
-356,7
+356,7
@@
run_fades (Display *dpy)
{
w->opacity = f->finish*OPAQUE;
dequeue_fade (dpy, f);
{
w->opacity = f->finish*OPAQUE;
dequeue_fade (dpy, f);
- }
+
}
}
determine_mode (dpy, w);
if (w->shadow)
}
determine_mode (dpy, w);
if (w->shadow)
@@
-677,11
+677,20
@@
solid_picture (Display *dpy, Bool argb, double a, double r, double g, double b)
XRenderColor c;
pixmap = XCreatePixmap (dpy, root, 1, 1, argb ? 32 : 8);
XRenderColor c;
pixmap = XCreatePixmap (dpy, root, 1, 1, argb ? 32 : 8);
+ if (!pixmap)
+ return None;
+
pa.repeat = True;
picture = XRenderCreatePicture (dpy, pixmap,
XRenderFindStandardFormat (dpy, argb ? PictStandardARGB32 : PictStandardA8),
CPRepeat,
&pa);
pa.repeat = True;
picture = XRenderCreatePicture (dpy, pixmap,
XRenderFindStandardFormat (dpy, argb ? PictStandardARGB32 : PictStandardA8),
CPRepeat,
&pa);
+ if (!picture)
+ {
+ XFreePixmap (dpy, pixmap);
+ return None;
+ }
+
c.alpha = a * 0xffff;
c.red = r * 0xffff;
c.green = g * 0xffff;
c.alpha = a * 0xffff;
c.red = r * 0xffff;
c.green = g * 0xffff;
@@
-1257,7
+1266,7
@@
get_opacity_prop(Display *dpy, win *w, unsigned int def)
int result = XGetWindowProperty(dpy, w->id, opacityAtom, 0L, 1L, False,
XA_CARDINAL, &actual, &format,
&n, &left, &data);
int result = XGetWindowProperty(dpy, w->id, opacityAtom, 0L, 1L, False,
XA_CARDINAL, &actual, &format,
&n, &left, &data);
- if (result == Success && data != N
one
)
+ if (result == Success && data != N
ULL
)
{
unsigned int i;
memcpy (&i, data, sizeof (unsigned int));
{
unsigned int i;
memcpy (&i, data, sizeof (unsigned int));
@@
-1360,7
+1369,7
@@
static Atom
determine_wintype (Display *dpy, Window w)
{
Window root_return, parent_return;
determine_wintype (Display *dpy, Window w)
{
Window root_return, parent_return;
- Window *children;
+ Window *children
= NULL
;
unsigned int nchildren, i;
Atom type;
unsigned int nchildren, i;
Atom type;
@@
-1372,6
+1381,8
@@
determine_wintype (Display *dpy, Window w)
&nchildren))
{
/* XQueryTree failed. */
&nchildren))
{
/* XQueryTree failed. */
+ if (children)
+ XFree ((void *)children);
return winNormalAtom;
}
return winNormalAtom;
}
@@
-1382,6
+1393,9
@@
determine_wintype (Display *dpy, Window w)
return type;
}
return type;
}
+ if (children)
+ XFree ((void *)children);
+
return winNormalAtom;
}
return winNormalAtom;
}
@@
-1553,6
+1567,9
@@
circulate_win (Display *dpy, XCirculateEvent *ce)
win *w = find_win (dpy, ce->window);
Window new_above;
win *w = find_win (dpy, ce->window);
Window new_above;
+ if (!w)
+ return;
+
if (ce->place == PlaceOnTop)
new_above = list->id;
else
if (ce->place == PlaceOnTop)
new_above = list->id;
else