summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXWindowEvent.c
diff options
context:
space:
mode:
authordas <das>2006-05-16 06:55:13 (GMT)
committerdas <das>2006-05-16 06:55:13 (GMT)
commitc67b7f72cf772778bef71ff02facdd4fa7bee735 (patch)
tree07e37ff658ec7575d0de516873f3c686368736c5 /macosx/tkMacOSXWindowEvent.c
parent23242197f9fc214bc73d421dfb376397872783fe (diff)
downloadtk-c67b7f72cf772778bef71ff02facdd4fa7bee735.zip
tk-c67b7f72cf772778bef71ff02facdd4fa7bee735.tar.gz
tk-c67b7f72cf772778bef71ff02facdd4fa7bee735.tar.bz2
* macosx/tkMacOSXWindowEvent.c (TkMacOSXGenerateFocusEvent): don't send
focus events to windows of class help or to overrideredirect windows. [Bug 1472624] * macosx/tkMacOSXWm.c: set overrideredirect windows to not become activated by the window manager and to not receive OS activate events (should make them behave more like on other platforms); use modern window class API for overrideredirect and transient windows; set the default class of overrideredirect windows to 'simple' rather than 'plain' (i.e. no window frame); add missing Panther and Tiger window attributes to [::tk::unsupported::MacWindowStyle].
Diffstat (limited to 'macosx/tkMacOSXWindowEvent.c')
-rw-r--r--macosx/tkMacOSXWindowEvent.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/macosx/tkMacOSXWindowEvent.c b/macosx/tkMacOSXWindowEvent.c
index 1c414d3..ec445a6 100644
--- a/macosx/tkMacOSXWindowEvent.c
+++ b/macosx/tkMacOSXWindowEvent.c
@@ -54,7 +54,7 @@
* software in accordance with the terms specified in this
* license.
*
- * RCS: @(#) $Id: tkMacOSXWindowEvent.c,v 1.3.2.12 2006/04/28 06:03:00 das Exp $
+ * RCS: @(#) $Id: tkMacOSXWindowEvent.c,v 1.3.2.13 2006/05/16 06:55:13 das Exp $
*/
#include "tkMacOSXInt.h"
@@ -466,6 +466,15 @@ TkMacOSXGenerateFocusEvent(
}
/*
+ * Don't send focus events to windows of class help or to
+ * overrideredirect windows.
+ */
+ if (((TkWindow *)tkwin)->wmInfoPtr->macClass == kHelpWindowClass ||
+ Tk_Attributes(tkwin)->override_redirect) {
+ return false;
+ }
+
+ /*
* Generate FocusIn and FocusOut events. This event
* is only sent to the toplevel window.
*/