fixed a typo in config.mk, fixed cleanup code in dmenu (now frees all allocated stuff)
This commit is contained in:
		@@ -11,7 +11,7 @@ X11INC = /usr/X11R6/include
 | 
			
		||||
X11LIB = /usr/X11R6/lib
 | 
			
		||||
 | 
			
		||||
# includes and libs
 | 
			
		||||
INCS = _I. -I/usr/include -I${X11INC}
 | 
			
		||||
INCS = -I. -I/usr/include -I${X11INC}
 | 
			
		||||
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
 | 
			
		||||
 | 
			
		||||
# flags
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								main.c
									
									
									
									
									
								
							@@ -29,7 +29,7 @@ static int mx, my, mw, mh;
 | 
			
		||||
static int ret = 0;
 | 
			
		||||
static int nitem = 0;
 | 
			
		||||
static unsigned int cmdw = 0;
 | 
			
		||||
static Bool done = False;
 | 
			
		||||
static Bool running = True;
 | 
			
		||||
static Item *allitems = NULL;	/* first of all items */
 | 
			
		||||
static Item *item = NULL;	/* first of pattern matching items */
 | 
			
		||||
static Item *sel = NULL;
 | 
			
		||||
@@ -219,11 +219,11 @@ kpress(XKeyEvent * e)
 | 
			
		||||
		else if(text)
 | 
			
		||||
			fprintf(stdout, "%s", text);
 | 
			
		||||
		fflush(stdout);
 | 
			
		||||
		done = True;
 | 
			
		||||
		running = False;
 | 
			
		||||
		break;
 | 
			
		||||
	case XK_Escape:
 | 
			
		||||
		ret = 1;
 | 
			
		||||
		done = True;
 | 
			
		||||
		running = False;
 | 
			
		||||
		break;
 | 
			
		||||
	case XK_BackSpace:
 | 
			
		||||
		if((i = len)) {
 | 
			
		||||
@@ -290,6 +290,7 @@ int
 | 
			
		||||
main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	char *maxname;
 | 
			
		||||
	Item *i;
 | 
			
		||||
	XEvent ev;
 | 
			
		||||
	XSetWindowAttributes wa;
 | 
			
		||||
 | 
			
		||||
@@ -349,7 +350,7 @@ main(int argc, char *argv[])
 | 
			
		||||
	XSync(dpy, False);
 | 
			
		||||
 | 
			
		||||
	/* main event loop */
 | 
			
		||||
	while(!done && !XNextEvent(dpy, &ev)) {
 | 
			
		||||
	while(running && !XNextEvent(dpy, &ev)) {
 | 
			
		||||
		switch (ev.type) {
 | 
			
		||||
		case KeyPress:
 | 
			
		||||
			kpress(&ev.xkey);
 | 
			
		||||
@@ -364,6 +365,16 @@ main(int argc, char *argv[])
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	XUngrabKeyboard(dpy, CurrentTime);
 | 
			
		||||
	while(allitems) {
 | 
			
		||||
		i = allitems->next;
 | 
			
		||||
		free(allitems->text);
 | 
			
		||||
		free(allitems);
 | 
			
		||||
		allitems = i;
 | 
			
		||||
	}
 | 
			
		||||
	if(dc.font.set)
 | 
			
		||||
		XFreeFontSet(dpy, dc.font.set);
 | 
			
		||||
	else
 | 
			
		||||
		XFreeFont(dpy, dc.font.xfont);
 | 
			
		||||
	XFreePixmap(dpy, dc.drawable);
 | 
			
		||||
	XFreeGC(dpy, dc.gc);
 | 
			
		||||
	XDestroyWindow(dpy, win);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user