diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-27 12:53:38 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-27 12:53:38 +0000 |
commit | 8ce835ff2064dfe16183ac7872ea100f95bdd072 (patch) | |
tree | 792be0f388b67a9d31040694c6d0d55d57e2a601 /views/controls | |
parent | 8b8cfb52940854bb6c85f0a5ac6aaa58c976de21 (diff) | |
download | chromium_src-8ce835ff2064dfe16183ac7872ea100f95bdd072.zip chromium_src-8ce835ff2064dfe16183ac7872ea100f95bdd072.tar.gz chromium_src-8ce835ff2064dfe16183ac7872ea100f95bdd072.tar.bz2 |
views: Add protected virtual destructor to TabbedPaneListener.
The use of a protected virtual destructor is to prevent the destruction of a
derived object via a base-class pointer.
That's it, TabbedPaneListenere should only be deleted through derived class.
Example:
class FooListener {
public:
...
protected:
virtual ~FooListener() {}
};
class Foo : public FooListener {
};
FooListener* listener = new Foo;
delete listener; // It should prevent this situation!
R=sky@chromium.org
Review URL: http://codereview.chromium.org/8028030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102916 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls')
-rw-r--r-- | views/controls/tabbed_pane/tabbed_pane_listener.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/views/controls/tabbed_pane/tabbed_pane_listener.h b/views/controls/tabbed_pane/tabbed_pane_listener.h index a274b7e..3d14a38 100644 --- a/views/controls/tabbed_pane/tabbed_pane_listener.h +++ b/views/controls/tabbed_pane/tabbed_pane_listener.h @@ -14,6 +14,9 @@ class TabbedPaneListener { public: // Called when the tab at |index| is selected by the user. virtual void TabSelectedAt(int index) = 0; + + protected: + virtual ~TabbedPaneListener() {} }; } // namespace views |