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

Unified Diff: chrome/browser/ui/gtk/global_bookmark_menu.cc

Issue 7003066: GTK: Add CHECKs() to try to find the cause of a GlobalBookmarkMenu crash. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 6 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/ui/gtk/global_bookmark_menu.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/gtk/global_bookmark_menu.cc
diff --git a/chrome/browser/ui/gtk/global_bookmark_menu.cc b/chrome/browser/ui/gtk/global_bookmark_menu.cc
index 36073f8d3d1def4369b1773b98f7fd8f45d09735..118ebb082f43a186f047a6a38b43ba34249b571d 100644
--- a/chrome/browser/ui/gtk/global_bookmark_menu.cc
+++ b/chrome/browser/ui/gtk/global_bookmark_menu.cc
@@ -110,11 +110,11 @@ void GlobalBookmarkMenu::RebuildMenu() {
GtkWidget* menu_item = gtk_image_menu_item_new_with_label(
l10n_util::GetStringUTF8(IDS_BOOMARK_BAR_OTHER_FOLDER_NAME).c_str());
- gtk_util::SetAlwaysShowImage(menu_item);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu);
gtk_image_menu_item_set_image(
GTK_IMAGE_MENU_ITEM(menu_item),
gtk_image_new_from_pixbuf(default_folder_));
+ gtk_util::SetAlwaysShowImage(menu_item);
AddBookmarkMenuItem(bookmark_menu_.get(), menu_item);
}
@@ -140,7 +140,6 @@ void GlobalBookmarkMenu::AddNodeToMenu(const BookmarkNode* node,
for (int i = 0; i < child_count; i++) {
const BookmarkNode* child = node->GetChild(i);
GtkWidget* item = gtk_image_menu_item_new();
- gtk_util::SetAlwaysShowImage(item);
ConfigureMenuItem(child, item);
bookmark_nodes_[child] = item;
@@ -162,6 +161,9 @@ void GlobalBookmarkMenu::AddNodeToMenu(const BookmarkNode* node,
void GlobalBookmarkMenu::ConfigureMenuItem(const BookmarkNode* node,
GtkWidget* menu_item) {
+ CHECK(node);
+ CHECK(menu_item);
+
// This check is only to make things compile on Hardy; this code won't
// display any visible widgets in older systems that don't have a global menu
// bar.
@@ -184,11 +186,15 @@ void GlobalBookmarkMenu::ConfigureMenuItem(const BookmarkNode* node,
gtk_image_new_from_pixbuf(pixbuf));
g_object_unref(pixbuf);
} else {
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),
- gtk_image_new_from_pixbuf(
- node->is_url() ? default_favicon_ :
- default_folder_));
+ GdkPixbuf* pixbuf = node->is_url() ? default_favicon_ : default_folder_;
+ CHECK(pixbuf);
+ GtkWidget* image = gtk_image_new_from_pixbuf(pixbuf);
+ CHECK(image);
+
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), image);
}
+
+ gtk_util::SetAlwaysShowImage(menu_item);
}
GtkWidget* GlobalBookmarkMenu::MenuItemForNode(const BookmarkNode* node) {
« no previous file with comments | « chrome/browser/ui/gtk/global_bookmark_menu.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698