use setValue() instead of setLayer() to handle different value types

(strings, variants, layers)
This commit is contained in:
Alexander Bruy 2019-12-10 10:23:09 +02:00 committed by Nyall Dawson
parent dcdcb334ef
commit 243cd6ce8b

View File

@ -937,10 +937,10 @@ class MapLayerWidgetWrapper(WidgetWrapper):
try:
if self.parameterDefinition().flags() & QgsProcessingParameterDefinition.FlagOptional:
self.combo.setLayer(self.parameterDefinition().defaultValue())
self.combo.setValue(self.parameterDefinition().defaultValue(), self.context)
else:
if self.parameterDefinition().defaultValue():
self.combo.setLayer(self.parameterDefinition().defaultValue())
self.combo.setvalue(self.parameterDefinition().defaultValue(), self.context)
else:
self.combo.setLayer(iface.activeLayer())
except: