Hello All,
I am receiving error "Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported" when trying to run the code below. I have googled the error and all i am seeing is remove the gtk 3 library's which i have done. I am trying to add a webkit to a scrolledwindow in a glade file. Any suggestions? Thank You
Code:
#include <config.h>
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <webkit/webkit.h>
#include <stdio.h>
#include <string.h>
static WebKitWebView* web_view;
typedef struct _Private Private;
static struct _Private
{
};
static struct Private* priv = NULL;
/* #define UI_FILE PACKAGE_DATA_DIR"/ui/myproject.ui" */
#define UI_FILE "src/myproject.ui"
#define TOP_WINDOW "window"
void
destroy (GtkWidget *widget, gpointer data)
{
gtk_main_quit ();
}
static GtkWidget* create_window (void)
{
GtkWidget *window;
GtkBuilder *builder;
GError* error = NULL;
/* Load UI from file */
builder = gtk_builder_new ();
if (!gtk_builder_add_from_file (builder, UI_FILE, &error))
{
g_critical ("Couldn't load builder file: %s", error->message);
g_error_free (error);
}
/* Auto-connect signal handlers */
gtk_builder_connect_signals (builder, NULL);
/* Get the window object from the ui file */
window = GTK_WIDGET (gtk_builder_get_object (builder, TOP_WINDOW));
if (!window)
{
g_critical ("Widget \"%s\" is missing in file %s.",
TOP_WINDOW,
UI_FILE);
}
priv = g_malloc (sizeof (struct _Private));
g_object_unref (builder);
return window;
}
int main (int argc, char *argv[])
{
GtkBuilder *builder;
GtkWidget *window;
GtkWidget *scrolled_window;
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif
gtk_init (&argc, &argv);
builder = gtk_builder_new ();
gtk_builder_add_from_file (builder, UI_FILE, NULL);
scrolled_window = GTK_WIDGET (gtk_builder_get_object (builder, "scrolledwindow"));
web_view = WEBKIT_WEB_VIEW (webkit_web_view_new ());
gtk_container_add (GTK_CONTAINER (scrolled_window), GTK_WIDGET (web_view));
gtk_builder_connect_signals (builder, NULL);
g_object_unref (G_OBJECT (builder));
gchar* uri = (gchar*) (argc > 1 ? argv[1] : "http://www.google.com");
webkit_web_view_open (web_view, uri);
window = create_window ();
gtk_widget_show (window);
gtk_main ();
g_free (priv);
return 0;
}