Please put your first GDK_THEADS_ENTER in the right place



Hi,

We made a little change in atk-bridge several weeks ago. For details, please see
http://bugzilla.gnome.org/show_bug.cgi?id=329454
To avoid deadlock, we surround corba calls with
GDK_THREADS_LEAVE/GDK_THEADS_ENTER.

Recently Matthias found gftp can't startup if a11y is enabled, because gftp calls GDK_THEADS_ENTER after gtk_init and the setup code:

g_threads_init (NULL);
gdk_threads_init ();

gtk_init (&argc, &argv);

/* setup code */

GDK_THREADS_ENTER();
gtk_main ();
GDK_THREADS_LEAVE();

But according to
http://developer.gnome.org/doc/API/2.0/gdk/gdk-Threads.html,
applications should call GDK_THREADS_ENTER right after the gdk_threads_init. I don't know if other applications have this problem. As we can not find any work around for this and GNOME 2.18 is coming soon, please make sure your applications call GDK_THREADS_ENTER in the right place.

NOTE: If your applications can startup normally with a11y enabled in GNOME 2.17.9x, there is no need to change any code.

Thanks,
Li









[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]