summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2016-09-26 11:47:47 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2016-09-26 11:47:47 (GMT)
commit1119e63470fa87743572b452320e7d583e5faf19 (patch)
treef0a254d7f7117292a91d85b80d03179e2530523f /win
parent9bfe23ec8dfc74285682572d55318e5b1fe5befb (diff)
parent6fc7c3942a4f1f84b585a5570818f98299254c51 (diff)
downloadtk-1119e63470fa87743572b452320e7d583e5faf19.zip
tk-1119e63470fa87743572b452320e7d583e5faf19.tar.gz
tk-1119e63470fa87743572b452320e7d583e5faf19.tar.bz2
merge core-8-6-branch
Diffstat (limited to 'win')
-rw-r--r--win/rules.vc5
-rw-r--r--win/tkWinKey.c21
2 files changed, 9 insertions, 17 deletions
diff --git a/win/rules.vc b/win/rules.vc
index 6fd079a..2cd711b 100644
--- a/win/rules.vc
+++ b/win/rules.vc
@@ -230,6 +230,10 @@ STATIC_BUILD = 1
!else
STATIC_BUILD = 0
!endif
+!if [nmakehlp -f $(OPTS) "nomsvcrt"]
+!message *** Doing nomsvcrt
+MSVCRT = 0
+!else
!if [nmakehlp -f $(OPTS) "msvcrt"]
!message *** Doing msvcrt
MSVCRT = 1
@@ -240,6 +244,7 @@ MSVCRT = 1
MSVCRT = 0
!endif
!endif
+!endif
!if [nmakehlp -f $(OPTS) "staticpkg"] && $(STATIC_BUILD)
!message *** Doing staticpkg
TCL_USE_STATIC_PACKAGES = 1
diff --git a/win/tkWinKey.c b/win/tkWinKey.c
index 2698c4d..a567653 100644
--- a/win/tkWinKey.c
+++ b/win/tkWinKey.c
@@ -88,6 +88,8 @@ TkpGetString(
* result. */
{
XKeyEvent *keyEv = &eventPtr->xkey;
+ char buf[6];
+ int len;
Tcl_DStringInit(dsPtr);
if (keyEv->send_event == -1) {
@@ -102,8 +104,6 @@ TkpGetString(
*/
int unichar;
- char buf[XMaxTransChars];
- int len;
unichar = keyEv->trans_chars[1] & 0xff;
unichar <<= 8;
@@ -114,22 +114,12 @@ TkpGetString(
Tcl_DStringAppend(dsPtr, buf, len);
} else if (keyEv->send_event == -3) {
- char buf[XMaxTransChars];
- int len;
-
/*
* Special case for WM_UNICHAR.
*/
- len = Tcl_UniCharToUtf(keyEv->keycode, buf);
- if ((keyEv->keycode <= 0xffff) || (len == XMaxTransChars)) {
- Tcl_DStringAppend(dsPtr, buf, len);
- } else {
- Tcl_UniCharToUtf(((keyEv->keycode - 0x10000) >> 10) | 0xd800, buf);
- Tcl_DStringAppend(dsPtr, buf, 3);
- Tcl_UniCharToUtf(((keyEv->keycode - 0x10000) & 0x3ff) | 0xdc00, buf);
- Tcl_DStringAppend(dsPtr, buf, 3);
- }
+ len = TkUniCharToUtf(keyEv->keycode, buf);
+ Tcl_DStringAppend(dsPtr, buf, len);
} else {
/*
* This is an event generated from generic code. It has no nchars or
@@ -140,9 +130,6 @@ TkpGetString(
if (((keysym != NoSymbol) && (keysym > 0) && (keysym < 256))
|| (keysym == XK_Return) || (keysym == XK_Tab)) {
- char buf[XMaxTransChars];
- int len;
-
len = Tcl_UniCharToUtf((Tcl_UniChar) (keysym & 255), buf);
Tcl_DStringAppend(dsPtr, buf, len);
}