summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/xinevideowidget.cpp52
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 * )
{