I have an expose problem in my C application ...
First I created a main window
topWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
then an horizontal box in the window
topHBox = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (topWindow), topHBox);
and two vertical boxes in the horizontal one
sdlVBox = gtk_vbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX(topHBox), sdlVBox, FALSE, FALSE, 0);
rightVBox = gtk_vbox_new (FALSE, 0);
gtk_box_pack_end (GTK_BOX (topHBox), rightVBox, FALSE, FALSE, 0);
in the sdlVBox I putted a SDL widget (got from sourceforge projects gtksdl), in the right box there's various stuff to "control" the videooutput on the left side. There's two thread more than the gtk_main():
- reading thread: to get video data from file/net/fg and put in a buffer
- writing thread: to get video data from the buffer and put on the screen with SDL_DisplayYUVOverlay().
Everything works fine: I see video running on the left side and I can controll it from right one. BUT sometimes an expose event to topWindow "delete" my video, I suppose that topWindow background rewriting pass-over my sdl widget.
I'm absoluty sure that the writing thread is still writing on the screen but all that I can see is the window background.
Actually to see again my video running on the screen I need an ALT+TAB keyboard event to switch between the other (x)windows ...
Anyone can help me ?!