summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/xinevideowidget.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/xinevideowidget.cpp b/noncore/multimedia/opieplayer2/xinevideowidget.cpp
index 1ac9277..9e86041 100644
--- a/noncore/multimedia/opieplayer2/xinevideowidget.cpp
+++ b/noncore/multimedia/opieplayer2/xinevideowidget.cpp
@@ -260,45 +260,47 @@ void XineVideoWidget::paintEvent ( QPaintEvent * )
QImage *XineVideoWidget::logo ( ) const
{
return m_logo;
}
void XineVideoWidget::setLogo ( QImage* logo )
{
delete m_logo;
m_logo = logo;
}
void XineVideoWidget::setVideoFrame ( uchar* img, int w, int h, int bpl )
{
bool rot90 = (( -m_rotation ) & 1 );
if ( rot90 ) { // if the rotation is 90 or 270 we have to swap width / height
int d = w;
w = h;
h = d;
}
m_lastframe = m_thisframe;
m_thisframe. setRect (( width ( ) - w ) / 2, ( height ( ) - h ) / 2, w , h );
m_buff = img;
m_bytes_per_line_frame = bpl;
// only repaint the area that *really* needs to be repainted
repaint ((( m_thisframe & m_lastframe ) != m_lastframe ) ? m_lastframe : m_thisframe, false );
+ // ensure that we always have a valid frame!
+ m_buff = 0;
}
void XineVideoWidget::resizeEvent ( QResizeEvent * )
{
emit videoResized( videoSize() );
}
void XineVideoWidget::mouseReleaseEvent ( QMouseEvent * /*me*/ )
{
emit clicked();
}