Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
corrected order of cleanup code
[dwm.git]
/
main.c
diff --git
a/main.c
b/main.c
index
d0048be
..
d566c9e
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-18,16
+18,24
@@
/* static */
static int (*xerrorxlib)(Display *, XErrorEvent *);
/* static */
static int (*xerrorxlib)(Display *, XErrorEvent *);
-static Bool otherwm;
+static Bool otherwm
, readin
;
static void
cleanup()
{
static void
cleanup()
{
+ close(STDIN_FILENO);
while(sel) {
resize(sel, True, TopLeft);
unmanage(sel);
}
while(sel) {
resize(sel, True, TopLeft);
unmanage(sel);
}
+ if(dc.font.set)
+ XFreeFontSet(dpy, dc.font.set);
+ else
+ XFreeFont(dpy, dc.font.xfont);
XUngrabKey(dpy, AnyKey, AnyModifier, root);
XUngrabKey(dpy, AnyKey, AnyModifier, root);
+ XFreePixmap(dpy, dc.drawable);
+ XFreeGC(dpy, dc.gc);
+ XDestroyWindow(dpy, barwin);
XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
XSync(dpy, False);
}
XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
XSync(dpy, False);
}
@@
-139,7
+147,7
@@
sendevent(Window w, Atom a, long value)
void
quit(Arg *arg)
{
void
quit(Arg *arg)
{
- running = False;
+ r
eadin = r
unning = False;
}
/*
}
/*
@@
-169,7
+177,6
@@
main(int argc, char *argv[])
int i, j, xfd;
unsigned int mask;
fd_set rd;
int i, j, xfd;
unsigned int mask;
fd_set rd;
- Bool readin = True;
Window w;
XModifierKeymap *modmap;
XSetWindowAttributes wa;
Window w;
XModifierKeymap *modmap;
XSetWindowAttributes wa;
@@
-272,6
+279,7
@@
main(int argc, char *argv[])
/* main event loop, also reads status text from stdin */
XSync(dpy, False);
procevent();
/* main event loop, also reads status text from stdin */
XSync(dpy, False);
procevent();
+ readin = True;
while(running) {
FD_ZERO(&rd);
if(readin)
while(running) {
FD_ZERO(&rd);
if(readin)