No it works. Perhaps I didnt explain very well.
The GUI thread displays the picture only if he had received a signal from the other thread.
receiving the signal means two things: 1) the picture had been changed by the other thread, 2) the thread sending the signal is blocked on the Mutex
So when the GUI thread finishes displaying he woke up the other thread.