From e018a51da3bd0f39572243bb381a32d0104a4056 Mon Sep 17 00:00:00 2001 From: "av%netscape.com" Date: Fri, 30 Mar 2001 23:56:38 +0000 Subject: [PATCH] Fixing 71884, making native Windows Get Plugin dialog modeless, r=serge, sr=waterson git-svn-id: svn://10.0.0.236/trunk@90919 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/modules/plugin/default/windows/dialogs.cpp | 12 ++++++------ mozilla/modules/plugin/default/windows/plugin.cpp | 11 ++++++----- mozilla/modules/plugin/default/windows/plugin.h | 1 + .../plugin/samples/default/windows/dialogs.cpp | 12 ++++++------ .../plugin/samples/default/windows/plugin.cpp | 11 ++++++----- .../modules/plugin/samples/default/windows/plugin.h | 1 + 6 files changed, 26 insertions(+), 22 deletions(-) diff --git a/mozilla/modules/plugin/default/windows/dialogs.cpp b/mozilla/modules/plugin/default/windows/dialogs.cpp index 545d5c0e39f..9db7b76d20d 100644 --- a/mozilla/modules/plugin/default/windows/dialogs.cpp +++ b/mozilla/modules/plugin/default/windows/dialogs.cpp @@ -36,13 +36,16 @@ static void onCommand(HWND hWnd, int id, HWND hWndCtl, UINT codeNotify) switch (id) { case IDC_GET_PLUGIN: - EndDialog(hWnd, IDC_GET_PLUGIN); + DestroyWindow(hWnd); if(pPlugin !=NULL) + { pPlugin->m_hWndDialog = NULL; + pPlugin->getPlugin(); + } break; case IDCANCEL: case IDC_BUTTON_CANCEL: - EndDialog(hWnd, IDCANCEL); + DestroyWindow(hWnd); if(pPlugin !=NULL) pPlugin->m_hWndDialog = NULL; break; @@ -149,10 +152,7 @@ static BOOL onInitDialog(HWND hWnd, HWND hWndFocus, LPARAM lParam) static void onClose(HWND hWnd) { - EndDialog(hWnd, IDCANCEL); - CPlugin * pPlugin = (CPlugin *)GetWindowLong(hWnd, DWL_USER); - if(pPlugin !=NULL) - pPlugin->m_hWndDialog = NULL; + DestroyWindow(hWnd); } static void onDestroy(HWND hWnd) diff --git a/mozilla/modules/plugin/default/windows/plugin.cpp b/mozilla/modules/plugin/default/windows/plugin.cpp index 2176259db85..37bc3a7a0a5 100644 --- a/mozilla/modules/plugin/default/windows/plugin.cpp +++ b/mozilla/modules/plugin/default/windows/plugin.cpp @@ -235,7 +235,7 @@ void CPlugin::shut() if(m_hWndDialog != NULL) { - EndDialog(m_hWndDialog, IDCANCEL); + DestroyWindow(m_hWndDialog); m_hWndDialog = NULL; } @@ -428,12 +428,13 @@ void CPlugin::showGetPluginDialog() if((m_szPageURL != NULL) || (m_szFileURL != NULL) || !m_bJavaScript) { - int iRet = DialogBoxParam(m_hInst, MAKEINTRESOURCE(IDD_PLUGIN_DOWNLOAD), m_hWnd, - (DLGPROC)GetPluginDialogProc, (LPARAM)this); - if(iRet != IDC_GET_PLUGIN) - return; + CreateDialogParam(m_hInst, MAKEINTRESOURCE(IDD_PLUGIN_DOWNLOAD), m_hWnd, + (DLGPROC)GetPluginDialogProc, (LPARAM)this); } +} +void CPlugin::getPlugin() +{ if(m_szCommandMessage != NULL) { delete [] m_szCommandMessage; diff --git a/mozilla/modules/plugin/default/windows/plugin.h b/mozilla/modules/plugin/default/windows/plugin.h index 917ed14a19f..811f5baac8e 100644 --- a/mozilla/modules/plugin/default/windows/plugin.h +++ b/mozilla/modules/plugin/default/windows/plugin.h @@ -74,6 +74,7 @@ public: void shut(); HWND getWindow(); void showGetPluginDialog(); + void getPlugin(); BOOL readyToRefresh(); // NP API handlers diff --git a/mozilla/modules/plugin/samples/default/windows/dialogs.cpp b/mozilla/modules/plugin/samples/default/windows/dialogs.cpp index 545d5c0e39f..9db7b76d20d 100644 --- a/mozilla/modules/plugin/samples/default/windows/dialogs.cpp +++ b/mozilla/modules/plugin/samples/default/windows/dialogs.cpp @@ -36,13 +36,16 @@ static void onCommand(HWND hWnd, int id, HWND hWndCtl, UINT codeNotify) switch (id) { case IDC_GET_PLUGIN: - EndDialog(hWnd, IDC_GET_PLUGIN); + DestroyWindow(hWnd); if(pPlugin !=NULL) + { pPlugin->m_hWndDialog = NULL; + pPlugin->getPlugin(); + } break; case IDCANCEL: case IDC_BUTTON_CANCEL: - EndDialog(hWnd, IDCANCEL); + DestroyWindow(hWnd); if(pPlugin !=NULL) pPlugin->m_hWndDialog = NULL; break; @@ -149,10 +152,7 @@ static BOOL onInitDialog(HWND hWnd, HWND hWndFocus, LPARAM lParam) static void onClose(HWND hWnd) { - EndDialog(hWnd, IDCANCEL); - CPlugin * pPlugin = (CPlugin *)GetWindowLong(hWnd, DWL_USER); - if(pPlugin !=NULL) - pPlugin->m_hWndDialog = NULL; + DestroyWindow(hWnd); } static void onDestroy(HWND hWnd) diff --git a/mozilla/modules/plugin/samples/default/windows/plugin.cpp b/mozilla/modules/plugin/samples/default/windows/plugin.cpp index 2176259db85..37bc3a7a0a5 100644 --- a/mozilla/modules/plugin/samples/default/windows/plugin.cpp +++ b/mozilla/modules/plugin/samples/default/windows/plugin.cpp @@ -235,7 +235,7 @@ void CPlugin::shut() if(m_hWndDialog != NULL) { - EndDialog(m_hWndDialog, IDCANCEL); + DestroyWindow(m_hWndDialog); m_hWndDialog = NULL; } @@ -428,12 +428,13 @@ void CPlugin::showGetPluginDialog() if((m_szPageURL != NULL) || (m_szFileURL != NULL) || !m_bJavaScript) { - int iRet = DialogBoxParam(m_hInst, MAKEINTRESOURCE(IDD_PLUGIN_DOWNLOAD), m_hWnd, - (DLGPROC)GetPluginDialogProc, (LPARAM)this); - if(iRet != IDC_GET_PLUGIN) - return; + CreateDialogParam(m_hInst, MAKEINTRESOURCE(IDD_PLUGIN_DOWNLOAD), m_hWnd, + (DLGPROC)GetPluginDialogProc, (LPARAM)this); } +} +void CPlugin::getPlugin() +{ if(m_szCommandMessage != NULL) { delete [] m_szCommandMessage; diff --git a/mozilla/modules/plugin/samples/default/windows/plugin.h b/mozilla/modules/plugin/samples/default/windows/plugin.h index 917ed14a19f..811f5baac8e 100644 --- a/mozilla/modules/plugin/samples/default/windows/plugin.h +++ b/mozilla/modules/plugin/samples/default/windows/plugin.h @@ -74,6 +74,7 @@ public: void shut(); HWND getWindow(); void showGetPluginDialog(); + void getPlugin(); BOOL readyToRefresh(); // NP API handlers