summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java
diff options
context:
space:
mode:
authorKevin Barnes <krbarnes>2009-03-26 21:42:04 +0000
committerKevin Barnes <krbarnes>2009-03-26 21:42:04 +0000
commit849737990e1e8297b762c3b6d5d7471e3b1737be (patch)
tree80e58bfba7c34d16641be835e651c56f0162e874 /bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java
parentee2f579d39aac1495e26936c185f2d3fdde43458 (diff)
downloadeclipse.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-xbundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tracker.java91
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;