diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-20 20:21:13 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-20 20:21:13 +0000 |
commit | 8fcc39da6cd2a6ea148886e2d8333fc02bd62a21 (patch) | |
tree | 09dbcbaa42b748b54c923461a951d10df79327b6 /chrome/browser/browser_theme_provider.cc | |
parent | 9f50a2f07eb717f613b7cada7e25bfa6e3c79de2 (diff) | |
download | chromium_src-8fcc39da6cd2a6ea148886e2d8333fc02bd62a21.zip chromium_src-8fcc39da6cd2a6ea148886e2d8333fc02bd62a21.tar.gz chromium_src-8fcc39da6cd2a6ea148886e2d8333fc02bd62a21.tar.bz2 |
Add GetPixbufNamed to ThemeProvider. GetPixbufNamed converts a loaded theme bitmap to a GdkPixbuf and caches the image so ThemeProvider users don't need to release them ala ResourceBundle::GetPixbufNamed.
Review URL: http://codereview.chromium.org/113626
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16520 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_theme_provider.cc')
-rw-r--r-- | chrome/browser/browser_theme_provider.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/browser_theme_provider.cc b/chrome/browser/browser_theme_provider.cc index a169005..eaf6040 100644 --- a/chrome/browser/browser_theme_provider.cc +++ b/chrome/browser/browser_theme_provider.cc @@ -107,6 +107,14 @@ BrowserThemeProvider::BrowserThemeProvider() BrowserThemeProvider::~BrowserThemeProvider() { FreeImages(); +#if defined(OS_LINUX) + // Free GdkPixbufs. + for (GdkPixbufMap::iterator i = gdk_pixbufs_.begin(); + i != gdk_pixbufs_.end(); i++) { + g_object_unref(i->second); + } + gdk_pixbufs_.clear(); +#endif } void BrowserThemeProvider::Init(Profile* profile) { |