diff options
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Control.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Control.java index 94ba66405d..6369e78696 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Control.java @@ -2252,7 +2252,10 @@ int kEventControlTrack (int nextHandler, int theEvent, int userData) { display.pollingTimer = timer = id [0]; } } + int window = OS.GetControlOwner (handle); + OS.CFRetain (window); int result = super.kEventControlTrack (nextHandler, theEvent, userData); + OS.CFRelease (window); if (timer != 0) { OS.RemoveEventLoopTimer (timer); display.pollingTimer = 0; |