diff --git a/declarativeimports/plasmacomponents/fullscreendialog.cpp b/declarativeimports/plasmacomponents/fullscreendialog.cpp index 3c4201492..dae1c2582 100644 --- a/declarativeimports/plasmacomponents/fullscreendialog.cpp +++ b/declarativeimports/plasmacomponents/fullscreendialog.cpp @@ -216,25 +216,25 @@ QDeclarativeListProperty FullScreenDialog::title() if (m_rootObject) { return m_rootObject.data()->property("title").value >(); } else { - return QDeclarativeListProperty(); + return QDeclarativeListProperty(this, m_dummyTitleElements); } } -QDeclarativeListProperty FullScreenDialog::content() const +QDeclarativeListProperty FullScreenDialog::content() { if (m_rootObject) { return m_rootObject.data()->property("content").value >(); } else { - return QDeclarativeListProperty(); + return QDeclarativeListProperty(this, m_dummyContentElements); } } -QDeclarativeListProperty FullScreenDialog::buttons() const +QDeclarativeListProperty FullScreenDialog::buttons() { if (m_rootObject) { return m_rootObject.data()->property("buttons").value >(); } else { - return QDeclarativeListProperty(); + return QDeclarativeListProperty(this, m_dummyButtonsElements); } } diff --git a/declarativeimports/plasmacomponents/fullscreendialog.h b/declarativeimports/plasmacomponents/fullscreendialog.h index d199fcd02..da79fe6a3 100644 --- a/declarativeimports/plasmacomponents/fullscreendialog.h +++ b/declarativeimports/plasmacomponents/fullscreendialog.h @@ -56,8 +56,8 @@ public: //QML properties QDeclarativeListProperty title(); - QDeclarativeListProperty content() const; - QDeclarativeListProperty buttons() const; + QDeclarativeListProperty content(); + QDeclarativeListProperty buttons(); DialogStatus::Status status() const; Q_INVOKABLE void open(); @@ -86,6 +86,11 @@ private: QGraphicsScene *m_scene; QWeakPointer m_rootObject; static uint s_numItems; + + //those only used in case of error, to not make plasma crash + QList m_dummyTitleElements; + QList m_dummyContentElements; + QList m_dummyButtonsElements; }; #endif