diff gui/interface.c @ 35652:f6c00eacd816

Add wsMapWait(). This waits for a map notify event which is required in order to paint into the window. Remove the waiting loop in interface.c and set a corresponding property for the video window which, now, will regard vo_keepaspect. This also closes Bugzilla #1357.
author ib
date Tue, 15 Jan 2013 11:54:22 +0000
parents a30496350cb9
children 59a6b817a287
line wrap: on
line diff
--- a/gui/interface.c	Tue Jan 15 09:41:34 2013 +0000
+++ b/gui/interface.c	Tue Jan 15 11:54:22 2013 +0000
@@ -172,7 +172,7 @@
     if (guiWinID >= 0)
         guiApp.mainWindow.Parent = guiWinID;
 
-    wsCreateWindow(&guiApp.videoWindow, guiApp.video.x, guiApp.video.y, guiApp.video.width, guiApp.video.height, wsNoBorder, wsShowMouseCursor | wsHandleMouseButton | wsHandleMouseMove, wsShowFrame | wsHideWindow, "MPlayer - Video");
+    wsCreateWindow(&guiApp.videoWindow, guiApp.video.x, guiApp.video.y, guiApp.video.width, guiApp.video.height, wsNoBorder, wsShowMouseCursor | wsHandleMouseButton | wsHandleMouseMove, wsShowFrame | wsHideWindow | wsWaitMap, "MPlayer - Video");
     wsDestroyImage(&guiApp.videoWindow);
     wsCreateImage(&guiApp.videoWindow, guiApp.video.Bitmap.Width, guiApp.video.Bitmap.Height);
     wsXDNDMakeAwareness(&guiApp.videoWindow);
@@ -224,16 +224,8 @@
     if (gtkShowVideoWindow) {
         wsVisibleWindow(&guiApp.videoWindow, wsShowWindow);
 
-        {
-            XEvent xev;
-
-            do
-                XNextEvent(wsDisplay, &xev);
-            while (xev.type != MapNotify || xev.xmap.event != guiApp.videoWindow.WindowID);
-
             guiApp.videoWindow.Mapped = wsMapped;
             guiInfo.VideoWindow       = True;
-        }
 
         if (gtkLoadFullscreen)
             uiFullScreen();