jkang / rpms / eclipse

Forked from rpms/eclipse 4 years ago
Clone
37911ff
From fa50d3f2eca0386f99312210ce0d759d45631ef4 Mon Sep 17 00:00:00 2001
37911ff
From: Alexander Kurtakov
37911ff
Date: Mon, 27 Nov 2017 14:26:02 +0200
37911ff
Subject: Bug 527693 - [Wayland] TextTransfer crash (libX11.so) due to an x11
37911ff
 call gdk_x11_display_utf8_to_compound_text
37911ff
37911ff
Compound text is dead technology and fully obsoleted by UTF actually. Do
37911ff
not claim support for it if not on X11. This should fix the crash.
37911ff
37911ff
Change-Id: Id4df68bc3e2052eee88f22a3b06c94537cc6899a
37911ff
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
37911ff
---
37911ff
 .../gtk/org/eclipse/swt/dnd/TextTransfer.java                | 12 +++++++++---
37911ff
 1 file changed, 9 insertions(+), 3 deletions(-)
37911ff
37911ff
diff --git a/eclipse.platform.swtbundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java
37911ff
index 5da8f52..6148efb 100644
37911ff
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java	
37911ff
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java	
37911ff
@@ -72,7 +72,7 @@ public void javaToNative (Object object, TransferData transferData) {
37911ff
 	}
37911ff
 	String string = (String)object;
37911ff
 	byte[] utf8 = Converter.wcsToMbcs (string, true);
37911ff
-	if  (transferData.type ==  COMPOUND_TEXT_ID) {
37911ff
+	if  (OS.isX11() && transferData.type ==  COMPOUND_TEXT_ID) {
37911ff
 		long /*int*/[] encoding = new long /*int*/[1];
37911ff
 		int[] format = new int[1];
37911ff
 		long /*int*/[] ctext = new long /*int*/[1];
37911ff
@@ -136,12 +136,18 @@ public Object nativeToJava(TransferData transferData){
37911ff
 
37911ff
 @Override
37911ff
 protected int[] getTypeIds() {
37911ff
-	return new int[] {UTF8_STRING_ID, COMPOUND_TEXT_ID, STRING_ID};
37911ff
+	if (OS.isX11()) {
37911ff
+		return new int[] {UTF8_STRING_ID, COMPOUND_TEXT_ID, STRING_ID};
37911ff
+	}
37911ff
+	return new int[] {UTF8_STRING_ID, STRING_ID};
37911ff
 }
37911ff
 
37911ff
 @Override
37911ff
 protected String[] getTypeNames() {
37911ff
-	return new String[] {UTF8_STRING, COMPOUND_TEXT, STRING};
37911ff
+	if (OS.isX11()) {
37911ff
+		return new String[] {UTF8_STRING, COMPOUND_TEXT, STRING};
37911ff
+	}
37911ff
+	return new String[] {UTF8_STRING, STRING};
37911ff
 }
37911ff
 
37911ff
 boolean checkText(Object object) {
37911ff
-- 
37911ff
cgit v1.1
37911ff
37911ff