May I ask what is the thread actually doing? I'm not convinced that storing pointers to various GUI objects in a thread object is a good idea (even if you did not actually modify them).