From 8c401d3a810d393d1319568069719564240aa6cd Mon Sep 17 00:00:00 2001 From: mhugent Date: Thu, 3 Jun 2010 11:14:07 +0000 Subject: [PATCH] Fix for canvas item order in print composer (ticket #2755) git-svn-id: http://svn.osgeo.org/qgis/trunk@13633 c8812cc2-4d05-0410-92ff-de0c093fc19c --- src/core/composer/qgscomposermap.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/core/composer/qgscomposermap.cpp b/src/core/composer/qgscomposermap.cpp index 32e8954e9ab9..8f92f120aa3d 100644 --- a/src/core/composer/qgscomposermap.cpp +++ b/src/core/composer/qgscomposermap.cpp @@ -1411,16 +1411,21 @@ void QgsComposerMap::drawCanvasItems( QPainter* painter, const QStyleOptionGraph } QList itemList = mMapCanvas->items(); + if ( itemList.size() < 1 ) + { + return; + } - QList::iterator itemIt = itemList.begin(); - for ( ; itemIt != itemList.end(); ++itemIt ) + QGraphicsItem* currentItem = 0; + for ( int i = itemList.size() - 1; i >= 0; --i ) { + currentItem = itemList.at( i ); //don't draw mapcanvasmap (has z value -10) - if ( !( *itemIt ) || ( *itemIt )->zValue() == -10 ) + if ( !currentItem || currentItem->zValue() == -10 ) { continue; } - drawCanvasItem( *itemIt, painter, itemStyle ); + drawCanvasItem( currentItem, painter, itemStyle ); } }