Commit 5f41df57 authored by Paul Tvete's avatar Paul Tvete
Browse files

Fix repaint logic

Nowadays everything is buffered and composed, so we have to request that
the widget should be repainted later.
parent 10ff385c
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ void CannonField::setAngle( int degrees )
    if ( ang == degrees )
        return;
    ang = degrees;
    repaint( cannonRect(), false );
    update( cannonRect() );
    emit angleChanged( ang );
}

@@ -72,10 +72,10 @@ void CannonField::newTarget()
        QTime midnight( 0, 0, 0 );
        srand( midnight.secsTo(QTime::currentTime()) );
    }
    erase( targetRect() );
    update( targetRect() );
    target = QPoint( 200 + rand() % 190,
                     10  + rand() % 255 );
    repaint( targetRect() );
    update( targetRect() );
}

void CannonField::setGameOver()
@@ -85,7 +85,7 @@ void CannonField::setGameOver()
    if ( shooting )
        stopShooting();
    gameEnded = true;
    repaint();
    update();
}

void CannonField::restartGame()
@@ -93,12 +93,12 @@ void CannonField::restartGame()
    if ( shooting )
        stopShooting();
    gameEnded = false;
    repaint();
    update();
}

void CannonField::timerEvent( QTimerEvent * )
{
    erase( shotRect() );
    update( shotRect() );
    timerCount++;

    QRect shotR = shotRect();
@@ -114,7 +114,7 @@ void CannonField::timerEvent( QTimerEvent * )
        emit missed();
        return;
    }	
    repaint( shotR, false );
    update( shotR );
}

void CannonField::paintEvent( QPaintEvent *e )