On Friday, 24 June 2016 at 12:38:37 UTC, TheDGuy wrote:
The color changing part works fine but if i use some kind of delay the program just starts delayed but no color changing happens. I am wondering why, because everything is executed in one thread, so the execution order looks like this to me:

1. Start GUI
2. Change Button Color to flash color
3. Wait 2 sec
4. Change Button Color back to standard

Everything in GTK runs in the same thread, if your delay is a blocking one (i.e. putting the thread to sleep for 2 seconds) none of the GTK events will fire to redraw the button since the thread is occupied with your delay.

I hope i can get around it without getting into multithreading?

Other then the obvious multi-threaded, using glib.Timeout to trigger the reversion of the color change could be an option.

http://api.gtkd.org/src/glib/Timeout.html

Reply via email to