Verbose Logging

software development with some really amazing hair

01 Jun 09

08:00 AM MDT

Posted in Programming

Gtk and ruby threading issues

In one of my classes, we used Ruby and Gtk, but some issues popped up. The most obvious is using a block to do GUI update stuff and the like, from another thread. Things die. Puppies are killed.

I found this post on Ruby Forum which fixed the problem.

Relevant code.

Can't see this Gist? View it on Github!

Basically, you call the Gtk.init_thread_protect method first when you start things up, then, whenever you need to do GUI update stuff, just wrap it in a Gtk.thread_protect {} block. Voila! It works. No more crashes. In looking at this code again now, some things could be made more Rubyesque, but we’ll go with it.

My version with minor changes:

Can't see this Gist? View it on Github!
Share/Bookmark

blog comments powered by Disqus