summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLakshmi Shanmugam <lshanmugam>2011-04-18 17:46:21 +0000
committerLakshmi Shanmugam <lshanmugam>2011-04-18 17:46:21 +0000
commit8d66d244651126d595fed8d7b0d0ee0cdf546cb2 (patch)
treed446eec179c0c9d4ff0375dc7a8cd57264152384
parente75051f2a3dcdf07b3842c97ef8e1b671714a16c (diff)
downloadeclipse.platform.swt-8d66d244651126d595fed8d7b0d0ee0cdf546cb2.tar.gz
eclipse.platform.swt-8d66d244651126d595fed8d7b0d0ee0cdf546cb2.tar.xz
eclipse.platform.swt-8d66d244651126d595fed8d7b0d0ee0cdf546cb2.zip
Bug 341402-SWT Cocoa crash in 3.7M6
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSView.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java1
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java4
4 files changed, 13 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras
index 434633dfd8..56b1a86d6f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras
@@ -4013,6 +4013,10 @@
<method selector="removeFromSuperview" swt_gen="true">
<retval swt_gen="true"></retval>
</method>
+ <method selector="removeToolTip:" swt_gen="true">
+ <arg swt_gen="true"></arg>
+ <retval swt_gen="true"></retval>
+ </method>
<method selector="removeTrackingArea:" swt_gen="true">
<arg swt_gen="true"></arg>
<retval swt_gen="true"></retval>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSView.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSView.java
index c16bda3933..fd70c7f9bb 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSView.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSView.java
@@ -219,6 +219,10 @@ public void removeFromSuperview() {
OS.objc_msgSend(this.id, OS.sel_removeFromSuperview);
}
+public void removeToolTip(int /*long*/ tag) {
+ OS.objc_msgSend(this.id, OS.sel_removeToolTip_, tag);
+}
+
public void removeTrackingArea(NSTrackingArea trackingArea) {
OS.objc_msgSend(this.id, OS.sel_removeTrackingArea_, trackingArea != null ? trackingArea.id : 0);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java
index c983d2cd5c..4295593de2 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java
@@ -1645,6 +1645,7 @@ public static final int /*long*/ sel_removeStatusItem_ = sel_registerName("remov
public static final int /*long*/ sel_removeTabViewItem_ = sel_registerName("removeTabViewItem:");
public static final int /*long*/ sel_removeTableColumn_ = sel_registerName("removeTableColumn:");
public static final int /*long*/ sel_removeTemporaryAttribute_forCharacterRange_ = sel_registerName("removeTemporaryAttribute:forCharacterRange:");
+public static final int /*long*/ sel_removeToolTip_ = sel_registerName("removeToolTip:");
public static final int /*long*/ sel_removeTrackingArea_ = sel_registerName("removeTrackingArea:");
public static final int /*long*/ sel_replaceCharactersInRange_withString_ = sel_registerName("replaceCharactersInRange:withString:");
public static final int /*long*/ sel_replyToOpenOrPrint_ = sel_registerName("replyToOpenOrPrint:");
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
index bf4e8677ea..3817c92f4e 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
@@ -1381,6 +1381,10 @@ void releaseParent () {
void releaseWidget () {
super.releaseWidget ();
+ if (tooltipTag != 0) {
+ view.window().contentView().removeToolTip(tooltipTag);
+ tooltipTag = 0;
+ }
display.clearModal (this);
updateParent (false);
display.updateQuitMenu();