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 )
{
if ( d->m_rotation == Rotation0 ) {
PixmapObject object;
object.m_pixmap = pixmap;
object.m_rotation = d->m_rotation;
m_pixmaps[ id ] = object;
QMap< int, PixmapObject >::iterator it = m_pixmaps.find( id );
if ( it != m_pixmaps.end() )
{
delete it.value().m_pixmap;
}
else
{
it = m_pixmaps.insert( id, PixmapObject() );
}
it.value().m_pixmap = pixmap;
it.value().m_rotation = d->m_rotation;
} else {
RotationJob *job = new RotationJob( pixmap->toImage(), Rotation0, d->m_rotation, id );
connect( job, SIGNAL( finished() ), this, SLOT( imageRotationDone() ) );

Loading…
Cancel
Save