diff --git a/app/dock/dockview.cpp b/app/dock/dockview.cpp index 3d608a1ec..ca842eff8 100644 --- a/app/dock/dockview.cpp +++ b/app/dock/dockview.cpp @@ -134,6 +134,9 @@ DockView::~DockView() qDebug() << "dock view deleting..."; rootContext()->setContextProperty(QStringLiteral("dock"), nullptr); + rootContext()->setContextProperty(QStringLiteral("themeExtended"), nullptr); + rootContext()->setContextProperty(QStringLiteral("universalSettings"), nullptr); + rootContext()->setContextProperty(QStringLiteral("layoutManager"), nullptr); //! this disconnect does not free up connections correctly when //! dockView is deleted. A crash for this example is the following: diff --git a/containment/package/contents/ui/PanelBox.qml b/containment/package/contents/ui/PanelBox.qml index cffd88a16..6ac79e355 100644 --- a/containment/package/contents/ui/PanelBox.qml +++ b/containment/package/contents/ui/PanelBox.qml @@ -155,7 +155,8 @@ Item{ enabledBorders: dock && dock.effects ? dock.effects.enabledBorders : PlasmaCore.FrameSvg.NoBorder - property bool themeHasShadow: themeExtended ? themeExtended.hasShadow : false + //! set true by default in order to avoid crash on startup because imagePath is set to "" + readonly property bool themeHasShadow: themeExtended ? themeExtended.hasShadow : true Behavior on opacity { enabled: Latte.WindowSystem.compositingActive diff --git a/containment/package/contents/ui/main.qml b/containment/package/contents/ui/main.qml index 2d84da960..1a9ea9d17 100644 --- a/containment/package/contents/ui/main.qml +++ b/containment/package/contents/ui/main.qml @@ -346,10 +346,10 @@ DragDrop.DropArea { property Item latteApplet property Item parabolicManager: _parabolicManager - property QtObject dock - property QtObject themeExtended - property QtObject universalSettings - property QtObject universalLayoutManager + property QtObject dock: null + property QtObject themeExtended: null + property QtObject universalSettings: null + property QtObject universalLayoutManager: null property QtObject dockManagedLayout: dock && dock.managedLayout ? dock.managedLayout : null // TO BE DELETED, if not needed: property int counter:0;