Skip to content

Commit 3c13dce

Browse files
author
wonder
committed
improved speed of drawing layer that's being edited
fixed one memory leak git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@5028 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 2ef9bb3 commit 3c13dce

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/plugins/grass/qgsgrassedit.cpp

+9-2
Original file line numberDiff line numberDiff line change
@@ -2004,22 +2004,25 @@ void QgsGrassEdit::postRender(QPainter *)
20042004

20052005
if ( !mValid ) return;
20062006

2007-
displayMap(NULL);
2007+
displayMap();
20082008

20092009
// Redisplay highlighted
20102010
if ( mSelectedLine ) {
20112011
displayElement ( mSelectedLine, mSymb[SYMB_HIGHLIGHT], mSize );
20122012
}
20132013
}
20142014

2015-
void QgsGrassEdit::displayMap (QPainter *painter)
2015+
void QgsGrassEdit::displayMap ()
20162016
{
20172017
#ifdef QGISDEBUG
20182018
std::cerr << "QgsGrassEdit::displayMap" << std::endl;
20192019
#endif
20202020

20212021
mTransform = mCanvas->getCoordinateTransform();
20222022

2023+
QPainter *painter = new QPainter();
2024+
painter->begin(mPixmap);
2025+
20232026
// Display lines
20242027
int nlines = mProvider->numLines();
20252028

@@ -2042,6 +2045,9 @@ void QgsGrassEdit::displayMap (QPainter *painter)
20422045
}
20432046
}
20442047

2048+
painter->end();
2049+
delete painter;
2050+
20452051
mCanvas->updateContents();
20462052
// mCanvas->repaint(false);
20472053
}
@@ -2077,6 +2083,7 @@ void QgsGrassEdit::displayUpdated (void)
20772083
}
20782084

20792085
painter->end();
2086+
delete painter;
20802087

20812088
mCanvas->updateContents();
20822089
// mCanvas->repaint(false);

src/plugins/grass/qgsgrassedit.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ public slots:
204204
int mSize;
205205

206206
//! Display all lines and nodes
207-
void displayMap (QPainter *painter);
207+
void displayMap ();
208208

209209
/**
210210
* Display icon

0 commit comments

Comments
 (0)