summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-31 11:27:21 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-31 11:27:21 +0000
commit5ce26b0a963c1055d3770df6cd9c66ce9b328ad3 (patch)
tree43c9ce71afac8ee8e3fb98e14ee92ee8c88e5c68 /Gui
parent4001e2c63fab3a2c24af7e5b56b00aa21b229037 (diff)
downloadmpv-5ce26b0a963c1055d3770df6cd9c66ce9b328ad3.tar.bz2
mpv-5ce26b0a963c1055d3770df6cd9c66ce9b328ad3.tar.xz
fix sub redraw
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1799 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r--Gui/mplayer/mw.h2
-rw-r--r--Gui/mplayer/sw.h20
2 files changed, 16 insertions, 6 deletions
diff --git a/Gui/mplayer/mw.h b/Gui/mplayer/mw.h
index 63fae36ace..2814e23365 100644
--- a/Gui/mplayer/mw.h
+++ b/Gui/mplayer/mw.h
@@ -354,7 +354,7 @@ NoPause:
mplMainRender=1;
wsPostRedisplay( &appMPlayer.mainWindow );
// if ( !mplShMem->Playing )
- wsPostRedisplay( &appMPlayer.subWindow );
+// wsPostRedisplay( &appMPlayer.subWindow );
XFlush( wsDisplay );
mplRedrawTimer=mplRedrawTimerConst;
break;
diff --git a/Gui/mplayer/sw.h b/Gui/mplayer/sw.h
index cc2889a4ff..a07035a634 100644
--- a/Gui/mplayer/sw.h
+++ b/Gui/mplayer/sw.h
@@ -6,17 +6,27 @@ int mplSubMoved = 0;
void mplSubDraw( wsParamDisplay )
{
- if ( appMPlayer.subWindow.Visible == wsWindowNotVisible ) return;
+ if ( ( appMPlayer.subWindow.Visible == wsWindowNotVisible )||
+ ( appMPlayer.subWindow.State != wsWindowExpose ) ) return;
+
if ( ( mplShMem->Playing )&&( appMPlayer.subWindow.State == wsWindowExpose ) )
- { appMPlayer.subWindow.State=0; vo_expose=1; return; }
+ {
+ wsSetBackgroundRGB( &appMPlayer.subWindow,0,0,0 );
+ wsClearWindow( appMPlayer.subWindow );
+ appMPlayer.subWindow.State=0;
+ vo_expose=1;
+ return;
+ }
if ( mplSubRender )
{
wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
wsClearWindow( appMPlayer.subWindow );
- if ( appMPlayer.sub.Bitmap.Image ) wsConvert( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Image,appMPlayer.sub.Bitmap.ImageSize );
- mplSubRender=0;
- if ( appMPlayer.sub.Bitmap.Image ) wsPutImage( &appMPlayer.subWindow );
+ if ( appMPlayer.sub.Bitmap.Image )
+ {
+ wsConvert( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Image,appMPlayer.sub.Bitmap.ImageSize );
+ wsPutImage( &appMPlayer.subWindow );
+ }
XFlush( wsDisplay );
}
}