Skip to content

Commit

Permalink
Only update CAD canvas item geometry when necessary
Browse files Browse the repository at this point in the history
The call to setRect() in paint() handler was triggering canvas redraws
all the time, keeping one CPU core busy nearly all the time when
CAD dock was active.
  • Loading branch information
wonder-sk committed Sep 11, 2017
1 parent bb20047 commit 7c9105d
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/gui/qgsadvanceddigitizingcanvasitem.cpp
Expand Up @@ -38,7 +38,8 @@ void QgsAdvancedDigitizingCanvasItem::paint( QPainter *painter )
return;

QgsRectangle mapRect = mMapCanvas->extent();
setRect( mapRect );
if ( rect() != mapRect )
setRect( mapRect );

int nPoints = mAdvancedDigitizingDockWidget->pointsCount();
if ( !nPoints )
Expand Down

1 comment on commit 7c9105d

@3nids
Copy link
Member

@3nids 3nids commented on 7c9105d Sep 12, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

backported to 2.18

Please sign in to comment.