cleaned up
authorConnor Lane Smith <cls@lubutu.com>
Wed, 23 Jun 2010 12:49:24 +0000 (13:49 +0100)
committerConnor Lane Smith <cls@lubutu.com>
Wed, 23 Jun 2010 12:49:24 +0000 (13:49 +0100)
dinput.c
dmenu.c
draw.h

index f2b504a..d8f2515 100644 (file)
--- a/dinput.c
+++ b/dinput.c
@@ -43,6 +43,12 @@ static unsigned int numlockmask = 0;
 static Bool running = True;
 static Window win;
 
+Display *dpy;
+DC dc;
+int screen;
+unsigned int mw, mh;
+Window parent;
+
 void
 cleanup(void) {
        drawcleanup();
diff --git a/dmenu.c b/dmenu.c
index 339f949..8b40aa7 100644 (file)
--- a/dmenu.c
+++ b/dmenu.c
@@ -54,6 +54,7 @@ static char text[4096];
 static int cmdw = 0;
 static int promptw = 0;
 static int ret = 0;
+static unsigned int lines = 0;
 static unsigned int numlockmask = 0;
 static Bool running = True;
 static Item *allitems = NULL;  /* first of all items */
@@ -65,9 +66,14 @@ static Item *curr = NULL;
 static Window win;
 static int (*fstrncmp)(const char *, const char *, size_t) = strncmp;
 static char *(*fstrstr)(const char *, const char *) = strstr;
-static unsigned int lines = 0;
 static void (*calcoffsets)(void) = calcoffsetsh;
 
+Display *dpy;
+DC dc;
+int screen;
+unsigned int mw, mh;
+Window parent;
+
 void
 appenditem(Item *i, Item **list, Item **last) {
        if(!(*last))
@@ -131,6 +137,14 @@ cistrstr(const char *s, const char *sub) {
 
 void
 cleanup(void) {
+       Item *itm;
+
+       while(allitems) {
+               itm = allitems->next;
+               free(allitems->text);
+               free(allitems);
+               allitems = itm;
+       }
        drawcleanup();
        XDestroyWindow(dpy, win);
        XUngrabKeyboard(dpy, CurrentTime);
diff --git a/draw.h b/draw.h
index 79db37e..b6615ab 100644 (file)
--- a/draw.h
+++ b/draw.h
@@ -30,16 +30,15 @@ int textnw(const char *text, unsigned int len);
 int textw(const char *text);
 
 /* variables */
-Display *dpy;
-DC dc;
-int screen;
-unsigned int mw, mh;
-unsigned int spaceitem;
-Window parent;
+extern Display *dpy;
+extern DC dc;
+extern int screen;
+extern unsigned int mw, mh;
+extern Window parent;
 
 /* style */
-const char *font;
-const char *normbgcolor;
-const char *normfgcolor;
-const char *selbgcolor;
-const char *selfgcolor;
+extern const char *font;
+extern const char *normbgcolor;
+extern const char *normfgcolor;
+extern const char *selbgcolor;
+extern const char *selfgcolor;