#define IDM_TEL_EOF 0x0130
#define IDM_ABOUT 0x0140
#define IDM_SAVEDSESS 0x0150
+#define IDM_COPYALL 0x0160
#define IDM_SAVED_MIN 0x1000
#define IDM_SAVED_MAX 0x2000
{
char *bits;
int size = (font_width+15)/16 * 2 * font_height;
- bits = calloc(size, 1);
+ bits = smalloc(size);
+ memset(bits, 0, size);
caretbm = CreateBitmap(font_width, font_height, 1, 1, bits);
- free(bits);
+ sfree(bits);
}
/*
AppendMenu (m, MF_POPUP | MF_ENABLED, (UINT) s, "Sa&ved Sessions");
AppendMenu (m, MF_ENABLED, IDM_RECONF, "Chan&ge Settings...");
AppendMenu (m, MF_SEPARATOR, 0, 0);
+ AppendMenu (m, MF_ENABLED, IDM_COPYALL, "C&opy All to Clipboard");
AppendMenu (m, MF_ENABLED, IDM_CLRSB, "C&lear Scrollback");
AppendMenu (m, MF_ENABLED, IDM_RESET, "Rese&t Terminal");
AppendMenu (m, MF_SEPARATOR, 0, 0);
cl = c;
} else if (wParam == IDM_SAVEDSESS) {
char *session = sessions[(lParam - IDM_SAVED_MIN) / 16];
- cl = malloc(16 + strlen(session)); /* 8, but play safe */
+ cl = smalloc(16 + strlen(session)); /* 8, but play safe */
if (!cl)
cl = NULL; /* not a very important failure mode */
else {
if (filemap)
CloseHandle(filemap);
if (freecl)
- free(cl);
+ sfree(cl);
}
break;
case IDM_RECONF:
}
}
break;
+ case IDM_COPYALL:
+ term_copyall();
+ break;
case IDM_CLRSB:
term_clrsb();
break;
}
#endif
+ if (wParam == VK_MENU && (HIWORD(lParam)&KF_EXTENDED)) {
+ keystate[VK_RMENU] = keystate[VK_MENU];
+ }
+
/* Note if AltGr was pressed and if it was used as a compose key */
if (cfg.compose_key) {
if (wParam == VK_MENU && (HIWORD(lParam)&KF_EXTENDED))
{
- keystate[VK_RMENU] = keystate[VK_MENU];
if (!compose_state) compose_key = wParam;
}
if (wParam == VK_APPS && !compose_state)
}
else if (compose_state==1 && wParam != VK_CONTROL)
compose_state = 0;
- } else
+ } else {
compose_state = 0;
+ }
/* Nastyness with NUMLock - Shift-NUMLock is left alone though */
if ( (cfg.funky_type == 3 ||