Re: Not answering clipboard requests



Havoc Pennington <hp redhat com> writes:

> ERDI Gergo <cactus cactus rulez org> writes:
> > 
> > My program sets the X clipboard via gtk_clipboard_set_text. Getting the
> > new value via gtk_clipboard_wait_for_text from the same process works, but
> > if any other client requests it, no answer is given. The program is
> > waiting inside g_main_loop_run.
> > 
> > #0  0x406a4bee in sigsuspend () from /lib/libc.so.6
> > #1  0x4005f6eb in __pthread_wait_for_restart_signal ()
> >    from /lib/libpthread.so.0
> > #2  0x40061776 in __pthread_alt_lock () from /lib/libpthread.so.0
> > #3  0x4005de72 in pthread_mutex_lock () from /lib/libpthread.so.0
> > #4  0x403c3621 in gdk_event_prepare (source=0x805ed60, timeout=0xbffff6b8)
> >     at gdkevents-x11.c:1702
> > #5  0x40632145 in g_main_context_prepare (context=0x805ed90, 
> >     priority=0xbffff708) at gmain.c:1901
> > #6  0x40632a18 in g_main_context_iterate (context=0x805ed90, block=1, 
> >     dispatch=1, self=0x8058280) at gmain.c:2187
> > #7  0x40633270 in g_main_loop_run (loop=0x8065218) at gmain.c:2427
> > #8  0x400849d0 in bonobo_main () at bonobo-main.c:276
> > 
> > 
> > Any ideas what I am doing wrong?
> > 
> 
> I think this is just the deadlock bug Michael found for
> gtk_dialog_run(). We need to drop the GDK lock around
> g_main_loop_run() in gtk_clipboard_wait_for_text().

Which is fixed in current CVS:

Wed Jul 18 18:23:05 2001  Owen Taylor  <otaylor redhat com>

	* gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
	gtktreeview.c: Fix idles and timeouts to be properly surrounded by 
	GDK_THREADS_ENTER()/LEAVE() pairs.

	* gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
	to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
	pairs. (Problem found by M. Meeks)

Try updating.

Regards,
                                        Owen




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