From f53868be1c5e33fddf65d91cc793524392130f44 Mon Sep 17 00:00:00 2001 From: Snjezana Peco Date: Sun, 13 Apr 2014 19:43:55 +0200 Subject: [PATCH] Bug 421127 - [GTK3] All views empty with GTK 3.10 --- .../gtk/org/eclipse/swt/widgets/Widget.java | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java index 0d6e011..cac3b34 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java @@ -2055,12 +2055,16 @@ long /*int*/ windowProc (long /*int*/ handle, long /*int*/ user_data) { long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) { switch ((int)/*64*/user_data) { case EXPOSE_EVENT_INVERSE: { - GdkEventExpose gdkEvent = new GdkEventExpose (); - OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof); - long /*int*/ paintWindow = paintWindow(); - long /*int*/ window = gdkEvent.window; - if (window != paintWindow) return 0; - return (state & OBSCURED) != 0 ? 1 : 0; + if (OS.GTK3) { + return gtk_draw(handle, arg0); + } else { + GdkEventExpose gdkEvent = new GdkEventExpose (); + OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof); + long /*int*/ paintWindow = paintWindow(); + long /*int*/ window = gdkEvent.window; + if (window != paintWindow) return 0; + return (state & OBSCURED) != 0 ? 1 : 0; + } } case BUTTON_PRESS_EVENT_INVERSE: case BUTTON_RELEASE_EVENT_INVERSE: @@ -2076,9 +2080,7 @@ long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ us case EVENT: return gtk_event (handle, arg0); case EVENT_AFTER: return gtk_event_after (handle, arg0); case EXPOSE_EVENT: { - if (OS.GTK3) { - return gtk_draw (handle, arg0); - } else { + if (!OS.GTK3) { return gtk_expose_event (handle, arg0); } } -- 1.8.1.msysgit.1