Index: chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc |
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc |
index aa4a15b2c4effd089c3e84a7dbcb4ab6988933c1..ebaf3285b545b2a7197b0d7e518eb1c276ff26d7 100644 |
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc |
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc |
@@ -18,6 +18,7 @@ |
#include "chrome/browser/bookmarks/bookmark_model.h" |
#include "chrome/browser/bookmarks/bookmark_model_factory.h" |
#include "chrome/browser/browser_process.h" |
+#include "chrome/browser/browser_shutdown.h" |
#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/defaults.h" |
#include "chrome/browser/extensions/extension_service.h" |
@@ -994,7 +995,12 @@ |
} |
void BookmarkBarView::BookmarkModelBeingDeleted(BookmarkModel* model) { |
- NOTREACHED(); |
+ // In normal shutdown The bookmark model should never be deleted before us. |
+ // When X exits suddenly though, it can happen, This code exists |
+ // to check for regressions in shutdown code and not crash. |
+ if (!browser_shutdown::ShuttingDownWithoutClosingBrowsers()) |
+ NOTREACHED(); |
+ |
// Do minimal cleanup, presumably we'll be deleted shortly. |
model_->RemoveObserver(this); |
model_ = NULL; |