Author: manolo
Date: 2010-12-12 00:37:21 -0800 (Sun, 12 Dec 2010)
New Revision: 8014
Log:
Moved some code from do_queued_events() to a better location in [FLApplication
sendEvent:]
Modified:
branches/branch-1.3/src/Fl_cocoa.mm
Modified: branches/branch-1.3/src/Fl_cocoa.mm
===================================================================
--- branches/branch-1.3/src/Fl_cocoa.mm 2010-12-11 22:34:05 UTC (rev 8013)
+++ branches/branch-1.3/src/Fl_cocoa.mm 2010-12-12 08:37:21 UTC (rev 8014)
@@ -676,22 +676,7 @@
untilDate:[NSDate
dateWithTimeIntervalSinceNow:time]
inMode:NSDefaultRunLoopMode
dequeue:YES];
if (event != nil) {
- BOOL needSendEvent = YES;
- if ([event type] == NSLeftMouseDown) {
- Fl_Window *grab = Fl::grab();
- if (grab && grab != [(FLWindow *)[event window] getFl_Window]) {
- // a click event out of a menu window, so we should close this menu
- // done here to catch also clicks on window title bar/resize box
- cocoaMouseHandler(event);
- }
- }
- else if ([event type] == NSApplicationDefined) {
- if ([event subtype] == FLTKDataReadyEvent) {
- processFLTKEvent();
- }
- needSendEvent = NO;
- }
- if (needSendEvent) [NSApp sendEvent:event];
+ [NSApp sendEvent:event]; // reimplemented in [FLApplication sendevent:]
}
fl_lock_function();
@@ -1332,20 +1317,31 @@
- (void)sendEvent:(NSEvent *)theEvent;
@end
@implementation FLApplication
-// The default sendEvent turns key downs into performKeyEquivalent when
-// modifiers are down, but swallows the key up if the modifiers include
-// command. This one makes all modifiers consistent by always sending key ups.
-// FLView treats performKeyEquivalent to keyDown, but performKeyEquivalent is
-// still needed for the system menu.
- (void)sendEvent:(NSEvent *)theEvent
{
- NSEventType type = [theEvent type];
- NSWindow *key = [self keyWindow];
- if (key && type == NSKeyUp) {
- [key sendEvent:theEvent];
- } else {
- [super sendEvent:theEvent];
- }
+ NSEventType type = [theEvent type];
+ if (type == NSLeftMouseDown) {
+ Fl_Window *grab = Fl::grab();
+ if (grab && grab != [(FLWindow *)[theEvent window] getFl_Window]) {
+ // a click event out of a menu window, so we should close this menu
+ // done here to catch also clicks on window title bar/resize box
+ cocoaMouseHandler(theEvent);
+ }
+ } else if (type == NSApplicationDefined) {
+ if ([theEvent subtype] == FLTKDataReadyEvent) {
+ processFLTKEvent();
+ }
+ return;
+ } else if (type == NSKeyUp) {
+ // The default sendEvent turns key downs into performKeyEquivalent when
+ // modifiers are down, but swallows the key up if the modifiers include
+ // command. This one makes all modifiers consistent by always sending key
ups.
+ // FLView treats performKeyEquivalent to keyDown, but performKeyEquivalent
is
+ // still needed for the system menu.
+ [[self keyWindow] sendEvent:theEvent];
+ return;
+ }
+ [super sendEvent:theEvent];
}
@end
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit