diff options
author | Matthias Clasen <mclasen@redhat.com> | 2010-03-10 12:18:52 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2010-03-10 12:24:25 +0000 |
commit | e34e6b4eebbb957107e88334faef2ed8a02d5eea (patch) | |
tree | ce227adbcdccdb8bb03c7b4d170d9eea7e36edc6 /capplets | |
parent | de51788c8dc7d86992dc3a79899e465479a94e0f (diff) | |
download | gnome-control-center-e34e6b4eebbb957107e88334faef2ed8a02d5eea.tar.gz |
Calls gdk_threads_enter/leave without gdk_threads_init
Fix GTK+ multi-threading.
https://bugzilla.gnome.org/show_bug.cgi?id=610003
Diffstat (limited to 'capplets')
-rw-r--r-- | capplets/appearance/appearance-main.c | 3 | ||||
-rw-r--r-- | capplets/appearance/theme-installer.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/capplets/appearance/appearance-main.c b/capplets/appearance/appearance-main.c index e02a50ae9..98055b435 100644 --- a/capplets/appearance/appearance-main.c +++ b/capplets/appearance/appearance-main.c @@ -38,6 +38,8 @@ init_appearance_data (int *argc, char ***argv, GOptionContext *context) GError *err = NULL; g_thread_init (NULL); + gdk_threads_init (); + gdk_threads_enter (); theme_thumbnail_factory_init (*argc, *argv); capplet_init (context, argc, argv); activate_settings_daemon (); @@ -207,6 +209,7 @@ main (int argc, char **argv) /* start the mainloop */ gtk_main (); + gdk_threads_leave (); /* free stuff */ g_free (data); diff --git a/capplets/appearance/theme-installer.c b/capplets/appearance/theme-installer.c index 6a90c162f..d9df44382 100644 --- a/capplets/appearance/theme-installer.c +++ b/capplets/appearance/theme-installer.c @@ -613,6 +613,7 @@ static void transfer_done_cb (GtkWidget *dialog, TransferData *tdata) { + gdk_threads_enter (); /* XXX: path should be on the local filesystem by now? */ if (dialog != NULL) { @@ -623,6 +624,8 @@ transfer_done_cb (GtkWidget *dialog, g_free (tdata->path); g_free (tdata); + + gdk_threads_leave (); } void |