diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-02 03:24:13 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-02 03:24:13 +0000 |
commit | 3cafc369b174594f0f7e873890aff267233d2209 (patch) | |
tree | 3def7c63b322ae96439fc13c0103ab7407ccd4f0 /base | |
parent | 6de328fddf450413595d75c2fe3cf2c34f7cee4f (diff) | |
download | chromium_src-3cafc369b174594f0f7e873890aff267233d2209.zip chromium_src-3cafc369b174594f0f7e873890aff267233d2209.tar.gz chromium_src-3cafc369b174594f0f7e873890aff267233d2209.tar.bz2 |
Revert 61269 (broke lots of browser and ui tests, like on your try run) - [GTK] delay reference count check in OwnedWidgetGtk
It's a common problem that a GtkWidget will be referenced by an event that's currently on the callstack. These ref holders ignore the "destroy" signal, so when we go to destroy the owned widget, the refcount == 1 DCHECK fails. This change delays that DCHECK until the current stack has unwound, so we don't have to keep running into this.
BUG=none
TEST=in debug builds, Escape in a constrained window doesn't DCHECK, dragging a tab doesn't cause a DCHECK, pressing the custom frame [x] in lucid doesn't DCHECK; in general, no additional DCHECKs
Review URL: http://codereview.chromium.org/3416032
TBR=estade@chromium.org
Review URL: http://codereview.chromium.org/3564007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61283 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/debug_util.h | 3 | ||||
-rw-r--r-- | base/debug_util_posix.cc | 9 |
2 files changed, 0 insertions, 12 deletions
diff --git a/base/debug_util.h b/base/debug_util.h index 5814781..a7dba3a 100644 --- a/base/debug_util.h +++ b/base/debug_util.h @@ -44,9 +44,6 @@ class StackTrace { // Resolves backtrace to symbols and write to stream. void OutputToStream(std::ostream* os); - // Returns the stacktrace as a string. - std::string AsString(); - private: // From http://msdn.microsoft.com/en-us/library/bb204633.aspx, // the sum of FramesToSkip and FramesToCapture must be less than 63, diff --git a/base/debug_util_posix.cc b/base/debug_util_posix.cc index 7e74aef..7d7aca4 100644 --- a/base/debug_util_posix.cc +++ b/base/debug_util_posix.cc @@ -312,12 +312,3 @@ void StackTrace::OutputToStream(std::ostream* os) { (*os) << "\t" << trace_strings[i] << "\n"; } } - -std::string StackTrace::AsString() { - std::vector<std::string> trace_strings; - std::string output; - GetBacktraceStrings(trace_, count_, &trace_strings, NULL); - for (size_t i = 0; i < trace_strings.size(); ++i) - output += "\t" + trace_strings[i] + "\n"; - return output; -} |