diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | ChangeLog.2004 | 6 | ||||
-rw-r--r-- | changes | 8 | ||||
-rw-r--r-- | generic/tkFocus.c | 12 |
4 files changed, 25 insertions, 12 deletions
@@ -1,3 +1,10 @@ +2012-11-07 Donal K. Fellows <dkf@users.sf.net> + + * generic/tkFocus.c (TkSetFocusWin): [Bug 3574708]: Move window + liveness into this function from caller sites to ensure that there are + no paths where things can trip up on setting the focus to a partially + dead window. + 2012-10-24 Don Porter <dgp@users.sourceforge.net> * macosx/tkMacOSXWm.c: [Bug 3574893] Add overlooked toplevel ref @@ -1464,7 +1471,7 @@ * unix/tkUnixSelect.c (SelCvtFromX32, SelCvtFromX8): Make the incremental transfer of binary selections work get deserialized - correctly. Thanks to Emiliano Gavilan for detecting. + correctly. Thanks to Emiliano Gavilán for detecting. 2009-07-15 Donal K. Fellows <dkf@users.sf.net> @@ -2172,7 +2179,7 @@ * changes: Updates for 8.5.2 release. * unix/tkUnixCursor.c: Stop crash in [. configure -cursor] on X11. - Thanks to emiliano gavilán. [Bug 1922466] + Thanks to Emiliano Gavilán. [Bug 1922466] 2008-03-26 Joe English <jenglish@users.sourceforge.net> diff --git a/ChangeLog.2004 b/ChangeLog.2004 index 5a02238..bf86629 100644 --- a/ChangeLog.2004 +++ b/ChangeLog.2004 @@ -368,7 +368,7 @@ an .xbm extension so Windows users won't get confused when wandering around the Tcl source tree. [Bug 733835] -2004-10-11 Miguel Bañon <bagnonm@users.sourceforge.net> +2004-10-11 Miguel Bañon <bagnonm@users.sourceforge.net> * library/msgs/sv.msg: Swedish message catalog from Mats Bengtsson. @@ -1087,7 +1087,7 @@ 2004-04-21 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de> Mac OS X: Fix several problems with Icelandic (and Faroese) keyboards - reported by Jérôme Gagnon-Voyer <gagnonje5000<at>mac<dot>com> on + reported by Jérôme Gagnon-Voyer <gagnonje5000<at>mac<dot>com> on tcl-mac on 2004-03-22. * macosx/tkMacOSXKeyEvent.c (KLSInit): Add. @@ -2782,7 +2782,7 @@ * doc/text.n: Fixed markup errors. -2003-05-28 Miguel Bañón <bagnonm@users.sourceforge.net> +2003-05-28 Miguel Bañón <bagnonm@users.sourceforge.net> * library/msgs/cs.msg: Updated messages from wohnivec@iol.cz @@ -3731,7 +3731,7 @@ broken on the Mac and Windows. Added the ability to set the title of a menu when it gets torn off and override Tk's automatic generation of the title. On the Macintosh, whenever a menu label contains three dots in a row "...", the menu will instead -display the elipses character 'É'. (SRP) +display the elipses character '…'. (SRP) 3/27/97 (bug fixes) When a menu had an error executing a postcommand, the error information was getting lost. On Windows, a set of @@ -6492,7 +6492,7 @@ Several documentation and release notes improvements 2008-03-21 (bug fix)[1863007,1920030] Export Ttk stubs table (english) -2008-03-26 (bug fix)[1922466] crash in [. configure -cursor] (gavilán) +2008-03-26 (bug fix)[1922466] crash in [. configure -cursor] (gavilán) 2008-03-27 (platform support)[1921166] Solaris 64bit build fixes (steffen) @@ -6678,7 +6678,7 @@ in screen distances, reducing precision loss (ferrieux) 2009-12-06 (bug fix)[2548661] crash in GetFontFamilyName (riefenstahl) -2009-12-06 (bug fix)[2864685] Compiz menu item animation (gavilan,thoyts) +2009-12-06 (bug fix)[2864685] Compiz menu item animation (gavilán,thoyts) 2009-12-09 (bug fix)[2902573] Update Safe Tk to new Safe Base (kurpies) @@ -6852,7 +6852,7 @@ Many revisions to better support a Cygwin environment (nijtmans) 2012-08-24 (bug fix)[3558535] file dialog filtering (fellows) -2012-08-25 (bug fix)[3554026,3561016] crash with tearoff menus (gavilan) +2012-08-25 (bug fix)[3554026,3561016] crash with tearoff menus (gavilán) 2012-08-28 (bug fix)[3562426] Context menu goes off screen (nijtmans) diff --git a/generic/tkFocus.c b/generic/tkFocus.c index 4814c17..85093ee 100644 --- a/generic/tkFocus.c +++ b/generic/tkFocus.c @@ -160,9 +160,7 @@ Tk_FocusObjCmd( if (newPtr == NULL) { return TCL_ERROR; } - if (!(newPtr->flags & TK_ALREADY_DEAD)) { - TkSetFocusWin(newPtr, 0); - } + TkSetFocusWin(newPtr, 0); return TCL_OK; } } @@ -552,6 +550,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); /* |