| Index: chrome/browser/ui/libgtkui/gtk_status_icon.cc
|
| diff --git a/chrome/browser/ui/libgtkui/gtk_status_icon.cc b/chrome/browser/ui/libgtkui/gtk_status_icon.cc
|
| index d97899ba019b67b70fd85df540f254ac95fffbc1..c42da5021cbc756185040cb28d00fbfd431f3ef9 100644
|
| --- a/chrome/browser/ui/libgtkui/gtk_status_icon.cc
|
| +++ b/chrome/browser/ui/libgtkui/gtk_status_icon.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <gtk/gtk.h>
|
|
|
| +#include "base/debug/leak_annotations.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "chrome/browser/ui/libgtkui/app_indicator_icon_menu.h"
|
| #include "chrome/browser/ui/libgtkui/skia_utils_gtk.h"
|
| @@ -19,7 +20,16 @@ namespace libgtkui {
|
| Gtk2StatusIcon::Gtk2StatusIcon(const gfx::ImageSkia& image,
|
| const base::string16& tool_tip) {
|
| GdkPixbuf* pixbuf = GdkPixbufFromSkBitmap(*image.bitmap());
|
| - gtk_status_icon_ = gtk_status_icon_new_from_pixbuf(pixbuf);
|
| + {
|
| +#if GTK_MAJOR_VERSION == 3
|
| + // Gtk3 has a bug that leaks 384 bytes when creating a
|
| + // GtkStatusIcon. It will not be fixed since the status icon was
|
| + // deprectaed in version 3.14. Luckily, Chromium doesn't need to
|
| + // create a status icon very often, if at all.
|
| + ANNOTATE_SCOPED_MEMORY_LEAK;
|
| +#endif
|
| + gtk_status_icon_ = gtk_status_icon_new_from_pixbuf(pixbuf);
|
| + }
|
| g_object_unref(pixbuf);
|
|
|
| g_signal_connect(gtk_status_icon_, "activate", G_CALLBACK(OnClickThunk),
|
|
|