Region: load languages async
https://bugzilla.gnome.org/show_bug.cgi?id=643096
This commit is contained in:
parent
012c52f4f5
commit
3e25e3d213
1 changed files with 14 additions and 1 deletions
|
@ -208,6 +208,15 @@ remove_timeout (gpointer data,
|
||||||
g_source_remove (timeout);
|
g_source_remove (timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
remove_async (gpointer data)
|
||||||
|
{
|
||||||
|
guint id = GPOINTER_TO_UINT (data);
|
||||||
|
|
||||||
|
/* if the idle is already done, this harmlessly fails */
|
||||||
|
g_source_remove (id);
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
finish_language_setup (gpointer user_data)
|
finish_language_setup (gpointer user_data)
|
||||||
{
|
{
|
||||||
|
@ -217,6 +226,7 @@ finish_language_setup (gpointer user_data)
|
||||||
GHashTable *user_langs;
|
GHashTable *user_langs;
|
||||||
guint timeout;
|
guint timeout;
|
||||||
GtkTreeSelection *selection;
|
GtkTreeSelection *selection;
|
||||||
|
guint async_id;
|
||||||
|
|
||||||
/* Did we get called after the widget was destroyed? */
|
/* Did we get called after the widget was destroyed? */
|
||||||
if (list == NULL)
|
if (list == NULL)
|
||||||
|
@ -225,7 +235,10 @@ finish_language_setup (gpointer user_data)
|
||||||
model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
|
model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
|
||||||
user_langs = g_object_get_data (G_OBJECT (list), "user-langs");
|
user_langs = g_object_get_data (G_OBJECT (list), "user-langs");
|
||||||
|
|
||||||
cc_common_language_add_available_languages (GTK_LIST_STORE (model), user_langs);
|
async_id = cc_common_language_add_available_languages_async (GTK_LIST_STORE (model), user_langs);
|
||||||
|
|
||||||
|
g_object_set_data_full (G_OBJECT (list), "language-async",
|
||||||
|
GUINT_TO_POINTER (async_id), remove_async);
|
||||||
|
|
||||||
parent = gtk_widget_get_toplevel (list);
|
parent = gtk_widget_get_toplevel (list);
|
||||||
gdk_window_set_cursor (gtk_widget_get_window (parent), NULL);
|
gdk_window_set_cursor (gtk_widget_get_window (parent), NULL);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue