free decor when removing frame
authorDerek Foreman <manmower@gmail.com>
Tue, 27 May 2003 19:01:44 +0000 (19:01 +0000)
committerDerek Foreman <manmower@gmail.com>
Tue, 27 May 2003 19:01:44 +0000 (19:01 +0000)
openbox/frame.c

index 40b6c994705f13edec05da523565ec217fe575a6..a58bb45471edffaf5556bd820b2e0c4127c0047e 100644 (file)
@@ -144,9 +144,12 @@ Frame *frame_new()
 
 static void frame_free(Frame *self)
 {
-/* XXX WRITEME */
+    int i;
+    for (i = 0; i < self->framedecors; i++) {
+        RrSurfaceFree(self->framedecor[i].surface);
+    }
     XDestroyWindow(ob_display, self->window);
-
+    g_free(self->framedecor);
     g_free(self);
 }
 
@@ -281,7 +284,6 @@ void frame_release_client(Frame *self, Client *client)
 
     for (i = 0; i < self->framedecors; i++)
         g_hash_table_remove(window_map, &self->framedecor[i].window);
-
     frame_free(self);
 }