diff options
author | fvogel <fvogelnew1@free.fr> | 2018-08-19 14:14:50 (GMT) |
---|---|---|
committer | fvogel <fvogelnew1@free.fr> | 2018-08-19 14:14:50 (GMT) |
commit | f3830c78e2a06d1f549182574b04d95b19c0c9ee (patch) | |
tree | 403fc3a8e86d9ad2c4ee8de777a6d9d094d7ca47 /generic/tkWindow.c | |
parent | 11648c96884595e922b50bc13695d882171a8a73 (diff) | |
parent | 211a0239b0584af778fc73614ad8311ff104e8a6 (diff) | |
download | tk-f3830c78e2a06d1f549182574b04d95b19c0c9ee.zip tk-f3830c78e2a06d1f549182574b04d95b19c0c9ee.tar.gz tk-f3830c78e2a06d1f549182574b04d95b19c0c9ee.tar.bz2 |
merge trunk
Diffstat (limited to 'generic/tkWindow.c')
-rw-r--r-- | generic/tkWindow.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/generic/tkWindow.c b/generic/tkWindow.c index e4d2281..aff5cf9 100644 --- a/generic/tkWindow.c +++ b/generic/tkWindow.c @@ -2788,6 +2788,18 @@ DeleteWindowsExitProc( } /* + * Let error handlers catch up before actual close of displays. + * Must be done before tsdPtr->displayList is cleared, otherwise + * ErrorProc() in tkError.c cannot associate the pending X errors + * to the remaining error handlers. + */ + + for (dispPtr = tsdPtr->displayList; dispPtr != NULL; + dispPtr = dispPtr->nextPtr) { + XSync(dispPtr->display, False); + } + + /* * Iterate destroying the displays until no more displays remain. It is * possible for displays to get recreated during exit by any code that * calls GetScreen, so we must destroy these new displays as well as the @@ -3191,8 +3203,8 @@ Initialize( */ { - int numBytes; - const char *bytes = Tcl_GetStringFromObj(nameObj, &numBytes); + size_t numBytes; + const char *bytes = TkGetStringFromObj(nameObj, &numBytes); classObj = Tcl_NewStringObj(bytes, numBytes); |