summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_theme_provider.cc
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-20 20:21:13 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-20 20:21:13 +0000
commit8fcc39da6cd2a6ea148886e2d8333fc02bd62a21 (patch)
tree09dbcbaa42b748b54c923461a951d10df79327b6 /chrome/browser/browser_theme_provider.cc
parent9f50a2f07eb717f613b7cada7e25bfa6e3c79de2 (diff)
downloadchromium_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.cc8
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) {