aboutsummaryrefslogtreecommitdiff
path: root/CPP/7zip/UI/FileManager/FM.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CPP/7zip/UI/FileManager/FM.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/CPP/7zip/UI/FileManager/FM.cpp b/CPP/7zip/UI/FileManager/FM.cpp
index fe4f2bd..b2f4c2b 100644
--- a/CPP/7zip/UI/FileManager/FM.cpp
+++ b/CPP/7zip/UI/FileManager/FM.cpp
@@ -63,8 +63,8 @@ bool g_LargePagesMode = false;
63static bool g_Maximized = false; 63static bool g_Maximized = false;
64 64
65extern 65extern
66UInt64 g_RAM_Size; 66size_t g_RAM_Size;
67UInt64 g_RAM_Size; 67size_t g_RAM_Size;
68 68
69#ifdef _WIN32 69#ifdef _WIN32
70extern 70extern
@@ -651,7 +651,7 @@ static int WINAPI WinMain2(int nCmdShow)
651 SplitStringToTwoStrings(commandsString, paramString, tailString); 651 SplitStringToTwoStrings(commandsString, paramString, tailString);
652 paramString.Trim(); 652 paramString.Trim();
653 tailString.Trim(); 653 tailString.Trim();
654 if (tailString.IsPrefixedBy(L"-t")) 654 if (tailString.IsPrefixedBy("-t"))
655 g_ArcFormat = tailString.Ptr(2); 655 g_ArcFormat = tailString.Ptr(2);
656 656
657 /* 657 /*
@@ -1025,8 +1025,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
1025 break; 1025 break;
1026 } 1026 }
1027 1027
1028 case WM_DESTROY: 1028 case WM_CLOSE:
1029 { 1029 {
1030 // why do we use WA_INACTIVE here ?
1031 SendMessage(hWnd, WM_ACTIVATE, MAKEWPARAM(WA_INACTIVE, 0), (LPARAM)hWnd);
1032 g_ExitEventLauncher.Exit(false);
1030 // ::DragAcceptFiles(hWnd, FALSE); 1033 // ::DragAcceptFiles(hWnd, FALSE);
1031 RevokeDragDrop(hWnd); 1034 RevokeDragDrop(hWnd);
1032 g_App._dropTarget.Release(); 1035 g_App._dropTarget.Release();
@@ -1034,12 +1037,18 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
1034 if (g_WindowWasCreated) 1037 if (g_WindowWasCreated)
1035 g_App.Save(); 1038 g_App.Save();
1036 1039
1037 g_App.Release(); 1040 g_App.ReleaseApp();
1038 1041
1039 if (g_WindowWasCreated) 1042 if (g_WindowWasCreated)
1040 SaveWindowInfo(hWnd); 1043 SaveWindowInfo(hWnd);
1041 1044
1042 g_ExitEventLauncher.Exit(true); 1045 g_ExitEventLauncher.Exit(true);
1046 // default DefWindowProc will call DestroyWindow / WM_DESTROY
1047 break;
1048 }
1049
1050 case WM_DESTROY:
1051 {
1043 PostQuitMessage(0); 1052 PostQuitMessage(0);
1044 break; 1053 break;
1045 } 1054 }