diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-11-10 13:54:09 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-11-10 13:54:09 (GMT) |
commit | 2a9fdd77c974171312d269dead962e6dcfc0ab21 (patch) | |
tree | 2e19a516c08dfef92ca282596e4174a5dc32daaf | |
parent | 86d9383e5ac170ca8a034085bb778f6fd96b7755 (diff) | |
download | tk-2a9fdd77c974171312d269dead962e6dcfc0ab21.zip tk-2a9fdd77c974171312d269dead962e6dcfc0ab21.tar.gz tk-2a9fdd77c974171312d269dead962e6dcfc0ab21.tar.bz2 |
Fix [5ee8af61e5ef8e233158a43459624f4ecf58a6fe|5ee8af61e5] on Win64: Window embedding can not work on 64-bit Unix and Windows
-rw-r--r-- | win/tkWinEmbed.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/win/tkWinEmbed.c b/win/tkWinEmbed.c index b7f5085..a0670cc 100644 --- a/win/tkWinEmbed.c +++ b/win/tkWinEmbed.c @@ -256,10 +256,13 @@ TkpUseWindow( return TCL_OK; } - if (Tcl_GetInt(interp, string, &id) != TCL_OK) { + if ( +#ifdef _WIN64 + (sscanf(string, "0x%p", &hwnd) != 1) && +#endif + Tcl_GetInt(interp, string, (int *) &hwnd) != TCL_OK) { return TCL_ERROR; } - hwnd = (HWND) INT2PTR(id); if ((HWND)winPtr->privatePtr == hwnd) { return TCL_OK; } |