Bug 570533 - [GTK4] Make separate GTK3.java and GTK4.java native
wrappers - gtk_css_provider_load_from_data

- Split gtk_css_provider_load_from_data to gtk3/gtk4 files

Change-Id: I02252515cc2979de308cf909c19f3449a991ea9f
Signed-off-by: Paul D'Pong <sdamrong@redhat.com>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/180494
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3.c
index 016c54e..5a85e57 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3.c
@@ -393,6 +393,25 @@
 }
 #endif
 
+#ifndef NO_gtk_1css_1provider_1load_1from_1data
+JNIEXPORT jboolean JNICALL GTK3_NATIVE(gtk_1css_1provider_1load_1from_1data)
+	(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1, jlong arg2, jlongArray arg3)
+{
+	jbyte *lparg1=NULL;
+	jlong *lparg3=NULL;
+	jboolean rc = 0;
+	GTK3_NATIVE_ENTER(env, that, gtk_1css_1provider_1load_1from_1data_FUNC);
+	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+	if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+	rc = (jboolean)gtk_css_provider_load_from_data((GtkCssProvider *)arg0, (const gchar *)lparg1, (gssize)arg2, (GError **)lparg3);
+fail:
+	if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0);
+	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+	GTK3_NATIVE_EXIT(env, that, gtk_1css_1provider_1load_1from_1data_FUNC);
+	return rc;
+}
+#endif
+
 #ifndef NO_gtk_1dialog_1run
 JNIEXPORT jint JNICALL GTK3_NATIVE(gtk_1dialog_1run)
 	(JNIEnv *env, jclass that, jlong arg0)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.c
index 5b25d30..7940fff 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.c
@@ -54,6 +54,7 @@
 	"gtk_1container_1propagate_1draw",
 	"gtk_1container_1remove",
 	"gtk_1container_1set_1border_1width",
+	"gtk_1css_1provider_1load_1from_1data",
 	"gtk_1dialog_1run",
 	"gtk_1drag_1begin_1with_1coordinates",
 	"gtk_1drag_1check_1threshold",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.h
index 30b9f67..3de493e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk3_stats.h
@@ -64,6 +64,7 @@
 	gtk_1container_1propagate_1draw_FUNC,
 	gtk_1container_1remove_FUNC,
 	gtk_1container_1set_1border_1width_FUNC,
+	gtk_1css_1provider_1load_1from_1data_FUNC,
 	gtk_1dialog_1run_FUNC,
 	gtk_1drag_1begin_1with_1coordinates_FUNC,
 	gtk_1drag_1check_1threshold_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4.c
index 753b85a..a4683ae 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4.c
@@ -277,6 +277,20 @@
 }
 #endif
 
+#ifndef NO_gtk_1css_1provider_1load_1from_1data
+JNIEXPORT void JNICALL GTK4_NATIVE(gtk_1css_1provider_1load_1from_1data)
+	(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1, jlong arg2)
+{
+	jbyte *lparg1=NULL;
+	GTK4_NATIVE_ENTER(env, that, gtk_1css_1provider_1load_1from_1data_FUNC);
+	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+	gtk_css_provider_load_from_data((GtkCssProvider *)arg0, (const gchar *)lparg1, (gssize)arg2);
+fail:
+	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+	GTK4_NATIVE_EXIT(env, that, gtk_1css_1provider_1load_1from_1data_FUNC);
+}
+#endif
+
 #ifndef NO_gtk_1drag_1source_1new
 JNIEXPORT jlong JNICALL GTK4_NATIVE(gtk_1drag_1source_1new)
 	(JNIEnv *env, jclass that)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.c
index ebb3b61..acaf6b6 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.c
@@ -44,6 +44,7 @@
 	"gtk_1check_1button_1set_1inconsistent",
 	"gtk_1check_1button_1set_1use_1underline",
 	"gtk_1combo_1box_1get_1child",
+	"gtk_1css_1provider_1load_1from_1data",
 	"gtk_1drag_1source_1new",
 	"gtk_1drag_1source_1set_1actions",
 	"gtk_1drag_1source_1set_1icon",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.h
index 0fefd3d..a137e2e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/gtk4_stats.h
@@ -54,6 +54,7 @@
 	gtk_1check_1button_1set_1inconsistent_FUNC,
 	gtk_1check_1button_1set_1use_1underline_FUNC,
 	gtk_1combo_1box_1get_1child_FUNC,
