Skip to content

Commit 677cea0

Browse files
m-kuhnmhugent
authored andcommittedAug 9, 2012
Remove merge conflict
1 parent 7a0467d commit 677cea0

File tree

2 files changed

+27
-11
lines changed

2 files changed

+27
-11
lines changed
 

‎src/gui/qgsmapcanvas.cpp‎

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,6 @@ QgsMapCanvas::QgsMapCanvas( QWidget * parent, const char *name )
8484
, mAntiAliasing( false )
8585
{
8686
setObjectName( name );
87-
88-
QSettings settings;
89-
bool enableBackbuffer = settings.value( "/Map/enableBackbuffer", 1 ).toBool();
90-
//disable the update that leads to the resize crash
91-
if ( viewport() && !enableBackbuffer )
92-
{
93-
#ifndef ANDROID
94-
viewport()->setAttribute( Qt::WA_PaintOnScreen, true );
95-
#endif //ANDROID
96-
}
97-
9887
mScene = new QGraphicsScene();
9988
setScene( mScene );
10089
setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
@@ -105,6 +94,7 @@ QgsMapCanvas::QgsMapCanvas( QWidget * parent, const char *name )
10594
mMapTool = NULL;
10695
mLastNonZoomMapTool = NULL;
10796

97+
mBackbufferEnabled = true;
10898
mDrawing = false;
10999
mFrozen = false;
110100
mDirty = true;
@@ -380,6 +370,30 @@ void QgsMapCanvas::refresh()
380370
if ( mDrawing )
381371
return;
382372

373+
QSettings settings;
374+
bool enableBackbufferSetting = settings.value( "/Map/enableBackbuffer", 1 ).toBool();
375+
376+
377+
//disable the update that leads to the resize crash
378+
if ( viewport() )
379+
{
380+
#ifndef ANDROID
381+
if ( enableBackbufferSetting != mBackbufferEnabled )
382+
{
383+
qDebug() << "Enable back buffering: " << enableBackbufferSetting;
384+
if ( enableBackbufferSetting )
385+
{
386+
viewport()->setAttribute( Qt::WA_PaintOnScreen, false );
387+
}
388+
else
389+
{
390+
viewport()->setAttribute( Qt::WA_PaintOnScreen, true );
391+
}
392+
mBackbufferEnabled = enableBackbufferSetting;
393+
}
394+
#endif //ANDROID
395+
}
396+
383397
mDrawing = true;
384398

385399
if ( mRenderFlag && !mFrozen )

‎src/gui/qgsmapcanvas.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,8 @@ class GUI_EXPORT QgsMapCanvas : public QGraphicsView
432432
//! map overview widget - it's controlled by QgsMapCanvas
433433
QgsMapOverviewCanvas* mMapOverview;
434434

435+
//! If backbuffering is currently enabled
436+
bool mBackbufferEnabled;
435437
//! Flag indicating a map refresh is in progress
436438
bool mDrawing;
437439

0 commit comments

Comments
 (0)
Please sign in to comment.