@@ -804,6 +804,7 @@ void QgisApp::dragEnterEvent( QDragEnterEvent *event )
804
804
805
805
void QgisApp::dropEvent ( QDropEvent *event )
806
806
{
807
+ mMapCanvas ->freeze ();
807
808
// get the file list
808
809
QList<QUrl>::iterator i;
809
810
QList<QUrl>urls = event->mimeData ()->urls ();
@@ -817,6 +818,7 @@ void QgisApp::dropEvent( QDropEvent *event )
817
818
openFile ( fileName );
818
819
}
819
820
}
821
+
820
822
if ( QgsMimeDataUtils::isUriList ( event->mimeData () ) )
821
823
{
822
824
QgsMimeDataUtils::UriList lst = QgsMimeDataUtils::decodeUriList ( event->mimeData () );
@@ -832,7 +834,8 @@ void QgisApp::dropEvent( QDropEvent *event )
832
834
}
833
835
}
834
836
}
835
-
837
+ mMapCanvas ->freeze (false );
838
+ mMapCanvas ->refresh ();
836
839
event->acceptProposedAction ();
837
840
}
838
841
@@ -2486,6 +2489,7 @@ void QgisApp::addVectorLayer()
2486
2489
2487
2490
bool QgisApp::addVectorLayers ( QStringList const & theLayerQStringList, const QString& enc, const QString dataSourceType )
2488
2491
{
2492
+ bool wasfrozen = mMapCanvas ->isFrozen ();
2489
2493
QList<QgsMapLayer *> myList;
2490
2494
foreach ( QString src, theLayerQStringList )
2491
2495
{
@@ -2590,10 +2594,13 @@ bool QgisApp::addVectorLayers( QStringList const & theLayerQStringList, const QS
2590
2594
// update UI
2591
2595
qApp->processEvents ();
2592
2596
2593
- // draw the map
2594
- mMapCanvas ->freeze ( false );
2595
- mMapCanvas ->refresh ();
2596
-
2597
+ // Only update the map if we frozen in this method
2598
+ // Let the caller do it otherwise
2599
+ if ( !wasfrozen )
2600
+ {
2601
+ mMapCanvas ->freeze ( false );
2602
+ mMapCanvas ->refresh ();
2603
+ }
2597
2604
// Let render() do its own cursor management
2598
2605
// QApplication::restoreOverrideCursor();
2599
2606
@@ -6743,6 +6750,8 @@ QgsVectorLayer* QgisApp::addVectorLayer( QString vectorLayerPath, QString baseNa
6743
6750
return NULL ;
6744
6751
}
6745
6752
6753
+ bool wasfrozen = mMapCanvas ->isFrozen ();
6754
+
6746
6755
mMapCanvas ->freeze ();
6747
6756
6748
6757
// Let render() do its own cursor management
@@ -6797,9 +6806,13 @@ QgsVectorLayer* QgisApp::addVectorLayer( QString vectorLayerPath, QString baseNa
6797
6806
// update UI
6798
6807
qApp->processEvents ();
6799
6808
6800
- // draw the map
6801
- mMapCanvas ->freeze ( false );
6802
- mMapCanvas ->refresh ();
6809
+ // Only update the map if we frozen in this method
6810
+ // Let the caller do it otherwise
6811
+ if ( !wasfrozen )
6812
+ {
6813
+ mMapCanvas ->freeze ( false );
6814
+ mMapCanvas ->refresh ();
6815
+ }
6803
6816
6804
6817
// Let render() do its own cursor management
6805
6818
// QApplication::restoreOverrideCursor();
0 commit comments