eclipse/ebz569853-2.patch
DistroBaker ca1c7600c0 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/eclipse.git#b4c147d96ef29ffc330e7c5fbe9e9f8e84a24ce9
2021-02-06 18:02:56 +00:00

50 lines
1.9 KiB
Diff

From de8045341dd4eda05a98db2157ead188ab21a899 Mon Sep 17 00:00:00 2001
From: Andrey Loskutov
Date: Tue, 22 Dec 2020 12:40:46 +0100
Subject: Bug 569853 - reverted build file change causing crash on native
dialog
Change on the build script was required to compile callback.c with
#define DEBUG_CALL_PRINTS for debug output.
Turned out, this change compiles something that GTK code can't
understand & so it crashes with SIGSEGV on opening native file dialog.
# Problematic frame:
# C [libglib-2.0.so.0+0x39757] g_path_is_absolute+0x7
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.eclipse.swt.internal.gtk.GTK.gtk_file_chooser_set_current_folder(JJ)V+0
j org.eclipse.swt.widgets.FileDialog.presetChooserDialog()V+599
j org.eclipse.swt.widgets.FileDialog.openNativeChooserDialog()Ljava/lang/String;+104
j org.eclipse.swt.widgets.FileDialog.open()Ljava/lang/String;+1
j org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run()V+35
j org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run(Lorg/eclipse/jface/action/IAction;)V+1
Change-Id: I225525d41c41ae90e9f8e30eb53baae18f527634
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
---
diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
index 0bd7b87a77..df33e672e2 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/common/library/callback.c
@@ -1244,12 +1244,13 @@
#ifdef DEBUG_CALL_PRINTS
{
+ int i;
va_list vaCopy;
va_copy(vaCopy, vl);
counter++;
fprintf(stderr, "SWT-JNI:%*scallback[%d](", counter, "", index);
- for (int i=0; i<argCount; i++) {
+ for (i=0; i<argCount; i++) {
void* arg = va_arg(vaCopy, void*);
int isPrinted = 0;
--
cgit v1.2.1