diff --git a/ChangeLog b/ChangeLog index 046e9199b..36eb62b47 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2005-10-03 Elijah Newren + + A combination of a couple memory leaks fixes, from Kjartan, + Soeren, and I. Fixes #313030. + + * src/bell.c (meta_bell_flash_screen): call XFreeGC() + + * src/frames.c (invalidate_cache): free pixels + + * src/window.c (meta_window_show_menu): call + meta_screen_free_workspace_layout() + 2005-10-03 Elijah Newren Patch from Björn Lindqvist fix the workspace switcher tabpopup to diff --git a/src/bell.c b/src/bell.c index 2d208f739..c46f84f31 100644 --- a/src/bell.c +++ b/src/bell.c @@ -77,6 +77,7 @@ meta_bell_flash_screen (MetaDisplay *display, XFlush (display->xdisplay); XSync (display->xdisplay, False); XUnmapWindow (display->xdisplay, screen->flash_window); + XFreeGC (display->xdisplay, gc); } if (meta_prefs_get_focus_mode () != META_FOCUS_MODE_CLICK && diff --git a/src/frames.c b/src/frames.c index b816996e9..03e11d3d5 100644 --- a/src/frames.c +++ b/src/frames.c @@ -322,11 +322,8 @@ invalidate_cache (MetaFrames *frames, if (pixels->bottom) g_object_unref (pixels->bottom); - pixels->top = NULL; - pixels->bottom = NULL; - pixels->right = NULL; - pixels->left = NULL; - + g_free (pixels); + g_hash_table_remove (frames->cache, frame); } diff --git a/src/window.c b/src/window.c index fb2ec9c35..8789f3e15 100644 --- a/src/window.c +++ b/src/window.c @@ -6219,6 +6219,8 @@ meta_window_show_menu (MetaWindow *window, ops |= META_MENU_OP_MOVE_DOWN; } + meta_screen_free_workspace_layout (&layout); + if (window->maximized) ops |= META_MENU_OP_UNMAXIMIZE; else