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