diff options
-rw-r--r-- | chrome/browser/external_tab_container.cc | 6 | ||||
-rw-r--r-- | chrome/browser/external_tab_container.h | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/chrome/browser/external_tab_container.cc b/chrome/browser/external_tab_container.cc index 9fd060e..bf6dfd8 100644 --- a/chrome/browser/external_tab_container.cc +++ b/chrome/browser/external_tab_container.cc @@ -130,7 +130,6 @@ bool ExternalTabContainer::Uninitialize(HWND window) { } void ExternalTabContainer::OnFinalMessage(HWND window) { - Uninitialize(window); delete this; } @@ -145,6 +144,11 @@ LRESULT ExternalTabContainer::OnSize(UINT, WPARAM, LPARAM, BOOL& handled) { return 0; } +LRESULT ExternalTabContainer::OnDestroy(UINT, WPARAM, LPARAM, BOOL& handled) { + Uninitialize(m_hWnd); + return 0; +} + void ExternalTabContainer::OpenURLFromTab(TabContents* source, const GURL& url, const GURL& referrer, diff --git a/chrome/browser/external_tab_container.h b/chrome/browser/external_tab_container.h index cc794a7..a9aab87 100644 --- a/chrome/browser/external_tab_container.h +++ b/chrome/browser/external_tab_container.h @@ -40,6 +40,7 @@ class ExternalTabContainer : public TabContentsDelegate, public: BEGIN_MSG_MAP(ExternalTabContainer) MESSAGE_HANDLER(WM_SIZE, OnSize) + MESSAGE_HANDLER(WM_DESTROY, OnDestroy) END_MSG_MAP() DECLARE_WND_CLASS(chrome::kExternalTabWindowClass) @@ -140,7 +141,7 @@ class ExternalTabContainer : public TabContentsDelegate, protected: LRESULT OnSize(UINT, WPARAM, LPARAM, BOOL& handled); - void OnDestroy(); + LRESULT OnDestroy(UINT, WPARAM, LPARAM, BOOL& handled); void OnFinalMessage(HWND window); protected: |