[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: g_threads problem.
- From: Owen Taylor <otaylor redhat com>
- To: Martin Klaffenboeck <martin klaffenboeck gmx at>
- Cc: GTK+ app devel list <gtk-app-devel-list gnome org>
- Subject: Re: g_threads problem.
- Date: 28 May 2003 10:32:56 -0400
On Wed, 2003-05-28 at 10:16, Martin Klaffenboeck wrote:
> Hello,
>
> I have got a problem. I get the following error:
>
>
> ** (gports:47984): WARNING **: Invalid UTF8 string passed to
> pango_layout_set_text()
This is unrelated - please read up on UTF-8 at:
http://developer.gnome.org/dotplan/porting/ar01s10.html#gtk-utf8
> The program 'gports' received an X Window System error.
> This probably reflects a bug in the program.
> The error was 'BadRequest (invalid request code or no such operation)'.
> (Details: serial 39922 error_code 1 request_code 229 minor_code 0)
> (Note to programmers: normally, X errors are reported asynchronously;
> that is, you will receive the error a while after causing it.
> To debug your program, run it with the --sync command line
> option to change this behavior. You can then get a meaningful
> backtrace from your debugger if you break on the gdk_x_error()
> function.)
>
> But I think (not really sure) I'm doing everything correct.
[...]
> That should be correct. In the function update_ports_treestore_run I
> have at the beginning:
>
> static GStaticMutex mutex_lock = G_STATIC_MUTEX_INIT;
>
> g_static_mutex_lock (&mutex_lock);
>
> and before every return:
> g_static_mutex_unlock (&mutex_lock);
>
> That sould work, but that gives mit this trouble.
You can't lock a GTK+ widget with your own lock, as you aren't the only
person accessing the widget ... GTK+ also needs to access the widget
and doesn't know to aquire your lock.
You'll need to use gtk_threads_enter()/gtk_threads_leave(), as described
at:
http://www.gtk.org/faq/#AEN445
[ One important update - you need to call gdk_threads_init() along with
g_thread_init() these days ]
Regards,
Owen
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]