diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-18 21:11:11 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-18 21:11:11 +0000 |
commit | 1a89ea1ad2d890cf196eee4c24a8dec9fa573961 (patch) | |
tree | c2caf29306d0b899a6b5b7785718843e82da828f /base | |
parent | 1b8ca7112df30a566c911d77c84d145ba83fb1fa (diff) | |
download | chromium_src-1a89ea1ad2d890cf196eee4c24a8dec9fa573961.zip chromium_src-1a89ea1ad2d890cf196eee4c24a8dec9fa573961.tar.gz chromium_src-1a89ea1ad2d890cf196eee4c24a8dec9fa573961.tar.bz2 |
Make NativeControl inherit from base::WindowImpl instead of CWindowImpl to reduce a dependency on ATL.
BUG=5027
TEST=none
Review URL: http://codereview.chromium.org/169015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23645 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/window_impl.cc | 9 | ||||
-rw-r--r-- | base/window_impl.h | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/base/window_impl.cc b/base/window_impl.cc index c3b3ad4..7438bd9 100644 --- a/base/window_impl.cc +++ b/base/window_impl.cc @@ -155,7 +155,14 @@ LRESULT WindowImpl::OnWndProc(UINT message, WPARAM w_param, LPARAM l_param) { // Handle the message if it's in our message map; otherwise, let the system // handle it. if (!ProcessWindowMessage(hwnd_, message, w_param, l_param, result)) - result = DefWindowProc(hwnd_, message, w_param, l_param); + result = DefWindowProc(hwnd_, message, w_param, l_param); + + if (message == WM_NCDESTROY) { + // Notify the subclass that this is the last message before the window + // is destroyed. + OnFinalMessage(hwnd_); + hwnd_ = NULL; + } return result; } diff --git a/base/window_impl.h b/base/window_impl.h index 2941c3d9..ff8dd15 100644 --- a/base/window_impl.h +++ b/base/window_impl.h @@ -50,6 +50,9 @@ class WindowImpl : public MessageMapInterface { // Retrieves the default window icon to use for windows if none is specified. virtual HICON GetDefaultWindowIcon() const; + // Override this to be notified of the last message. + virtual void OnFinalMessage(HWND window) {} + // Returns the HWND associated with this Window. HWND hwnd() const { return hwnd_; } |