summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXWindowEvent.c
diff options
context:
space:
mode:
authordas <das>2006-05-16 06:55:05 (GMT)
committerdas <das>2006-05-16 06:55:05 (GMT)
commitf79ac60ef10788b761ef42fd0051273cc9fe67ef (patch)
tree48c437185bb45133c5f9ba233f5fa30e82fbe1c7 /macosx/tkMacOSXWindowEvent.c
parentb55e0a8664c543af11269e9b382f6fafc12240ef (diff)
downloadtk-f79ac60ef10788b761ef42fd0051273cc9fe67ef.zip
tk-f79ac60ef10788b761ef42fd0051273cc9fe67ef.tar.gz
tk-f79ac60ef10788b761ef42fd0051273cc9fe67ef.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 3719703..7560416 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.13 2006/04/11 10:21:28 das Exp $
+ * RCS: @(#) $Id: tkMacOSXWindowEvent.c,v 1.14 2006/05/16 06:55:05 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.
*/