Re: Porting GnomeMeeting
- From: Hing-Wah Wan <50191914 ee cityu edu hk>
- To: Damien Sandras <dsandras seconix com>
- Cc: gtk-list gnome org
- Subject: Re: Porting GnomeMeeting
- Date: Thu, 21 Mar 2002 11:01:01 +0800
I guess you need to call gdk_thread_init ?
from Changes-2.0.txt
* GDK is no longer put into threaded mode automatically when
g_thread_init() has been called. In order to use the
global GDK thread mutex with gdk_threads_enter() and
gdk_threads_leave(), you must call gdk_threads_init() explicitely.
If you aren't using GDK and GTK+ functions from multiple
threads,
there is no reason to call gdk_threads_init().
On Wed, Mar 20, 2002 at 11:12:17PM +0100, Damien Sandras wrote:
> Hi all,
>
> I started to port GnomeMeeting to Gnome2 and GTK2 a few days ago, and it
> has proven to be a complete disaster.
> The last version of GnomeMeeting was very stable (we have made tests and
> stopped GM after 700 calls), now GnomeMeeting, with the same code,
> crashes every 2 calls.
>
> It seems to always happen because of threads. I always get XLib
> Asynchronous Reply, even after the GDK lock is taken (Im sure it is
> taken, and moreover it has always worked since more than one year).
>
> Other common problem is a crash of this type while drawing the webcam
> image in the drawing_area... :
>
> #0 0x407fbb62 in g_logv (log_domain=0x406781ed "Gdk",
> log_level=G_LOG_LEVEL_ERROR, format=0x4067854e "%s",
> args1=0xbffff250)
> at gmessages.c:560
> #1 0x407fbc1d in g_log (log_domain=0x406781ed "Gdk",
> log_level=G_LOG_LEVEL_ERROR, format=0x4067854e "%s") at
> gmessages.c:583
> #2 0x406609e5 in gdk_x_error (display=0x80eed60, error=0xbffff30c)
> at gdkmain-x11.c:780
> #3 0x401db3df in bonobo_x_error_handler (display=0x80eed60,
> error=0xbffff30c)
> at bonobo-ui-main.c:49
> #4 0x4154b9ed in _XError () from /usr/X11R6/lib/libX11.so.6
> #5 0x4154a09b in _XReply () from /usr/X11R6/lib/libX11.so.6
> #6 0x41545a97 in XSync () from /usr/X11R6/lib/libX11.so.6
> #7 0x41545b20 in _XSyncFunction () from /usr/X11R6/lib/libX11.so.6
> #8 0x4152ee34 in XCreateGC () from /usr/X11R6/lib/libX11.so.6
> #9 0x40659878 in _gdk_x11_gc_new (drawable=0x82159f0, values=0x0,
> values_mask=0)
> at gdkgc-x11.c:170
> #10 0x4063a396 in gdk_gc_new_with_values (drawable=0x82159f0,
> values=0x0,
> values_mask=0) at gdkgc.c:91
> #11 0x40648640 in gdk_window_create_gc (drawable=0x8215990, values=0x0,
> mask=0)
> at gdkwindow.c:1231
> #12 0x4063a396 in gdk_gc_new_with_values (drawable=0x8215990,
> values=0x0,
> values_mask=0) at gdkgc.c:91
> #13 0x4063a2f3 in gdk_gc_new (drawable=0x8215990) at gdkgc.c:79
> #14 0x40648349 in gdk_window_end_paint (window=0x8215990) at
> gdkwindow.c:1066
> #15 0x404c1ef4 in gtk_main_do_event (event=0xbffff6a8) at gtkmain.c:1276
> #16 0x4064a33a in gdk_window_process_updates_internal (window=0x8215990)
> at gdkwindow.c:2111
> #17 0x4064a3e1 in gdk_window_process_all_updates () at gdkwindow.c:2146
> #18 0x4064a424 in gdk_window_update_idle (data=0x0) at gdkwindow.c:2159
> #19 0x407f71d6 in g_idle_dispatch (source=0x826dbe8,
> callback=0x4064a40c <gdk_window_update_idle>, user_data=0x0) at
> gmain.c:3129
> #20 0x407f4ac9 in g_main_dispatch (context=0x80f4f10) at gmain.c:1617
> #21 0x407f58e7 in g_main_context_dispatch (context=0x80f4f10) at
> gmain.c:2161
> #22 0x407f5cc3 in g_main_context_iterate (context=0x80f4f10, block=1,
> dispatch=1,
> self=0x80df160) at gmain.c:2242
> #23 0x407f639f in g_main_loop_run (loop=0x8266588) at gmain.c:2462
> #24 0x404c161f in gtk_main () at gtkmain.c:915
> #25 0x8058825 in main (argc=2, argv=0xbffff954, envp=0xbffff960)
> at gnomemeeting.cpp:377
>
>
> Im completely puzzled. What has changed so much with threads except the
> fact that I need to call gdk_threads_init ()? The code is *exactly* the
> same (Im even using broken and deprecated things).
>
> Thanks for your help.
>
> --
> _
> (o- SANDRAS Damien
> //\
> v_/_ Check Out Gnome Meeting !
> http://www.gnomemeeting.org/
>
>
>
> _______________________________________________
> gtk-list mailing list
> gtk-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-list
>
--
pub 1024D/FA54C566 2000-06-04 Wan Hing Wah (Chinese) <hingwah programmer net>
Key fingerprint = 0E99 9956 B340 DA66 DB9C 85B7 1AC5 8939 FA54 C566
sub 1024g/4EE841C3 2000-06-04
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]