diff options
author | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-10 21:18:03 +0000 |
---|---|---|
committer | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-10 21:18:03 +0000 |
commit | 9e43ee4061beb03ab170520b6b511025b8eaf236 (patch) | |
tree | fde04088071f2d696f90928874470cf07055b3ab /chrome/browser/cocoa/hung_renderer_controller.h | |
parent | e8c20ffc89d4194aa290206d95f6fdf19b4d12ea (diff) | |
download | chromium_src-9e43ee4061beb03ab170520b6b511025b8eaf236.zip chromium_src-9e43ee4061beb03ab170520b6b511025b8eaf236.tar.gz chromium_src-9e43ee4061beb03ab170520b6b511025b8eaf236.tar.bz2 |
[Mac] Attempt to fix ref-after-free problems with NSTableView dataSource.
Clearing dataSource in the source's -dealloc seems generally good.
HungRendererController having a local copy of the titles is in case
the table view is redrawn as part of closing the window (this can
happen if the window is closed while the user is mousing on the
table, and perhaps at other times).
BUG=29558
TEST=Crash noted in bug stops happening.
Review URL: http://codereview.chromium.org/469016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34281 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/hung_renderer_controller.h')
-rw-r--r-- | chrome/browser/cocoa/hung_renderer_controller.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/chrome/browser/cocoa/hung_renderer_controller.h b/chrome/browser/cocoa/hung_renderer_controller.h index 9b890c7..4a4ceaf 100644 --- a/chrome/browser/cocoa/hung_renderer_controller.h +++ b/chrome/browser/cocoa/hung_renderer_controller.h @@ -22,6 +22,7 @@ #include <vector> #import "base/cocoa_protocols_mac.h" +#import "base/scoped_nsobject.h" @class MultiKeyEquivalentButton; class TabContents; @@ -38,9 +39,9 @@ class TabContents; // NULL while this dialog is open. TabContents* hungContents_; - // Backing data for |tableView_|. Contains a list of all - // TabContents that share a renderer process with |hungContents_|. - std::vector<TabContents*> hungRenderers_; + // Backing data for |tableView_|. Titles of each TabContents that + // shares a renderer process with |hungContents_|. + scoped_nsobject<NSArray> hungTitles_; } // Kills the hung renderers. |