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