-rw-r--r-- | noncore/multimedia/opieplayer2/xinevideowidget.cpp | 52 |
1 files changed, 23 insertions, 29 deletions
diff --git a/noncore/multimedia/opieplayer2/xinevideowidget.cpp b/noncore/multimedia/opieplayer2/xinevideowidget.cpp index 7f59085..78ebe19 100644 --- a/noncore/multimedia/opieplayer2/xinevideowidget.cpp +++ b/noncore/multimedia/opieplayer2/xinevideowidget.cpp @@ -1,5 +1,4 @@ - /* This file is part of the Opie Project Copyright (c) 2002 Max Reiss <harlekin@handhelds.org> @@ -214,25 +213,30 @@ void XineVideoWidget::paintEvent2 ( QPaintEvent * ) } int middle_w = _vw/2; int middle_h = _vh/2; m_thisframe.setRect(width()/2-middle_w,height()/2-middle_h,_vw,_vh); - QRect topFill,rightFill,leftFill,downFill; - topFill. setRect(0,0 ,width(),m_thisframe.top()); - downFill.setCoords(0,m_thisframe.bottom(),width(),height()); - rightFill.setCoords(m_thisframe.right(),0,width(),height()); - leftFill.setCoords(0,0,m_thisframe.left(),height()); - - if (topFill.isValid()) { - p.fillRect(topFill,black); - } - if (downFill.isValid()) { - p.fillRect(downFill,black); - } - if (rightFill.isValid()) { - p.fillRect(rightFill,black); - } - if (leftFill.isValid()) { - p.fillRect(leftFill,black); + + { + // is this stuff realy needed? it seems working without, too. + QRect topFill,rightFill,leftFill,downFill; + topFill. setRect(0,0 ,width(),m_thisframe.top()); + downFill.setCoords(0,m_thisframe.bottom(),width(),height()); + rightFill.setCoords(m_thisframe.right(),0,width(),height()); + leftFill.setCoords(0,0,m_thisframe.left(),height()); + + if (topFill.isValid()) { + p.fillRect(topFill,black); + } + if (downFill.isValid()) { + p.fillRect(downFill,black); + } + if (rightFill.isValid()) { + p.fillRect(rightFill,black); + } + if (leftFill.isValid()) { + p.fillRect(leftFill,black); + } + } uchar *fb = dp. frameBuffer ( ); uchar *frame = m_buff; @@ -266,15 +270,8 @@ void XineVideoWidget::paintEvent2 ( QPaintEvent * ) } dst += m_bytes_per_line_fb; } } - - - { - // QVFB hack by Martin Jones - // We need to "touch" all affected clip rects with a normal QPainter in addition to the QDirectPainter - p.fillRect(QRect(mapFromGlobal (m_thisframe. topLeft ( )), m_thisframe.size ()),QBrush(NoBrush)); - } } } QImage *XineVideoWidget::logo ( ) const @@ -310,11 +307,8 @@ void XineVideoWidget::setVideoFrame ( uchar* img, int w, int h, int bpl ) m_lastsize=l; } else { m_buff = 0; } - } else if (l==0){ - delete[] m_buff; - m_buff = 0; } m_lastsize = l; m_framesize = QSize(w,h); if (m_buff && m_lastsize) { @@ -322,9 +316,9 @@ void XineVideoWidget::setVideoFrame ( uchar* img, int w, int h, int bpl ) } m_bytes_per_line_frame = bpl; } // Release Mutex - paintEvent2(0); + if (m_buff) paintEvent2(0); } void XineVideoWidget::resizeEvent ( QResizeEvent * ) { |