projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Robert de Bath's multi-purpose patch, slightly modified.
[u/mdw/putty]
/
window.c
diff --git
a/window.c
b/window.c
index
4aae422
..
fd46be4
100644
(file)
--- a/
window.c
+++ b/
window.c
@@
-3,6
+3,7
@@
#include <winsock.h>
#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#include <stdio.h>
#include <stdlib.h>
+#include <ctype.h>
#define PUTTY_DO_GLOBALS /* actually _define_ globals */
#include "putty.h"
#define PUTTY_DO_GLOBALS /* actually _define_ globals */
#include "putty.h"
@@
-150,7
+151,7
@@
int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) {
*/
HANDLE filemap;
Config *cp;
*/
HANDLE filemap;
Config *cp;
- if (sscanf(p+1, "%
x
", &filemap) == 1 &&
+ if (sscanf(p+1, "%
p
", &filemap) == 1 &&
(cp = MapViewOfFile(filemap, FILE_MAP_READ,
0, 0, sizeof(Config))) != NULL) {
cfg = *cp;
(cp = MapViewOfFile(filemap, FILE_MAP_READ,
0, 0, sizeof(Config))) != NULL) {
cfg = *cp;
@@
-309,6
+310,11
@@
int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) {
inbuf_reap = inbuf_head = 0;
outbuf_reap = outbuf_head = 0;
inbuf_reap = inbuf_head = 0;
outbuf_reap = outbuf_head = 0;
+ /*
+ * Choose unscroll method
+ */
+ unscroll_event = US_DISP;
+
/*
* Prepare the mouse handler.
*/
/*
* Prepare the mouse handler.
*/
@@
-671,7
+677,7
@@
static int WINAPI WndProc (HWND hwnd, UINT message,
UnmapViewOfFile(p);
}
}
UnmapViewOfFile(p);
}
}
- sprintf(c, "putty &%
08x
", filemap);
+ sprintf(c, "putty &%
p
", filemap);
cl = c;
} else if (wParam == IDM_SAVEDSESS) {
char *session = sessions[(lParam - IDM_SAVED_MIN) / 16];
cl = c;
} else if (wParam == IDM_SAVEDSESS) {
char *session = sessions[(lParam - IDM_SAVED_MIN) / 16];
@@
-1224,6
+1230,14
@@
static int TranslateKey(WPARAM wParam, LPARAM lParam, unsigned char *output) {
ret = GetKeyboardState(keystate);
/*
ret = GetKeyboardState(keystate);
/*
+ * Record that we pressed key so the scroll window can be reset, but
+ * be careful to avoid Shift-UP/Down
+ */
+ if( wParam != VK_SHIFT && wParam != VK_PRIOR && wParam != VK_NEXT ) {
+ seen_key_event = 1;
+ }
+
+ /*
* Windows does not always want to distinguish left and right
* Alt or Control keys. Thus we keep track of them ourselves.
* See also the WM_KEYUP handler.
* Windows does not always want to distinguish left and right
* Alt or Control keys. Thus we keep track of them ourselves.
* See also the WM_KEYUP handler.