Any application using non-modal dialogs must use IsDialogMessage in
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 26 Sep 2002 18:01:21 +0000 (18:01 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 26 Sep 2002 18:01:21 +0000 (18:01 +0000)
its main message loop, otherwise keyboard accelerators will not work
in the dialogs. I MUST NOT FORGET THIS AGAIN.

git-svn-id: svn://svn.tartarus.org/sgt/putty@1981 cda61777-01e9-0310-a592-d414129be87e

pageant.c

index 2b77dfc..757091a 100644 (file)
--- a/pageant.c
+++ b/pageant.c
@@ -2000,8 +2000,11 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
      * Main message loop.
      */
     while (GetMessage(&msg, NULL, 0, 0) == 1) {
-       TranslateMessage(&msg);
-       DispatchMessage(&msg);
+       if (!(IsWindow(keylist) && IsDialogMessage(keylist, &msg)) &&
+           !(IsWindow(aboutbox) && IsDialogMessage(aboutbox, &msg))) {
+           TranslateMessage(&msg);
+           DispatchMessage(&msg);
+       }
     }
 
     /* Clean up the system tray icon */