diff options
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java | 6 | ||||
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index 6410b6ce65..e88d5454d2 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java @@ -1685,8 +1685,10 @@ static boolean isValidClass (Class clazz) { public int getDismissalAlignment () { checkDevice (); int [] buffer = new int [1]; - int /*long*/ settings = OS.gtk_settings_get_default (); - OS.g_object_get (settings, OS.gtk_alternative_button_order, buffer, 0); + if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) { + int /*long*/ settings = OS.gtk_settings_get_default (); + OS.g_object_get (settings, OS.gtk_alternative_button_order, buffer, 0); + } return buffer [0] == 1 ? SWT.LEFT : SWT.RIGHT; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java index 5d6ff08203..fe8e790f4b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java @@ -523,8 +523,10 @@ void presetChooserDialog () { * The fix is to use the canonical path. */ int /*long*/ ptr = OS.realpath (buffer, null); - OS.gtk_file_chooser_set_filename (handle, ptr); - OS.g_free (ptr); + if (ptr != 0) { + OS.gtk_file_chooser_set_filename (handle, ptr); + OS.g_free (ptr); + } } } |