diff --git eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java
index 7ef6236..5d434fe 100644
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java
@@ -135,6 +135,23 @@ class WebKit extends WebBrowser {
String webkit2 = System.getenv("SWT_WEBKIT2"); // $NON-NLS-1$
WEBKIT2 = webkit2 != null && webkit2.equals("1") && OS.GTK3; // $NON-NLS-1$
+ /*
+ * WebKitGTK version 1.8.x and newer can crash sporadically in
+ * webkitWebViewRegisterForIconNotification(). The root issue appears
+ * to be WebKitGTK accessing its icon database from a background
+ * thread. Work around this crash by disabling the use of WebKitGTK's
+ * icon database, which should not affect the Browser in any way.
+ */
+ if (WEBKIT2){
+ WebKitGTK.webkit_web_context_set_favicon_database_directory(WebKitGTK.webkit_web_context_get_default(), 0);
+ } else {
+ long /*int*/ database = WebKitGTK.webkit_get_favicon_database ();
+ if (database != 0) {
+ /* WebKitGTK version is >= 1.8.x */
+ WebKitGTK.webkit_favicon_database_set_path (database, 0);
+ }
+ }
+
WebViewType = WebKitGTK.webkit_web_view_get_type ();
Proc2 = new Callback (WebKit.class, "Proc", 2); //$NON-NLS-1$
@@ -604,22 +621,6 @@ public void create (Composite parent, int style) {
PostString = C.malloc (bytes.length);
C.memmove (PostString, bytes, bytes.length);
- /*
- * WebKitGTK version 1.8.x and newer can crash sporadically in
- * webkitWebViewRegisterForIconNotification(). The root issue appears
- * to be WebKitGTK accessing its icon database from a background
- * thread. Work around this crash by disabling the use of WebKitGTK's
- * icon database, which should not affect the Browser in any way.
- */
- if (WEBKIT2){
- WebKitGTK.webkit_web_context_set_favicon_database_directory(WebKitGTK.webkit_web_context_get_default(), 0);
- } else {
- long /*int*/ database = WebKitGTK.webkit_get_favicon_database ();
- if (database != 0) {
- /* WebKitGTK version is >= 1.8.x */
- WebKitGTK.webkit_favicon_database_set_path (database, 0);
- }
- }
}
if (!WEBKIT2){