From 26dbf9856b19c7a1bb037a009022f208180e3dde Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Mon, 3 Oct 2005 19:22:40 +0000 Subject: A combination of a couple memory leaks fixes, from Kjartan, Soeren, and I. 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() --- ChangeLog | 12 ++++++++++++ src/bell.c | 1 + src/frames.c | 7 ++----- src/window.c | 2 ++ 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 046e9199..36eb62b4 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 2d208f73..c46f84f3 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 b816996e..03e11d3d 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 fb2ec9c3..8789f3e1 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 -- cgit v1.2.1