STemWin Window updates

I'm implementing the touch screen calibration screens that are found in the demo project in my project on the STM32F439-EVAL platform. I'm having some trouble drawing screens in the window manager callback and I'm not sure what the problem is.

I am able to run the opening animation found the demo project ( the ST Logo with the moving circle ). This is run to completion before anything else proceeds. I then create a GUI thread which just calls GUIExec every 30ms ( I didn't load any default GUI profiles ). I then implemented a the Calibration screen using a callback and a function which invalidates the window. The idea being that a controller will invalidate the window via the function, causing the callback to be called in the GUIThread resulting in the redraw.

I can see the Callback being called and the draw commands executing. I even see the screen flash like its being updated. But the image on the display is not updated. Can anyone provide me a few clues on how to debug this ?

This was weird... I compiled my project with STemWin multi-threaded support and was calling GUI_Init in one thread and GUI_Exec in another. This was causing the problem. Like the other thread didn't have access to modify the frame buffer. Anyways, I put the the GUI_Init() and the GUI_Exec in the same thread and this problem went away. Any info on this would be appreciated.