diff --git a/app/activeproject.cpp b/app/activeproject.cpp index 78d786a9e..5d7a9b421 100644 --- a/app/activeproject.cpp +++ b/app/activeproject.cpp @@ -608,6 +608,16 @@ bool ActiveProject::recordingAllowed( QgsMapLayer *layer ) const if ( layer->readOnly() ) return false; + if ( layer ) + { + bool isPrivate = layer->flags() & QgsMapLayer::LayerFlag::Private; + + if ( isPrivate ) + { + return false; + } + } + return QgsMapLayerProxyModel::layerMatchesFilters( layer, Qgis::LayerFilter::HasGeometry | Qgis::LayerFilter::WritableLayer ) && layer->id() != positionTrackingLayerId() && layer->id() != mapSketchesLayerId(); } diff --git a/app/recordinglayersproxymodel.cpp b/app/recordinglayersproxymodel.cpp index 1ad1ed328..801128596 100644 --- a/app/recordinglayersproxymodel.cpp +++ b/app/recordinglayersproxymodel.cpp @@ -31,6 +31,16 @@ bool RecordingLayersProxyModel::filterAcceptsRow( int source_row, const QModelIn QModelIndex index = mModel->index( source_row, 0, source_parent ); QgsMapLayer *layer = mModel->layerFromIndex( index ); + if ( layer ) + { + bool isPrivate = layer->flags() & QgsMapLayer::LayerFlag::Private; + + if ( isPrivate ) + { + return false; + } + } + return mModel->data( index, LayersModel::LayerVisible ).toBool(); }