[webkit-gtk] What supposed to hold the GDK in calls from WebKit/gtk/WebCoreSupport

Yehouda Harpaz yeh at lispworks.com
Fri Aug 19 09:27:05 PDT 2011

>  On Fri, Aug 19, 2011 at 5:22 AM, Yehouda Harpaz <yeh at lispworks.com> wrote:
>  > We have problems integrating webkit-gtk into a multi0-threaded
>  > application (Lisp IDE). We get "random" errors (i.e. not repeateable)
>  > like the on in the first backtrace below. We suspect it is because of
>  > calls to gdk functions without holding the gdk lock.
>  Are you using WebKitGTK+ on the main thread or some other thread?
>  Typically all calls must be made on the main thread.

We are calling WebKitGTK functions only on the main thread. 

But we are calling other GTK functions on other threads. 

One problem that we figured out is that gdk windows now share their
impl_window, so if there are parallel calls to invalidate rectangle
on children of the same window, they mess up the update_area of the
impl_window. That seems to be the problem in the backtrace that I

It loks like using a webkitwebview widget forces all the GTK calls on
any widget in the same window to be on the main thread. 

More information about the webkit-gtk mailing list