Index: src/gui/qgsmapcanvasmap.cpp =================================================================== --- src/gui/qgsmapcanvasmap.cpp (revision 9954) +++ src/gui/qgsmapcanvasmap.cpp (working copy) @@ -48,6 +48,8 @@ void QgsMapCanvasMap::resize( QSize size ) { + prepareGeometryChange(); // to keep QGraphicsScene indexes up to date on size change + mPixmap = QPixmap( size ); mImage = QImage( size, QImage::Format_RGB32 ); // temporary image - build it here so it is available when switching from QPixmap to QImage rendering mCanvas->mapRenderer()->setOutputSize( size, mPixmap.logicalDpiX() ); Index: src/gui/qgsmapcanvas.cpp =================================================================== --- src/gui/qgsmapcanvas.cpp (revision 9954) +++ src/gui/qgsmapcanvas.cpp (working copy) @@ -811,8 +811,8 @@ int height = lastSize.height(); lastSize = QSize( -1, -1 ); - //set map size before scene size seems to solve the white box problem - //when moving rubber bands + //set map size before scene size helps keep scene indexes updated properly + // this was the cause of rubberband artifacts mMap->resize( QSize( width, height ) ); mScene->setSceneRect( QRectF( 0, 0, width, height ) );