Index: chrome/browser/gtk/bookmark_bubble_gtk.cc |
=================================================================== |
--- chrome/browser/gtk/bookmark_bubble_gtk.cc (revision 30067) |
+++ chrome/browser/gtk/bookmark_bubble_gtk.cc (working copy) |
@@ -36,10 +36,10 @@ |
std::vector<const BookmarkNode*> PopulateFolderCombo(BookmarkModel* model, |
const GURL& url, |
GtkWidget* folder_combo) { |
- const BookmarkNode* node = model->GetMostRecentlyAddedNodeForURL(url); |
- const BookmarkNode* parent = node->GetParent(); |
const BookmarkNode* bookmark_bar = model->GetBookmarkBarNode(); |
const BookmarkNode* other = model->other_node(); |
+ const BookmarkNode* node = model->GetMostRecentlyAddedNodeForURL(url); |
+ const BookmarkNode* parent = node ? node->GetParent() : NULL; |
// Use + 2 to account for bookmark bar and other node. |
std::vector<const BookmarkNode*> recent_nodes = |
@@ -47,7 +47,7 @@ |
std::vector<const BookmarkNode*> nodes; |
// Make the parent the first item, unless it's the bookmark bar or other node. |
- if (parent != bookmark_bar && parent != other) |
+ if (parent && parent != bookmark_bar && parent != other) |
nodes.push_back(parent); |
for (size_t i = 0; i < recent_nodes.size(); ++i) { |
@@ -75,8 +75,11 @@ |
l10n_util::GetStringUTF8( |
IDS_BOOMARK_BUBBLE_CHOOSER_ANOTHER_FOLDER).c_str()); |
- int parent_index = static_cast<int>( |
- std::find(nodes.begin(), nodes.end(), parent) - nodes.begin()); |
+ gint parent_index = 0; |
+ if (parent) { |
+ parent_index = static_cast<gint>( |
+ std::find(nodes.begin(), nodes.end(), parent) - nodes.begin()); |
+ } |
gtk_combo_box_set_active(GTK_COMBO_BOX(folder_combo), parent_index); |
return nodes; |