diff options
author | bshe@chromium.org <bshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-15 21:01:56 +0000 |
---|---|---|
committer | bshe@chromium.org <bshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-15 21:01:56 +0000 |
commit | 52f885d0417ce71b7a436f00f7d805ac5997e67d (patch) | |
tree | 051cdc31e68c492b71c7b2c4f7b9ecfa2ac1245d /ash/wm/root_window_layout_manager.cc | |
parent | f16aabfd9799a5c2bc684978cff1b4919b215b5b (diff) | |
download | chromium_src-52f885d0417ce71b7a436f00f7d805ac5997e67d.zip chromium_src-52f885d0417ce71b7a436f00f7d805ac5997e67d.tar.gz chromium_src-52f885d0417ce71b7a436f00f7d805ac5997e67d.tar.bz2 |
Fix memory leak on Chromium OS Heapcheck and Chromium OS (valgrind)
Memcheck:Leak
fun:_Znw*
fun:_ZN3ash27DesktopBackgroundController16InstallComponentEPN4aura10RootWindowE
fun:_ZN3ash27DesktopBackgroundController29InstallComponentForAllWindowsEv
fun:_ZN3ash27DesktopBackgroundController29SetDesktopBackgroundImageModeEv
fun:_ZN3ash27DesktopBackgroundController20CreateEmptyWallpaperEv
fun:_ZN3ash12_GLOBAL__N_126DummyUserWallpaperDelegate19InitializeWallpaperEv
fun:_ZN3ash5Shell4InitEv
fun:_ZN3ash5Shell14CreateInstanceEPNS_13ShellDelegateE
fun:_ZN3ash4test11AshTestBase5SetUpEv
http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%284%29/builds/12953
BUG=141563, 141676, 142042
Review URL: https://chromiumcodereview.appspot.com/10854153
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151746 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/wm/root_window_layout_manager.cc')
-rw-r--r-- | ash/wm/root_window_layout_manager.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/ash/wm/root_window_layout_manager.cc b/ash/wm/root_window_layout_manager.cc index 99a9774..5eeb907 100644 --- a/ash/wm/root_window_layout_manager.cc +++ b/ash/wm/root_window_layout_manager.cc @@ -39,11 +39,12 @@ void RootWindowLayoutManager::OnWindowResized() { for (j = (*i)->children().begin(); j != (*i)->children().end(); ++j) (*j)->SetBounds(fullscreen_bounds); } - internal::DesktopBackgroundWidgetController* background = NULL; - internal::ComponentWrapper* wrapper = - owner_->GetProperty(internal::kComponentWrapper); - if (wrapper) - background = wrapper->component(); + internal::DesktopBackgroundWidgetController* background = + owner_->GetProperty(internal::kWindowDesktopComponent); + if (!background && owner_->GetProperty(internal::kComponentWrapper)) { + background = owner_->GetProperty(internal::kComponentWrapper)-> + GetComponent(false); + } if (background) background->SetBounds(fullscreen_bounds); } |