Re: Porting GnomeMeeting



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]