summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
diff options
context:
space:
mode:
authorSilenio Quarti <silenio_quarti@ca.ibm.com>2012-10-25 11:17:27 -0400
committerSilenio Quarti <silenio_quarti@ca.ibm.com>2012-10-25 11:17:27 -0400
commitcad161b601904ce31d625ed62fb14d925e12dcbf (patch)
tree37bd63399ebfe5b9abf87b8199fa4aa8765c73b1 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
parentbbe350ecc8080cf5eeb1d1094be103c4095bf9b4 (diff)
downloadeclipse.platform.swt-cad161b601904ce31d625ed62fb14d925e12dcbf.tar.gz
eclipse.platform.swt-cad161b601904ce31d625ed62fb14d925e12dcbf.tar.xz
eclipse.platform.swt-cad161b601904ce31d625ed62fb14d925e12dcbf.zip
Bug 392389 - Skip gtk_check_version for gtk 3.0+.
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java21
1 files changed, 15 insertions, 6 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 268a2bec82..e1a6251f27 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
@@ -422,9 +422,12 @@ public class Display extends Device {
// }
/* GTK Version */
- static final int MAJOR = 2;
- static final int MINOR = 6;
- static final int MICRO = 0;
+ static final int GTK3_MAJOR = 3;
+ static final int GTK3_MINOR = 0;
+ static final int GTK3_MICRO = 0;
+ static final int GTK2_MAJOR = 2;
+ static final int GTK2_MINOR = 6;
+ static final int GTK2_MICRO = 0;
/* Display Data */
Object data;
@@ -914,14 +917,20 @@ void createDisplay (DeviceData data) {
SWT.error (SWT.ERROR_NO_HANDLES, null, " [gtk_init_check() failed]"); //$NON-NLS-1$
}
if (OS.GDK_WINDOWING_X11 ()) xDisplay = OS.gdk_x11_get_default_xdisplay();
- long /*int*/ ptr = OS.gtk_check_version (MAJOR, MINOR, MICRO);
+ int major = OS.gtk_major_version ();
+ long /*int*/ ptr;
+ if (major == GTK3_MAJOR) {
+ ptr = OS.gtk_check_version (GTK3_MAJOR, GTK3_MINOR, GTK3_MICRO);
+ } else {
+ ptr = OS.gtk_check_version (GTK2_MAJOR, GTK2_MINOR, GTK2_MICRO);
+ }
if (ptr != 0) {
int length = OS.strlen (ptr);
byte [] buffer = new byte [length];
OS.memmove (buffer, ptr, length);
System.out.println ("***WARNING: " + new String (Converter.mbcsToWcs (null, buffer))); //$NON-NLS-1$
- System.out.println ("***WARNING: SWT requires GTK " + MAJOR+ "." + MINOR + "." + MICRO); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- int major = OS.gtk_major_version (), minor = OS.gtk_minor_version (), micro = OS.gtk_micro_version ();
+ System.out.println ("***WARNING: SWT requires GTK " + GTK2_MAJOR+ "." + GTK2_MINOR + "." + GTK2_MICRO); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ int minor = OS.gtk_minor_version (), micro = OS.gtk_micro_version ();
System.out.println ("***WARNING: Detected: " + major + "." + minor + "." + micro); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
if (fixed_type == 0) {