summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2001-04-08 23:05:54 +0000
committersabetts <sabetts>2001-04-08 23:05:54 +0000
commit9212e07af155dbfd2df9174a07c557c37f43c639 (patch)
tree0e142cc73f6a4cfdc12d338cf0ba5e2d7e6666c3 /src/main.c
parent8b6f270c70d8fa6898e7d6c3b9533026c757f48c (diff)
downloadratpoison-9212e07af155dbfd2df9174a07c557c37f43c639.zip
(clean_up): destroys resources stored in screens
(init_rat_cursor): frees the pixmaps
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 9f4ff3d..fe6eb0a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -469,6 +469,9 @@ init_rat_cursor (screen_info *s)
1, 0, 1);
s->rat = XCreatePixmapCursor(dpy, fore, mask,
&fg, &bg, RAT_HOT_X, RAT_HOT_Y);
+
+ XFreePixmap (dpy, fore);
+ XFreePixmap (dpy, mask);
}
static void
@@ -555,6 +558,22 @@ init_screen (screen_info *s, int screen_num)
void
clean_up ()
{
+ int i;
+
+ for (i=0; i<num_screens; i++)
+ {
+ XDestroyWindow (dpy, screens[i].bar_window);
+ XDestroyWindow (dpy, screens[i].key_window);
+ XDestroyWindow (dpy, screens[i].input_window);
+ XDestroyWindow (dpy, screens[i].frame_window);
+
+ XFreeCursor (dpy, screens[i].rat);
+ XFreeColormap (dpy, screens[i].def_cmap);
+ XFreeGC (dpy, screens[i].normal_gc);
+ }
+
+ XFreeFont (dpy, font);
+
XSetInputFocus (dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
XCloseDisplay (dpy);
}