Created attachment 333962 [details] Gentoo WebKit 2.18.6 configure log Hello I built WebKit 2.18.6 on 64-bit Gentoo and tried it with the following little test code, webkit2test.c. Build: gcc -o test `pkg-config --cflags gtk+-3.0 webkit2gtk-4.0` webkit2test.c -lwebkit2gtk-4.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -ljavascriptcoregtk-4.0 -lglib-2.0 Testing: ./test https://encrypted.google.com Then some search of wikipedia articles and some random surfing on it's pages. Everything okay so far. However, sometimes, it get's stuck when selecting the "Back" option from the right-clicked context menu. Nothing happens and trying to resize the window just paints it blank and I have to restart the test program again. Clicking "Forward" from the context menu does not seem to stuck it, only when sometimes clicking "Back". And if I go back all the way to the first page (a.k.a. https://encrypted.google.com) then it get's stuck for 100% sure. Attached is gentoo configure log. And here is the test program: #include <gio/gio.h> #include <gtk/gtk.h> #include <webkit2/webkit2.h> static void destroyWindowCb(GtkWidget* widget, GtkWidget* window); static gboolean closeWebViewCb(WebKitWebView* webView, GtkWidget* window); static void changedCb(WebKitBackForwardList *back_forward_list, WebKitBackForwardListItem *item_added, gpointer items_removed, gpointer user_data); int main(int argc, char* argv[]) { // Initialize GTK+ gtk_init(&argc, &argv); // Create an 800x600 window that will contain the browser instance GtkWidget *main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(main_window), 800, 600); // Create a browser instance WebKitWebView *webView = WEBKIT_WEB_VIEW(webkit_web_view_new()); // Put the browser area into the main window gtk_container_add(GTK_CONTAINER(main_window), GTK_WIDGET(webView)); // Set up callbacks so that if either the main window or the browser instance is // closed, the program will exit g_signal_connect(main_window, "destroy", G_CALLBACK(destroyWindowCb), NULL); g_signal_connect(webView, "close", G_CALLBACK(closeWebViewCb), main_window); // Load a web page into the browser instance webkit_web_view_load_uri(webView, argv[1]); // Make sure that when the browser area becomes visible, it will get mouse // and keyboard events gtk_widget_grab_focus(GTK_WIDGET(webView)); // Make sure the main window and all its contents are visible gtk_widget_show_all(main_window); WebKitBackForwardList* list = webkit_web_view_get_back_forward_list(webView); g_signal_connect(list,"changed", G_CALLBACK(changedCb),NULL); // Run the main GTK+ event loop gtk_main(); return 0; } static void destroyWindowCb(GtkWidget* widget, GtkWidget* window) { gtk_main_quit(); } static gboolean closeWebViewCb(WebKitWebView* webView, GtkWidget* window) { gtk_widget_destroy(window); return TRUE; } static void changedCb(WebKitBackForwardList *back_forward_list, WebKitBackForwardListItem *item_added, gpointer items_removed, gpointer user_data) { printf("Items in list: %u\n",webkit_back_forward_list_get_length(back_forward_list)); }