Re: Opening dialogs outside the Gtk thread?

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

 



On Thu, 27 Oct 2005, Matthias Kaeppler wrote:

Hi,

I want to display a message dialog from a thread B running parallel to the Gtk main thread A (it's a thread invoked by the async transfer methods from gnome-vfs). When running the dialog directly, the program locks up, which is what I expected since Gtk is not thread safe.

So I downloaded the nautilus source code to see how they do it but they open the dialog directly in a function which is not called from the Gtk main thread using eel_run_simple_dialog() (I also downloaded the eel sources and I couldn't find anything related to thread tunneling and dialogs in the respective functions).

How come it works for them without dispatching the call to the main thread, but not for me? I already started to implement the mechanics to synchronize both threads, but it's really a lot of code just to show a dialog from a second thread... Am I missing something?

you can use gtk functions from any thread, as long as you take care to
acquire the gtk lock around any gtk functions:

  GDK_THREADS_ENTER ();
  fire up dialog here.
  GDK_THREADS_LEAVE ();


Regards,
Matthias


---
ciaoTJ
_______________________________________________

gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux