in reply to ReShow images without user interact with the GUI.

Sorry I can't help you with Wx, but since Wx is based on Gtk2, I will tell you that the thread handling in Gtk2 has changed substantially over the last year. So you might have better luck making sure you have the latest versions of Wx and the underlying Gtk2 libs.

The recent Gtk2 releases have

use Gtk2 qw/-init -threads-init/; #this line causes the warning, but dosn't die die "Glib::Object thread safetly failed" unless Glib::Object->set_threadsafe (TRUE);
You also have the ability to use $thread->enter and $thread->leave to share Gtk2 objects across threads. Now, this may not have anything to do with your problem, but it goes to show that thread support is evolving fast, and that you should be sure what "level of Gtk2 libs" your Wx is built with, and write code accordingly.

You just can't use threads like they are some "improved form of forking with shared data", and expect everything to work, especially in a higher level abstraction layer like Wx.


I'm not really a human, but I play one on earth. flash japh

Replies are listed 'Best First'.
Re^2: ReShow images without user interact with the GUI.
by Anonymous Monk on Feb 05, 2006 at 12:28 UTC
    Wx (wxPerl) is based on wxWidgets. wxGTK is a port of wxWidgets using the GTK+ library.
      That's true, but if you just compile wxWidgets with the default options(on linux, unix), and you have Gtk2 installed ( which most systems do), it will be built as the Gtk2 port. So it is highly likely that most wxPerl's that get compiled, are using the Gtk2 libs, unless they were specially compiled.

      I don't know what the windows precompiled binaries are based on, but it may be gtk2 also.


      I'm not really a human, but I play one on earth. flash japh