+	gtk_1css_1provider_1load_1from_1data_FUNC,
 	gtk_1drag_1source_1new_FUNC,
 	gtk_1drag_1source_1set_1actions_FUNC,
 	gtk_1drag_1source_1set_1icon_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
index d01a139..c812936 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
@@ -4538,39 +4538,6 @@
 }
 #endif
 
-#ifndef NO_gtk_1css_1provider_1load_1from_1data__J_3BJ
-JNIEXPORT void JNICALL GTK_NATIVE(gtk_1css_1provider_1load_1from_1data__J_3BJ)
-	(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1, jlong arg2)
-{
-	jbyte *lparg1=NULL;
-	GTK_NATIVE_ENTER(env, that, gtk_1css_1provider_1load_1from_1data__J_3BJ_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_css_provider_load_from_data((GtkCssProvider *)arg0, (const gchar *)lparg1, (gssize)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	GTK_NATIVE_EXIT(env, that, gtk_1css_1provider_1load_1from_1data__J_3BJ_FUNC);
-}
-#endif
-
-#ifndef NO_gtk_1css_1provider_1load_1from_1data__J_3BJ_3J
-JNIEXPORT jboolean JNICALL GTK_NATIVE(gtk_1css_1provider_1load_1from_1data__J_3BJ_3J)
-	(JNIEnv *env, jclass that, jlong arg0, jbyteArray arg1, jlong arg2, jlongArray arg3)
-{
-	jbyte *lparg1=NULL;
-	jlong *lparg3=NULL;
-	jboolean rc = 0;
-	GTK_NATIVE_ENTER(env, that, gtk_1css_1provider_1load_1from_1data__J_3BJ_3J_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_css_provider_load_from_data((GtkCssProvider *)arg0, (const gchar *)lparg1, (gssize)arg2, (GError **)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	GTK_NATIVE_EXIT(env, that, gtk_1css_1provider_1load_1from_1data__J_3BJ_3J_FUNC);
-	return rc;
-}
-#endif
-
 #ifndef NO_gtk_1css_1provider_1new
 JNIEXPORT jlong JNICALL GTK_NATIVE(gtk_1css_1provider_1new)
 	(JNIEnv *env, jclass that)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
index d644bfb..270eb0a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
@@ -249,8 +249,6 @@
 #define NO_gdk_1selection_1owner_1set
 #define NO_gdk_1selection_1owner_1get
 #define NO_gdk_1visual_1get_1depth
-#define NO_gtk_1css_1provider_1load_1from_1data__I_3BI_3I
-#define NO_gtk_1css_1provider_1load_1from_1data__J_3BJ_3J
 #define NO_gdk_1pixbuf_1get_1from_1window
 
 // Some sizing functions are not available on GTK4
@@ -396,8 +394,6 @@
 
 // Miscellaneous functions not present on GTK3
 #define NO_gtk_1style_1context_1add_1provider_1for_1display
-#define NO_gtk_1css_1provider_1load_1from_1data__I_3BI
-#define NO_gtk_1css_1provider_1load_1from_1data__J_3BJ
 #define NO_gtk_1style_1context_1get_1margin
 
 // GdkCursor API changes from GTK3 -> GTK4
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
index e19628b..aba908d 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
@@ -373,8 +373,6 @@
 	"gtk_1combo_1box_1text_1new_1with_1entry",
 	"gtk_1combo_1box_1text_1remove",
 	"gtk_1combo_1box_1text_1remove_1all",
-	"gtk_1css_1provider_1load_1from_1data__J_3BJ",
-	"gtk_1css_1provider_1load_1from_1data__J_3BJ_3J",
 	"gtk_1css_1provider_1new",
 	"gtk_1css_1provider_1to_1string",
 	"gtk_1dialog_1add_1button",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
index 3d25734..8fb967b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
@@ -371,8 +371,6 @@
 	gtk_1combo_1box_1text_1new_1with_1entry_FUNC,
 	gtk_1combo_1box_1text_1remove_FUNC,
 	gtk_1combo_1box_1text_1remove_1all_FUNC,
-	gtk_1css_1provider_1load_1from_1data__J_3BJ_FUNC,
-	gtk_1css_1provider_1load_1from_1data__J_3BJ_3J_FUNC,
 	gtk_1css_1provider_1new_FUNC,
 	gtk_1css_1provider_1to_1string_FUNC,
 	gtk_1dialog_1add_1button_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTK.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTK.java
index ce1f7f6..d2da25a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTK.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTK.java
@@ -955,21 +955,6 @@
 	 * @param types cast=(GType *)
 	 */
 	public static final native long gtk_list_store_newv(int numColumns, long [] types);
-	/**
-	 * @param css_provider cast=(GtkCssProvider *)
-	 * @param data cast=(const gchar *)
-	 * @param length cast=(gssize)
-	 * @param error cast=(GError **)
-	 */
-	/* [GTK3 only, if-def'd in os.h] */
-	public static final native boolean gtk_css_provider_load_from_data(long css_provider, byte[] data, long length, long error[]);
-	/**
-	 * @param css_provider cast=(GtkCssProvider *)
-	 * @param data cast=(const gchar *)
-	 * @param length cast=(gssize)
-	 */
-	/* [GTK4 only, if-def'd in os.h] */
-	public static final native void gtk_css_provider_load_from_data(long css_provider, byte[] data, long length);
 	public static final native long gtk_css_provider_new();
 	/**
 	 * @param provider cast=(GtkCssProvider *)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk3/GTK3.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk3/GTK3.java
index 80ebad0..7e18b17 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk3/GTK3.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk3/GTK3.java
@@ -855,4 +855,13 @@
 	public static final native void gtk_image_set_from_icon_name(long image, byte[] icon_name, int size);
 	/** @param surface cast=(cairo_surface_t *) */
 	public static final native long gtk_image_new_from_surface(long surface);
+
+	/* GtkCssProvider */
+	/**
+	 * @param css_provider cast=(GtkCssProvider *)
+	 * @param data cast=(const gchar *)
+	 * @param length cast=(gssize)
+	 * @param error cast=(GError **)
+	 */
+	public static final native boolean gtk_css_provider_load_from_data(long css_provider, byte[] data, long length, long error[]);
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk4/GTK4.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk4/GTK4.java
index e764d6e..75aea38 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk4/GTK4.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk4/GTK4.java
@@ -429,4 +429,12 @@
 	public static final native long gtk_image_new_from_icon_name(byte[] icon_name);
 	/** @param image cast=(GtkImage *) */
 	public static final native void gtk_image_clear(long image);
+
+	/* GtkCssProvider */
+	/**
+	 * @param css_provider cast=(GtkCssProvider *)
+	 * @param data cast=(const gchar *)
+	 * @param length cast=(gssize)
+	 */
+	public static final native void gtk_css_provider_load_from_data(long css_provider, byte[] data, long length);
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
index 5810f81..8d35b79 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
@@ -824,9 +824,9 @@
 		GTK.gtk_style_context_add_provider_for_screen (screen, provider, GTK.GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
 	}
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (combinedCSS.toString(), true), -1);
+		GTK4.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (combinedCSS.toString(), true), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (combinedCSS.toString(), true), -1, null);
+		GTK3.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (combinedCSS.toString(), true), -1, null);
 	}
 }
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
index 284ba03..f7977ea 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
@@ -2232,9 +2232,9 @@
 		OS.g_object_unref(buttonProvider);
 	}
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data (buttonProvider, Converter.wcsToMbcs (finalCss, true), -1);
+		GTK4.gtk_css_provider_load_from_data (buttonProvider, Converter.wcsToMbcs (finalCss, true), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data (buttonProvider, Converter.wcsToMbcs (finalCss, true), -1, null);
+		GTK3.gtk_css_provider_load_from_data (buttonProvider, Converter.wcsToMbcs (finalCss, true), -1, null);
 	}
 }
 
@@ -2256,9 +2256,9 @@
 		OS.g_object_unref(buttonProvider);
 	}
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (finalCss, true), -1);
+		GTK4.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (finalCss, true), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (finalCss, true), -1, null);
+		GTK3.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (finalCss, true), -1, null);
 	}
 }
 
@@ -2306,7 +2306,12 @@
 	}
 
 	String menuCss = "menu { background: " + menuColor + ";}";
-	GTK.gtk_css_provider_load_from_data (getComboProvider(), Converter.wcsToMbcs (menuCss, true), -1, null);
+	if (GTK.GTK4) {
+		GTK4.gtk_css_provider_load_from_data(getComboProvider(), Converter.wcsToMbcs(menuCss, true), -1);
+	} else {
+		GTK3.gtk_css_provider_load_from_data(getComboProvider(), Converter.wcsToMbcs(menuCss, true), -1, null);
+	}
+
 }
 
 long getComboProvider() {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index e4bb0ad..65de7cd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -5123,9 +5123,9 @@
 		OS.g_object_unref (provider);
 	}
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
+		GTK4.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
+		GTK3.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
 	}
 }
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java
index a5e3200..955d7f3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java
@@ -390,9 +390,9 @@
 	}
 
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data(cssProvider, Converter.javaStringToCString(css), -1);
+		GTK4.gtk_css_provider_load_from_data(cssProvider, Converter.javaStringToCString(css), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data(cssProvider, Converter.javaStringToCString(css), -1, null);
+		GTK3.gtk_css_provider_load_from_data(cssProvider, Converter.javaStringToCString(css), -1, null);
 	}
 }
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
index 786c853..67922fe 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
@@ -3613,9 +3613,9 @@
 		}
 
 		if (GTK.GTK4) {
-			GTK.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1);
+			GTK4.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1);
 		} else {
-			GTK.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1, null);
+			GTK3.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1, null);
 		}
 	} else {
 		for (TableColumn column : columns) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java
index b8117c9..8780af3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java
@@ -836,9 +836,9 @@
 	}
 
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1);
+		GTK4.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1, null);
+		GTK3.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1, null);
 	}
 }
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java
index a12b119..6bdc950 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java
@@ -724,9 +724,9 @@
 		OS.g_object_unref (provider);
 	}
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
+		GTK4.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
+		GTK3.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
 	}
 }
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
index f4fc9ea..17851e5 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
@@ -310,9 +310,9 @@
 		OS.g_object_unref (provider);
 	}
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
+		GTK4.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
+		GTK3.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
 	}
 }
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
index eed3de7..6fc5a6f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
@@ -916,9 +916,9 @@
 		OS.g_object_unref (provider);
 	}
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
+		GTK4.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
+		GTK3.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs (css, true), -1, null);
 	}
 	GTK.gtk_style_context_invalidate (context);
 	long region = Cairo.cairo_region_create ();
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
index dd7c427..5bace6a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
@@ -3752,9 +3752,9 @@
 		}
 
 		if (GTK.GTK4) {
-			GTK.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1);
+			GTK4.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1);
 		} else {
-			GTK.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1, null);
+			GTK3.gtk_css_provider_load_from_data(headerCSSProvider, Converter.javaStringToCString(css.toString()), -1, null);
 		}
 	} else {
 		for (TreeColumn column : columns) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java
index 3547173..e6f5035 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeColumn.java
@@ -811,9 +811,9 @@
 	}
 
 	if (GTK.GTK4) {
-		GTK.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1);
+		GTK4.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1);
 	} else {
-		GTK.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1, null);
+		GTK3.gtk_css_provider_load_from_data(headerButtonCSSProvider, Converter.javaStringToCString(css), -1, null);
 	}
 }
 
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 ea507ab..8b2dacc 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
@@ -1715,9 +1715,9 @@
 		if (context != 0 && provider != 0) {
 			GTK.gtk_style_context_add_provider (context, provider, GTK.GTK_STYLE_PROVIDER_PRIORITY_USER);
 			if (GTK.GTK4) {
-				GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs ((String) value, true), -1);
+				GTK4.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs ((String) value, true), -1);
 			} else {
-				GTK.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs ((String) value, true), -1, null);
+				GTK3.gtk_css_provider_load_from_data (provider, Converter.wcsToMbcs ((String) value, true), -1, null);
 			}
 			OS.g_object_unref (provider);
 		}
@@ -1739,7 +1739,7 @@
 		OS.g_object_unref(provider);
 
 		String css = convertPangoFontDescriptionToCss(fontDescription);
-		GTK.gtk_css_provider_load_from_data(provider, Converter.javaStringToCString(css), -1);
+		GTK4.gtk_css_provider_load_from_data(provider, Converter.javaStringToCString(css), -1);
 	} else {
 		// gtk_widget_override_font() copies the fields from 'fontDescription'
 		// and does not remember the pointer passed to it.