- AWeatherGui *gui = aweather_gui_new();
-
- gint prefs_debug = gis_prefs_get_integer(gui->prefs, "aweather/log_level");
- gchar *prefs_site = gis_prefs_get_string(gui->prefs, "aweather/initial_site");
- gboolean prefs_offline = gis_prefs_get_boolean(gui->prefs, "gis/offline");
+ gdk_threads_enter();
+ /* Pre-load some type for gtkbuilder */
+ GRITS_TYPE_OPENGL;
+ AWEATHER_TYPE_GUI;
+ GtkBuilder *builder = gtk_builder_new();
+ if (!gtk_builder_add_from_file(builder, PKGDATADIR "/main.ui", &error))
+ g_error("Failed to create gtk builder: %s", error->message);
+ AWeatherGui *gui = AWEATHER_GUI(gtk_builder_get_object(builder, "main_window"));
+ g_signal_connect(gui, "destroy", gtk_main_quit, NULL);
+
+ gint prefs_debug = grits_prefs_get_integer(gui->prefs, "aweather/log_level", NULL);
+ gchar *prefs_site = grits_prefs_get_string(gui->prefs, "aweather/initial_site", NULL);
+ gboolean prefs_offline = grits_prefs_get_boolean(gui->prefs, "grits/offline", NULL);