Uploaded image for project: 'Qt Design Studio'
  1. Qt Design Studio
  2. QDS-8212

Effect maker crashes at launch

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • None
    • QDS 3.8, QDS 3.9
    • Design Studio Effects
    • None
    • Windows

    Description

      When trying to launch QQEffectMaker.exe it does not open but crashes right away. This happens if I try to launch it by double clicking .qep file in DS or just running it from DS_install_folder\Tools\QtDesignStudio\qt6_design_studio_reduced_version\bin

      • output
        Exception thrown: read access violation.
        **typeRef** was nullptr.
        
      • qqmlpropertycachecreator_p.h
        345template <typename ObjectContainer>
        346inline QQmlPropertyCache::ConstPtr QQmlPropertyCacheCreator<ObjectContainer>::propertyCacheForObject(const CompiledObject *obj, const QQmlBindingInstantiationContext 347&context, QQmlError *error) const
        348{
        349    if (context.instantiatingProperty) {
        350        return context.instantiatingPropertyCache();
        351    } else if (obj->inheritedTypeNameIndex != 0) {
        352        auto *typeRef = objectContainer->resolvedType(obj->inheritedTypeNameIndex);
        353        Q_ASSERT(typeRef);
        354
        355        if (typeRef->isFullyDynamicType()) {
        
      • trace
        >	Qt6Qml.dll!QQmlPropertyCacheCreator<QQmlTypeCompiler>::propertyCacheForObject(const QmlIR::Object * obj, const QQmlBindingInstantiationContext & context, QQmlError * error) Line 355	C++
         	Qt6Qml.dll!QQmlPropertyCacheCreator<QQmlTypeCompiler>::buildMetaObjectRecursively(int objectIndex, const QQmlBindingInstantiationContext & context, QQmlPropertyCacheCreator<QQmlTypeCompiler>::VMEMetaObjectIsRequired isVMERequired) Line 296	C++
         	[Inline Frame] Qt6Qml.dll!QQmlPropertyCacheCreator<QQmlTypeCompiler>::buildMetaObjectsIncrementally() Line 222	C++
         	Qt6Qml.dll!QQmlTypeCompiler::compile() Line 58	C++
         	Qt6Qml.dll!QQmlTypeData::compile(const QQmlRefPointer<QQmlTypeNameCache> & typeNameCache, QV4::ResolvedTypeReferenceMap * resolvedTypeCache, const std::function<QByteArray __cdecl(void)> & dependencyHasher) Line 750	C++
         	Qt6Qml.dll!QQmlTypeData::done() Line 410	C++
         	Qt6Qml.dll!QQmlDataBlob::tryDone() Line 488	C++
         	Qt6Qml.dll!QQmlTypeLoader::setData(QQmlDataBlob * blob, const QQmlDataBlob::SourceCodeData & d) Line 420	C++
         	Qt6Qml.dll!QQmlTypeLoader::setData(QQmlDataBlob * blob, const QString & fileName) Line 399	C++
         	Qt6Qml.dll!QQmlTypeLoader::loadThread(QQmlDataBlob * blob) Line 263	C++
         	[Inline Frame] Qt6Qml.dll!PlainLoader::loadThread(QQmlTypeLoader *) Line 108	C++
         	[Inline Frame] Qt6Qml.dll!QQmlTypeLoader::doLoad(const PlainLoader &) Line 167	C++
         	Qt6Qml.dll!QQmlTypeLoader::load(QQmlDataBlob * blob, QQmlTypeLoader::Mode mode) Line 199	C++
         	Qt6Qml.dll!QQmlTypeLoader::getType(const QUrl & unNormalizedUrl, QQmlTypeLoader::Mode mode) Line 916	C++
         	Qt6Qml.dll!QQmlTypeData::resolveTypes() Line 845	C++
         	Qt6Qml.dll!QQmlTypeData::allDependenciesDone() Line 721	C++
         	Qt6Qml.dll!QQmlTypeLoader::setData(QQmlDataBlob * blob, const QQmlDataBlob::SourceCodeData & d) Line 414	C++
         	Qt6Qml.dll!QQmlTypeLoader::setData(QQmlDataBlob * blob, const QString & fileName) Line 399	C++
         	Qt6Qml.dll!QQmlTypeLoader::loadThread(QQmlDataBlob * blob) Line 263	C++
         	[Inline Frame] Qt6Qml.dll!PlainLoader::loadThread(QQmlTypeLoader *) Line 108	C++
        
      • when attaching a debugger you will see these locals
        this->typeClassName = "BlurItem"
        objectContainer->document=
        // Copyright (C) 2022 The Qt Company Ltd.
        // SPDX-License-Identifier: BSD-3-Clause
        
        import QtQuick
        
        Item {
            id: rootItem
        
            property var sourceProxy: source.sourceItem === undefined ? source : source.sourceItem
            property alias blurSrc1: blurredItemSource1
            property alias blurSrc2: blurredItemSource2
            property alias blurSrc3: blurredItemSource3
            property alias blurSrc4: blurredItemSource4
            property alias blurSrc5: blurredItemSource5
            property alias blurSrc6: blurredItemSource6
        
            component BlurItem : ShaderEffect {
                property vector2d offset: Qt.vector2d((1.0 + rootItem.blurMultiplier) / width,
                                                      (1.0 + rootItem.blurMultiplier) / height)
                visible: false
                smooth: true
                vertexShader: "bluritems.vert.qsb"
                fragmentShader: "bluritems.frag.qsb"
            }
        
            QtObject {
                id: priv
                property bool useBlurItem1: true
                property bool useBlurItem2: true
                property bool useBlurItem3: rootItem.blurMax > 2
                property bool useBlurItem4: rootItem.blurMax > 8
                property bool useBlurItem5: rootItem.blurMax > 16
                property bool useBlurItem6: rootItem.blurMax > 32
            }
            ShaderEffectSource {
                id: blurredItemSource1
                width: Math.ceil(rootItem.width / 64) * 64
                height: Math.ceil(rootItem.height / 64) * 64
                sourceItem: priv.useBlurItem1 ? rootItem.sourceProxy : null
                hideSource: rootItem.visible
                visible: false
                smooth: true
            }
        
            BlurItem {
                id: blurredItem1
                property var source: blurredItemSource1
                anchors.fill: blurredItemSource2
            }
        
            ShaderEffectSource {
                id: blurredItemSource2
                width: blurredItemSource1.width / 2
                height: blurredItemSource1.height / 2
                sourceItem: priv.useBlurItem2 ? blurredItem1 : null
                hideSource: rootItem.visible
                visible: false
                smooth: true
            }
        
            BlurItem {
                id: blurredItem2
                property var source: blurredItemSource2
                anchors.fill: blurredItemSource3
            }
        
            ShaderEffectSource {
                id: blurredItemSource3
                width: blurredItemSource2.width / 2
                height: blurredItemSource2.height / 2
                sourceItem: priv.useBlurItem3 ? blurredItem2 : null
                hideSource: rootItem.visible
                visible: false
                smooth: true
            }
        
            BlurItem {
                id: blurredItem3
                property var source: blurredItemSource3
                anchors.fill: blurredItemSource4
            }
        
            ShaderEffectSource {
                id: blurredItemSource4
                width: blurredItemSource3.width / 2
                height: blurredItemSource3.height / 2
                sourceItem: priv.useBlurItem4 ? blurredItem3 : null
                hideSource: rootItem.visible
                visible: false
                smooth: true
            }
        
            BlurItem {
                id: blurredItem4
                property var source: blurredItemSource4
                anchors.fill: blurredItemSource5
            }
        
            ShaderEffectSource {
                id: blurredItemSource5
                width: blurredItemSource4.width / 2
                height: blurredItemSource4.height / 2
                sourceItem: priv.useBlurItem5 ? blurredItem4 : null
                hideSource: rootItem.visible
                visible: false
                smooth: true
            }
        
            BlurItem {
                id: blurredItem5
                property var source: blurredItemSource5
                anchors.fill: blurredItemSource6
            }
        
            ShaderEffectSource {
                id: blurredItemSource6
                width: blurredItemSource5.width / 2
                height: blurredItemSource5.height / 2
                sourceItem: priv.useBlurItem6 ? blurredItem5 : null
                hideSource: rootItem.visible
                visible: false
                smooth: true
            }
        }
        

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            amr_essam Amr Elsayed
            tanja_remes Tanja Remes
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes