Jacob's patch to make passphrase boxes work more sanely
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 28 Apr 2001 11:41:33 +0000 (11:41 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 28 Apr 2001 11:41:33 +0000 (11:41 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@1084 cda61777-01e9-0310-a592-d414129be87e

pageant.c
pageant.rc
puttygen.c
puttygen.rc

index 6f94262..2d0b15e 100644 (file)
--- a/pageant.c
+++ b/pageant.c
@@ -170,7 +170,7 @@ static int CALLBACK AboutProc (HWND hwnd, UINT msg,
  */
 static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
                                    WPARAM wParam, LPARAM lParam) {
-    static char *passphrase;
+    static char *passphrase = NULL;
     struct PassphraseProcStruct *p;
 
     switch (msg) {
@@ -197,6 +197,7 @@ static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
         if (p->comment)
             SetDlgItemText(hwnd, 101, p->comment);
         *passphrase = 0;
+        SetDlgItemText (hwnd, 102, passphrase);
         return 0;
       case WM_COMMAND:
        switch (LOWORD(wParam)) {
@@ -210,7 +211,7 @@ static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
            EndDialog (hwnd, 0);
            return 0;
           case 102:                    /* edit box */
-           if (HIWORD(wParam) == EN_CHANGE) {
+           if ((HIWORD(wParam) == EN_CHANGE) && passphrase) {
                 GetDlgItemText (hwnd, 102, passphrase, PASSPHRASE_MAXLEN-1);
                 passphrase[PASSPHRASE_MAXLEN-1] = '\0';
             }
index f25ebcf..e80cb54 100644 (file)
@@ -13,7 +13,7 @@ FONT 8, "MS Sans Serif"
 BEGIN
     CTEXT "Enter passphrase for key", 100, 10, 6, 120, 8
     CTEXT "", 101, 10, 16, 120, 8
-    EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD
+    EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD | ES_AUTOHSCROLL
     DEFPUSHBUTTON "O&K", IDOK, 20, 42, 40, 14
     PUSHBUTTON "&Cancel", IDCANCEL, 80, 42, 40, 14
 END
index ac5079e..6f5d816 100644 (file)
@@ -93,7 +93,7 @@ struct PassphraseProcStruct {
  */
 static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
                                    WPARAM wParam, LPARAM lParam) {
-    static char *passphrase;
+    static char *passphrase = NULL;
     struct PassphraseProcStruct *p;
 
     switch (msg) {
@@ -121,6 +121,7 @@ static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
         if (p->comment)
             SetDlgItemText(hwnd, 101, p->comment);
         *passphrase = 0;
+        SetDlgItemText(hwnd, 102, passphrase);
         return 0;
       case WM_COMMAND:
        switch (LOWORD(wParam)) {
@@ -134,7 +135,7 @@ static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
            EndDialog (hwnd, 0);
            return 0;
           case 102:                    /* edit box */
-           if (HIWORD(wParam) == EN_CHANGE) {
+           if ((HIWORD(wParam) == EN_CHANGE) && passphrase) {
                 GetDlgItemText (hwnd, 102, passphrase, PASSPHRASE_MAXLEN-1);
                 passphrase[PASSPHRASE_MAXLEN-1] = '\0';
             }
index f98393b..02b3e8b 100644 (file)
@@ -19,7 +19,7 @@ FONT 8, "MS Sans Serif"
 BEGIN
     CTEXT "Enter passphrase for key", 100, 10, 6, 120, 8
     CTEXT "", 101, 10, 16, 120, 8
-    EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD
+    EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD | ES_AUTOHSCROLL
     DEFPUSHBUTTON "O&K", IDOK, 20, 42, 40, 14
     PUSHBUTTON "&Cancel", IDCANCEL, 80, 42, 40, 14
 END