Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2739)

Unified Diff: chrome/browser/gtk/bookmark_manager_gtk.cc

Issue 202035: Fix accel leak in task manager and bookmark manager by using (Closed)
Patch Set: null Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/gtk/bookmark_manager_gtk.h ('k') | chrome/browser/gtk/task_manager_gtk.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/gtk/bookmark_manager_gtk.cc
diff --git a/chrome/browser/gtk/bookmark_manager_gtk.cc b/chrome/browser/gtk/bookmark_manager_gtk.cc
index fe5d749f9a4b2dcc35034ee1c594f70fff16f16c..7c894767d300086b4325fe3eda650db138b2bff7 100644
--- a/chrome/browser/gtk/bookmark_manager_gtk.cc
+++ b/chrome/browser/gtk/bookmark_manager_gtk.cc
@@ -322,6 +322,10 @@ BookmarkManagerGtk::~BookmarkManagerGtk() {
gtk_paned_get_position(GTK_PANED(paned_)));
SaveColumnConfiguration();
model_->RemoveObserver(this);
+
+ gtk_accel_group_disconnect_key(accel_group_, GDK_w, GDK_CONTROL_MASK);
+ gtk_window_remove_accel_group(GTK_WINDOW(window_), accel_group_);
+ g_object_unref(accel_group_);
}
void BookmarkManagerGtk::InitWidgets() {
@@ -416,13 +420,10 @@ void BookmarkManagerGtk::InitWidgets() {
}
void BookmarkManagerGtk::ConnectAccelerators() {
- GtkAccelGroup* accel_group = gtk_accel_group_new();
- gtk_window_add_accel_group(GTK_WINDOW(window_), accel_group);
-
- // Drop the initial ref on |accel_group| so |window_| will own it.
- g_object_unref(accel_group);
+ accel_group_ = gtk_accel_group_new();
+ gtk_window_add_accel_group(GTK_WINDOW(window_), accel_group_);
- gtk_accel_group_connect(accel_group,
+ gtk_accel_group_connect(accel_group_,
GDK_w, GDK_CONTROL_MASK, GtkAccelFlags(0),
g_cclosure_new(G_CALLBACK(OnGtkAccelerator),
this, NULL));
« no previous file with comments | « chrome/browser/gtk/bookmark_manager_gtk.h ('k') | chrome/browser/gtk/task_manager_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698