PKGBUILDs/extra/chromium/chromium-27.0.1453.93-fix-crash-when-quickly-dragging-a-new-tab.patch
2013-05-24 23:05:02 -04:00

39 lines
1.5 KiB
Diff

From afcf3acc715aef47855ced19434dba2f52b92400 Mon Sep 17 00:00:00 2001
From: "dcheng@chromium.org"
<dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri, 24 May 2013 21:49:42 +0000
Subject: [PATCH] Fix crash when quickly dragging a new tab.
The root cause is r185551, which changed the semantics of
scoped_ptr::reset(). This code depended on the fact that a get() during
a reset() would return the original value of the stored pointer, but
after r185551, it returns the value that it is being reset to. This
caused the code to stop an animation and the code to end a drag to
conflict, since the animation code would sometimes delete a TabGtk that
was still being dragged.
BUG=228918
Review URL: https://chromiumcodereview.appspot.com/16035005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202184 0039d316-1c4b-4281-b951-d872f2087c98
---
chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc b/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc
index d86364d..4e6c352 100644
--- a/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc
+++ b/chrome/browser/ui/gtk/tabs/tab_strip_gtk.cc
@@ -1406,7 +1406,7 @@ void TabStripGtk::RemoveTabAt(int index) {
// Remove the Tab from the TabStrip's list.
tab_data_.erase(tab_data_.begin() + index);
- if (!IsDragSessionActive() || !drag_controller_->IsDraggingTab(removed)) {
+ if (!removed->dragging()) {
gtk_container_remove(GTK_CONTAINER(tabstrip_.get()), removed->widget());
delete removed;
}
--
1.8.2.3