Responsive UI or stability ?
Gtk# is not a thread-safe toolkit, which means that only one thread at a time can safely invoke methods on Gtk#. This thread is typically the thread executing the main loop (which is when control has been explicitly transfered to Gtk).
So basically using threads means making application more responsive, so the big calculations and long timeouts don’t effect the UI. Which is good. But the above text says that other threads shouldn’t touch UI, if so the application will hang unpredictably. So if I want to make changes to GTK# UI I need to use Gtk.Application.Invoke, but I’m having problems with Liststore which stores all the data in the Treeview, it just won’t work.
So I made a temporary fix by sacrificing Responsive UI for stability. The 0.2.1 version of gTwitter reflects that.
Use 0.2 version if you want responsive application, or use the 0.2.1 if you want it stable. (Note that this is just a temporary solution until I figure out what to do with liststore issue)