forked from qt-creator/qt-creator
QmlDesigner: Set material preview aux values asynchronously on init
This is done to avoid recursive writes to model. Change-Id: Ie7cdd9c38fc54276a2c6617ba51137fd78946f4a Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -634,9 +634,14 @@ void MaterialEditorView::initPreviewData()
|
||||
QString envValue = envValuePropVal ? envValuePropVal->toString() : "";
|
||||
QString modelStr = modelStrPropVal ? modelStrPropVal->toString() : "";
|
||||
// Initialize corresponding instance aux values used by puppet
|
||||
rootModelNode().setAuxiliaryData(materialPreviewEnvProperty, env);
|
||||
rootModelNode().setAuxiliaryData(materialPreviewEnvValueProperty, envValue);
|
||||
rootModelNode().setAuxiliaryData(materialPreviewModelProperty, modelStr);
|
||||
QTimer::singleShot(0, this, [this, env, envValue, modelStr]() {
|
||||
if (model()) {
|
||||
rootModelNode().setAuxiliaryData(materialPreviewEnvProperty, env);
|
||||
rootModelNode().setAuxiliaryData(materialPreviewEnvValueProperty, envValue);
|
||||
rootModelNode().setAuxiliaryData(materialPreviewModelProperty, modelStr);
|
||||
}
|
||||
});
|
||||
|
||||
if (!envValue.isEmpty() && env != "Color" && env != "Basic") {
|
||||
env += '=';
|
||||
env += envValue;
|
||||
|
||||
Reference in New Issue
Block a user