summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/external_tab_container.cc6
-rw-r--r--chrome/browser/external_tab_container.h3
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: