be sure to delete the old pixmap before setting a new one

svn path=/trunk/playground/graphics/okular/; revision=621863
remotes/origin/KDE/4.0
Pino Toscano 19 years ago
parent ba36aa3953
commit 1b49db09d5
  1. 17
      core/page.cpp

@ -364,12 +364,17 @@ const Link * Page::pageAction( PageAction action ) const
void Page::setPixmap( int id, QPixmap *pixmap ) void Page::setPixmap( int id, QPixmap *pixmap )
{ {
if ( d->m_rotation == Rotation0 ) { if ( d->m_rotation == Rotation0 ) {
PixmapObject object; QMap< int, PixmapObject >::iterator it = m_pixmaps.find( id );
if ( it != m_pixmaps.end() )
object.m_pixmap = pixmap; {
object.m_rotation = d->m_rotation; delete it.value().m_pixmap;
}
m_pixmaps[ id ] = object; else
{
it = m_pixmaps.insert( id, PixmapObject() );
}
it.value().m_pixmap = pixmap;
it.value().m_rotation = d->m_rotation;
} else { } else {
RotationJob *job = new RotationJob( pixmap->toImage(), Rotation0, d->m_rotation, id ); RotationJob *job = new RotationJob( pixmap->toImage(), Rotation0, d->m_rotation, id );
connect( job, SIGNAL( finished() ), this, SLOT( imageRotationDone() ) ); connect( job, SIGNAL( finished() ), this, SLOT( imageRotationDone() ) );

Loading…
Cancel
Save