diff options
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkFocus.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/generic/tkFocus.c b/generic/tkFocus.c index b5e2edf..cfd2216 100644 --- a/generic/tkFocus.c +++ b/generic/tkFocus.c @@ -153,9 +153,7 @@ Tk_FocusObjCmd( if (newPtr == NULL) { return TCL_ERROR; } - if (!(newPtr->flags & TK_ALREADY_DEAD)) { - TkSetFocusWin(newPtr, 0); - } + TkSetFocusWin(newPtr, 0); return TCL_OK; } } @@ -545,6 +543,14 @@ TkSetFocusWin( TkWindow *topLevelPtr; int allMapped, serial; + /* + * Don't set focus if window is already dead. [Bug 3574708] + */ + + if (winPtr->flags & TK_ALREADY_DEAD) { + return; + } + displayFocusPtr = FindDisplayFocusInfo(winPtr->mainPtr, winPtr->dispPtr); /* |