using foreign windows



i'm using Gtk 1.3.x and i'm curious if someone knows the correct
way to embed foreign windows in my app.

The gstreamer library does XOpenDisplay, creates a window, and uses
this window for XPutImage (or the Xv equivalent).  My app creates
a GtkSocket and stuffs the foreign window inside with gtk_socket_steal.
It works, somewhat, but it is easy to crash the app with:

Xlib: unexpected async reply (sequence 0x12d7)!

i believe this error indicates that two separate threads are using
the same X connection (not sure though).  Certainly the app has
multiple threads, but i call gdk_threads_enter() before entering
the main loop.  So the problem must be caused by directly accessing
Xlib (not by gdk/gtk).  This makes sense, because gstreamer calls
Xlib directly.

So, what is the correct way to make these two processes work
together?  How do panel applets solve this problem?

Thanks!

-- 
Victory to the Divine Mother!!
  http://sahajayoga.org




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