Skip to content

Commit fc3bfde

Browse files
author
rblazek
committed
disconnect signals, check mValid in postRender, set newpoint on startup
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@4921 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 63a2c9c commit fc3bfde

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/plugins/grass/qgsgrassedit.cpp

+16
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,7 @@ void QgsGrassEdit::init()
454454
// TODO: how to get keyboard events from canvas (shortcuts)
455455

456456
mNewPointAction->setOn(true); // Start NEW_POINT tool
457+
startTool(QgsGrassEdit::NEW_POINT);
457458

458459
restorePosition();
459460

@@ -842,6 +843,15 @@ void QgsGrassEdit::closeEdit(void)
842843
std::cerr << "QgsGrassEdit::close()" << std::endl;
843844
#endif
844845

846+
// Disconnect signals
847+
// Warning: it seems that slots (postRender) can be called even
848+
// after disconnect (is it a queue?)
849+
disconnect( this, SLOT(mouseEventReceiverClick(QgsPoint &, Qt::ButtonState)));
850+
disconnect( this, SLOT(mouseEventReceiverMove(QgsPoint &)));
851+
disconnect( this, SLOT(postRender(QPainter *)));
852+
853+
mValid = false; // important for postRender
854+
845855
if ( mAttributes ) {
846856
delete mAttributes;
847857
}
@@ -1908,6 +1918,12 @@ void QgsGrassEdit::postRender(QPainter *painter)
19081918
std::cerr << "QgsGrassEdit::postRender" << std::endl;
19091919
#endif
19101920

1921+
// Warning: it seems that this slot can be called even
1922+
// after disconnect (is it a queue?)
1923+
// -> check mValid
1924+
1925+
if ( !mValid ) return;
1926+
19111927
displayMap(painter);
19121928

19131929
// Redisplay highlighted

0 commit comments

Comments
 (0)