From 7a047f825ba82e3f05b87c68ac421f8e95815920 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 2 Jan 2019 13:25:29 +0100 Subject: ModuleLoader: Fix possible crash in verbose mode The assumption in the code that a value is always a JSSourceValue is not (anymore?) true. Change-Id: Ie1056913d4817776f5ce483f4fb0f60144cda9c6 Reviewed-by: Joerg Bornemann --- src/lib/corelib/language/moduleloader.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index 583354c4d..41727f5da 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -2341,9 +2341,11 @@ void ModuleLoader::adjustDefiningItemsInGroupModuleInstances(const Item::Module << ", old defining item was " << v->definingItem() << " with scope" << v->definingItem()->scope() << ", new defining item is" << replacement - << " with scope" << replacement->scope() - << ", value source code is " + << " with scope" << replacement->scope(); + if (v->type() == Value::JSSourceValueType) { + qCDebug(lcModuleLoader) << "value source code is" << std::static_pointer_cast(v)->sourceCode().toString(); + } replacement->setPropertyDeclaration(propName, decl); replacement->setProperty(propName, v); } else { -- cgit v1.2.3