Skip to content

Commit

Permalink
[processing] Fix warning when loading algorithm dialog and no layers
Browse files Browse the repository at this point in the history
are present

Fixes #21631
  • Loading branch information
nyalldawson committed Mar 21, 2019
1 parent 199cd8e commit b20e80a
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions python/plugins/processing/gui/wrappers.py
Original file line number Diff line number Diff line change
Expand Up @@ -1630,12 +1630,15 @@ def setLayer(self, layer):
if isinstance(layer, QgsProcessingFeatureSourceDefinition):
layer, ok = layer.source.valueAsString(self.context.expressionContext())
if isinstance(layer, str):
layer = QgsProcessingUtils.mapLayerFromString(layer, self.context)
if not isinstance(layer, QgsVectorLayer) or not layer.isValid():
self.dialog.messageBar().clearWidgets()
self.dialog.messageBar().pushMessage("", self.tr("Could not load selected layer/table. Dependent field could not be populated"),
level=Qgis.Warning, duration=5)
return
if not layer: # empty string
layer = None
else:
layer = QgsProcessingUtils.mapLayerFromString(layer, self.context)
if not isinstance(layer, QgsVectorLayer) or not layer.isValid():
self.dialog.messageBar().clearWidgets()
self.dialog.messageBar().pushMessage("", self.tr("Could not load selected layer/table. Dependent field could not be populated"),
level=Qgis.Warning, duration=5)
return

self._layer = layer

Expand Down

0 comments on commit b20e80a

Please sign in to comment.