Hi David, this sounds like a bug, so I would say: create an issue with clear steps so others can reproduce/fix.... BUT I cannot reproduce. Doing your steps I see 'FOO' is just saved in the project file (and viewable after unzipping the qgz file).... And even after loading the qml and restartnig QGIS it is there.
I also am not sure what the exact purpose of QgsExpressionContextUtils.setLayerVariable would be, if I want stuff to be saved in project file I use: layer.setCustomProperty('FOO', 'BAR') and to retreive it: layer.customProperty('FOO', '') But, maybe others can tell something about this. I use QGIS self build on Debian: https://github.com/qgis/QGIS/commit/4790747aea Regards, Richard Duivenvoorde On 20-06-18 22:06, David Marteau wrote: > > Just found out that this is not addMapLayer that remove the variables > but 'layer.loadNamedStyle' > > Print layer.customProperty('variableNames') just before calling > 'layer.loadNamedStyle' show variables > Print layer.customProperty('variableNames') just after the call : empty > list > > Reproduced in the python console: > >>>> QgsExpressionContextUtils.setLayerVariable(layer,'FOO','BAR') >>>> layer.customProperty('variableNames') > ['FOO'] >>>> layer.loadNamedStyle('mystyle.qml') > ('', True) >>>> layer.customProperty('variableNames') > [] > > >> Le 20 juin 2018 à 18:13, David Marteau <dmart...@3liz.com >> <mailto:dmart...@3liz.com>> a écrit : >> >> Hi >> >> I'm trying to set custom layers variables from processing >> using QgsExpressionContextUtils.setLayerVariables to destination >> layers , I have found that those variables does not appear in >> Qgis. >> >> I have found that when the layer is inserted in the current project >> (https://github.com/qgis/QGIS/blob/master/python/plugins/processing/gui/Postprocessing.py#L81) >> the layer variables are removed - Checking existence of the variable >> before >> and after the call of 'addMaperLayer' shows that layer variables are >> removed from custom properties. >> >> I cannot tell if this is a bug or not because it seems that the >> removal may occurs in some signal handler. So if somebody has some >> clues to where to look, I will be grateful. >> >> >> Qgis version: 3.0.3-Girona >> >> David > > > > _______________________________________________ > QGIS-Developer mailing list > QGIS-Developer@lists.osgeo.org > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer > _______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer