summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-09-18 11:42:01 (UTC)
committer llornkcor <llornkcor>2004-09-18 11:42:01 (UTC)
commitd4e33108b974aa802f10d30a6a082adf67681224 (patch) (side-by-side diff)
tree2c172af340d9bd4f7b85d4e42c33f8d190ef63f2
parent35d96e2215c765da2270589c059c717a858333ca (diff)
downloadopie-d4e33108b974aa802f10d30a6a082adf67681224.zip
opie-d4e33108b974aa802f10d30a6a082adf67681224.tar.gz
opie-d4e33108b974aa802f10d30a6a082adf67681224.tar.bz2
fix crash #1408
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/videowidget.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/core/multimedia/opieplayer/videowidget.cpp b/core/multimedia/opieplayer/videowidget.cpp
index e851044..2396ed5 100644
--- a/core/multimedia/opieplayer/videowidget.cpp
+++ b/core/multimedia/opieplayer/videowidget.cpp
@@ -78,25 +78,24 @@ VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) :
{
setCaption( tr("OpiePlayer") );
Config cfg("OpiePlayer");
cfg.setGroup("Options");
skin = cfg.readEntry("Skin","default");
QString skinPath;
skinPath = "opieplayer2/skins/" + skin;
if(!QDir(QString(getenv("OPIEDIR")) +"/pics/"+skinPath).exists())
skinPath = "opieplayer2/skins/default";
- // odebug << "skin path " + skinPath << oendl;
// QString skinPath = "opieplayer2/skins/" + skin;
pixBg = new QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
imgUp = new QImage( Resource::loadImage( QString("%1/skinV_up").arg(skinPath) ) );
imgDn = new QImage( Resource::loadImage( QString("%1/skinV_down").arg(skinPath) ) );
imgButtonMask = new QImage( imgUp->width(), imgUp->height(), 8, 255 );
imgButtonMask->fill( 0 );
for ( int i = 0; i < 7; i++ ) {
QString filename = QString( QPEApplication::qpeDir() + "/pics/" + skinPath +
@@ -107,68 +106,66 @@ VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) :
if ( !masks[i]->isNull() ) {
QImage imgMask = masks[i]->convertToImage();
uchar **dest = imgButtonMask->jumpTable();
for ( int y = 0; y < imgUp->height(); y++ ) {
uchar *line = dest[y];
for ( int x = 0; x < imgUp->width(); x++ ) {
if ( !qRed( imgMask.pixel( x, y ) ) )
line[x] = i + 1;
}
}
}
}
- // odebug << "finished loading first pics" << oendl;
for ( int i = 0; i < 7; i++ ) {
buttonPixUp[i] = NULL;
buttonPixDown[i] = NULL;
}
-
QWidget *d = QApplication::desktop();
int width = d->width();
int height = d->height();
if( (width != pixBg->width() ) || (height != pixBg->height() ) ) {
-// odebug << "<<<<<<<< scale image >>>>>>>>>>>>" << oendl;
QImage img;
img = pixBg->convertToImage();
pixBg->convertFromImage( img.smoothScale( width, height));
}
- setBackgroundPixmap( *pixBg );
+ setBackgroundPixmap( *pixBg );
currentFrame = new QImage( 220 + 2, 160, (QPixmap::defaultDepth() == 16) ? 16 : 32 );
-
slider = new QSlider( Qt::Horizontal, this );
slider->setMinValue( 0 );
slider->setMaxValue( 1 );
- slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
+
+ slider->setBackgroundPixmap( *pixBg );
slider->setFocusPolicy( QWidget::NoFocus );
// slider->setGeometry( QRect( 7, 250, 220, 20 ) );
connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) );
connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) );
// connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) );
connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
// Intialise state
setLength( mediaPlayerState->length() );
setPosition( mediaPlayerState->position() );
setFullscreen( mediaPlayerState->fullscreen() );
-// setPaused( mediaPlayerState->paused() );
- setPlaying( mediaPlayerState->playing() );
+// setPlaying( mediaPlayerState->playing() );
+// if(this->x() < 0 || this->y() < 0)
+// this->move(0,0);
}
VideoWidget::~VideoWidget() {
for ( int i = 0; i < 7; i++ )
{
delete buttonPixUp[i];
delete buttonPixDown[i];
}
delete pixBg;
@@ -463,37 +460,41 @@ void VideoWidget::closeEvent( QCloseEvent* ) {
bool VideoWidget::playVideo() {
bool result = FALSE;
// odebug << "<<<<<<<<<<<<<<<< play video" << oendl;
int stream = 0;
int sw = mediaPlayerState->curDecoder()->videoWidth( stream );
int sh = mediaPlayerState->curDecoder()->videoHeight( stream );
int dd = QPixmap::defaultDepth();
int w = height();
int h = width();
+ QWidget *d = QApplication::desktop();
+ int d_width = d->width();
+ int d_height = d->height();
+
ColorFormat format = (dd == 16) ? RGB565 : BGRA8888;
if ( mediaPlayerState->fullscreen() )
{
#ifdef USE_DIRECT_PAINTER
QDirectPainter p(this);
if ( ( qt_screen->transformOrientation() == 3 ) &&
( ( dd == 16 ) || ( dd == 32 ) ) && ( p.numRects() == 1 ) )
{
- w = 320;
- h = 240;
+ w = d_width; //320;
+ h = d_height; //240;
if ( mediaPlayerState->scaled() )
{
// maintain aspect ratio
if ( w * sh > sw * h )
w = sw * h / sh;
else
h = sh * w / sw;
}
else
{
w = sw;
@@ -516,27 +517,26 @@ bool VideoWidget::playVideo() {
jt[h - i] = fp;
fp += p.lineStep();
}
result = mediaPlayerState->curDecoder()->videoReadScaledFrame( jt, sx, sy, sw, sh, w, h, format, 0) == 0;
delete [] jt;
}
else
{
#endif
QPainter p(this);
-
- w = 320;
- h = 240;
+ w = d_width; //320;
+ h = d_height; //240;
if ( mediaPlayerState->scaled() )
{
// maintain aspect ratio
if ( w * sh > sw * h )
w = sw * h / sh;
else
h = sh * w / sw;
}
else
{
w = sw;