Skip to content

Commit 006b130

Browse files
committed
Don't append raster layer to an existing GPKG, if a vector layer with the same name already exists.
1 parent b379d75 commit 006b130

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/gui/qgsrasterlayersaveasdialog.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@
2525
#include "qgsprojectionselectiondialog.h"
2626
#include "qgssettings.h"
2727
#include "qgsrasterfilewriter.h"
28+
#include "qgsvectorlayer.h"
2829
#include "cpl_string.h"
2930
#include "qgsproject.h"
3031
#include <gdal.h>
32+
#include "qgsmessagelog.h"
3133

3234
#include <QFileDialog>
3335
#include <QMessageBox>
@@ -918,8 +920,9 @@ bool QgsRasterLayerSaveAsDialog::outputLayerExists() const
918920
uri = outputFileName();
919921
}
920922

921-
std::unique_ptr< QgsRasterLayer > layer( new QgsRasterLayer( uri, "", QStringLiteral( "gdal" ) ) );
922-
return layer->isValid();
923+
std::unique_ptr< QgsRasterLayer > rastLayer( new QgsRasterLayer( uri, "", QStringLiteral( "gdal" ) ) );
924+
std::unique_ptr< QgsVectorLayer > vectLayer( new QgsVectorLayer( uri, "", QStringLiteral( "ogr" ) ) );
925+
return ( rastLayer->isValid() || vectLayer->isValid() );
923926
}
924927

925928
void QgsRasterLayerSaveAsDialog::accept()

0 commit comments

Comments
 (0)