diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 02:07:11 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 02:07:11 +0000 |
commit | 1976d41ac728fcceb30f2df3c243cb7417f538f1 (patch) | |
tree | bd38a26766be79edf047b729564acada01ac214f /chrome/browser/gtk/bookmark_bar_gtk.h | |
parent | 3068566587d45eab5e6ffcb4ec737fe4838b9e13 (diff) | |
download | chromium_src-1976d41ac728fcceb30f2df3c243cb7417f538f1.zip chromium_src-1976d41ac728fcceb30f2df3c243cb7417f538f1.tar.gz chromium_src-1976d41ac728fcceb30f2df3c243cb7417f538f1.tar.bz2 |
GTK: avoid a hang brought on by an infinite size-allocate queue.
This is not the most satisfying fix imaginable. I'm not sure why we are getting size-allocate events where the visibility of the chevron has changed but our allocation is not yet updated. In principle I suppose it would be better not to call any function that might cause an allocation from within a size-allocate handler, but guaranteeing that is probably pretty hard.
BUG=24470
TEST=repro steps no longer repro; also, verified that the early return line is actually being hit.
Review URL: http://codereview.chromium.org/270078
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28778 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/bookmark_bar_gtk.h')
-rw-r--r-- | chrome/browser/gtk/bookmark_bar_gtk.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/browser/gtk/bookmark_bar_gtk.h b/chrome/browser/gtk/bookmark_bar_gtk.h index 702bee2..1cb4cb9 100644 --- a/chrome/browser/gtk/bookmark_bar_gtk.h +++ b/chrome/browser/gtk/bookmark_bar_gtk.h @@ -315,6 +315,10 @@ class BookmarkBarGtk : public AnimationDelegate, // what ShouldShowFloating() returns. bool floating_; + // Used to optimize out |bookmark_toolbar_| size-allocate events we don't + // need to respond to. + int last_allocation_width_; + NotificationRegistrar registrar_; }; |