diff options
author | Kevin Barnes <krbarnes> | 2009-03-26 21:42:04 +0000 |
---|---|---|
committer | Kevin Barnes <krbarnes> | 2009-03-26 21:42:04 +0000 |
commit | 849737990e1e8297b762c3b6d5d7471e3b1737be (patch) | |
tree | 80e58bfba7c34d16641be835e651c56f0162e874 /bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java | |
parent | ee2f579d39aac1495e26936c185f2d3fdde43458 (diff) | |
download | eclipse.platform.swt-849737990e1e8297b762c3b6d5d7471e3b1737be.tar.gz eclipse.platform.swt-849737990e1e8297b762c3b6d5d7471e3b1737be.tar.xz eclipse.platform.swt-849737990e1e8297b762c3b6d5d7471e3b1737be.zip |
270036 - UI Test Suite does not run to completion.
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java')
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java | 91 |
1 files changed, 47 insertions, 44 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java index e5e9a96862..4ca6690d29 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java @@ -792,51 +792,54 @@ public boolean open () { /* Tracker behaves like a Dialog with its own OS event loop. */ while (tracking && !cancelled) { NSAutoreleasePool pool = (NSAutoreleasePool)new NSAutoreleasePool().alloc().init(); - NSEvent event = application.nextEventMatchingMask(0, NSDate.distantFuture(), OS.NSDefaultRunLoopMode, true); - if (event == null) continue; - int type = (int)/*64*/event.type(); - switch (type) { - case OS.NSLeftMouseUp: - case OS.NSRightMouseUp: - case OS.NSOtherMouseUp: - case OS.NSMouseMoved: - case OS.NSLeftMouseDragged: - case OS.NSRightMouseDragged: - case OS.NSOtherMouseDragged: - mouse(event); - break; - case OS.NSKeyDown: -// case OS.NSKeyUp: - case OS.NSFlagsChanged: - key(event); - break; - } - boolean dispatch = true; - switch (type) { - case OS.NSLeftMouseDown: - case OS.NSLeftMouseUp: - case OS.NSRightMouseDown: - case OS.NSRightMouseUp: - case OS.NSOtherMouseDown: - case OS.NSOtherMouseUp: - case OS.NSMouseMoved: - case OS.NSLeftMouseDragged: - case OS.NSRightMouseDragged: - case OS.NSOtherMouseDragged: - case OS.NSMouseEntered: - case OS.NSMouseExited: - case OS.NSKeyDown: - case OS.NSKeyUp: - case OS.NSFlagsChanged: - dispatch = false; - } - if (dispatch) application.sendEvent(event); - if (clientCursor != null && resizeCursor == null) { - display.lockCursor = false; - clientCursor.handle.set(); - display.lockCursor = true; + try { + NSEvent event = application.nextEventMatchingMask(0, NSDate.distantFuture(), OS.NSDefaultRunLoopMode, true); + if (event == null) continue; + int type = (int)/*64*/event.type(); + switch (type) { + case OS.NSLeftMouseUp: + case OS.NSRightMouseUp: + case OS.NSOtherMouseUp: + case OS.NSMouseMoved: + case OS.NSLeftMouseDragged: + case OS.NSRightMouseDragged: + case OS.NSOtherMouseDragged: + mouse(event); + break; + case OS.NSKeyDown: +// case OS.NSKeyUp: + case OS.NSFlagsChanged: + key(event); + break; + } + boolean dispatch = true; + switch (type) { + case OS.NSLeftMouseDown: + case OS.NSLeftMouseUp: + case OS.NSRightMouseDown: + case OS.NSRightMouseUp: + case OS.NSOtherMouseDown: + case OS.NSOtherMouseUp: + case OS.NSMouseMoved: + case OS.NSLeftMouseDragged: + case OS.NSRightMouseDragged: + case OS.NSOtherMouseDragged: + case OS.NSMouseEntered: + case OS.NSMouseExited: + case OS.NSKeyDown: + case OS.NSKeyUp: + case OS.NSFlagsChanged: + dispatch = false; + } + if (dispatch) application.sendEvent(event); + if (clientCursor != null && resizeCursor == null) { + display.lockCursor = false; + clientCursor.handle.set(); + display.lockCursor = true; + } + } finally { + pool.release(); } - pool.release(); } if (oldTrackingControl != null && !oldTrackingControl.isDisposed()) { display.trackingControl = oldTrackingControl; |