# wise words of muppet ############################## That example predates some other important developments in threading support... You want to have: use Gtk2 '-init', '-threads-init'; The -threads-init import option is equalivent to calling Gtk2::Gdk::Threads->init(). This makes the calls to Gtk2::Gdk::Threads->enter() and Gtk2::Gdk::Threads->leave() actually have effect for wrapping calls to gui functions from child threads; see the C reference docs for gdk_threads_enter() and gdk_threads_leave (). You'll also want to call Glib::Object->set_threadsafe (TRUE); before doing much of anything; this enables object tracking within the bindings, to avoid the "object destroyed out from under you" problem. The bindings must be built with thread support, which is the default. Note, however, that i have not personally played with this thread- safety stuff to any degree, so YMMV. #####################################