Re: Re: Should I use Gtk+ or GUI?
- From: "jacky618 jacky618" <hhd618 hotmail com>
- To: gtk-app-devel-list gnome org
- Cc: gtk-devel-list gnome org, test-results ccvs cvshome org
- Subject: Re: Re: Should I use Gtk+ or GUI?
- Date: Thu, 17 Feb 2005 09:34:44 +0800
Hi,
I have resolved this problem after add gdk_threads_*() to all timer
callback functions as following :
gdk_threads_enter();
.....
.....
gdk_threads_leave();
Regards
Rill
//------------------------------------------
gdk_threads_enter();
gtk_clist_append(GTK_CLIST(Clist_CommStatus), &pText);
gdk_flush();
gdk_threads_leave();
...
I have tried many times to get the program thread-safe. Unfortunately,
the
error "Xlib: unexpected async reply" still exists.So I feel the list
control have fault . Is it true?
In such simple case you may just miss the initialization:
/* gdk_threads_init() must be called before gtk_init()!
* gtk_init() gets called by create_App() here.
*/
if (!g_thread_supported())
g_thread_init(NULL);
if (!gdk_threads_mutex)
gdk_threads_init();
Still in the December of 2003 I had serious problems with threading of
GTK.
Finally I started using the single-threaded polling:
while (g_main_context_pending(NULL))
g_main_context_iteration(
NULL, /* context */
FALSE); /* may_block */
You can see the source
http://cvs.jankratochvil.net/viewcvs/*checkout*/captive/src/install/acquire/ui-gnome.c?>rev=HEAD
with the threads vs. polling conditional compilation:
/* Although proper GTK+ locking is provided below there are some
* bugs with compatibility of GTK+/Gnome-VFS/GConf.
* The main thread executes gtk_main()->g_main_loop_run()
* while the working thread initializes Gnome-VFS by GConf and
* executes also g_main_loop_run() while sharing some poll() fds.
*/
/* #define UI_GNOME_THREADS 1 */
I am sorry it was never Bugzilled and I never checked it with the recent
Gnome
subsystems.
Regards,
Lace
_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]