@@ -34,6 +34,8 @@ MirSurfaceItem::MirSurfaceItem(const QString& name,
34 , m_parentSurface(nullptr)
34 , m_parentSurface(nullptr)
35 , m_haveInputMethod(false)
35 , m_haveInputMethod(false)
37+ qDebug() << "MirSurfaceItem::MirSurfaceItem() " << this->name();
37 QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
39 QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
39 // The virtual keyboard (input method) has a big transparent area so that
41 // The virtual keyboard (input method) has a big transparent area so that
@@ -46,6 +48,8 @@ MirSurfaceItem::MirSurfaceItem(const QString& name,
47MirSurfaceItem::~MirSurfaceItem()
49MirSurfaceItem::~MirSurfaceItem()
51+ qDebug() << "MirSurfaceItem::~MirSurfaceItem() " << name();
49 QList<MirSurfaceItem*> children(m_children);
53 QList<MirSurfaceItem*> children(m_children);
50 for (MirSurfaceItem* child : children) {
54 for (MirSurfaceItem* child : children) {
51 child->setParentSurface(nullptr);
55 child->setParentSurface(nullptr);
@@ -54,7 +58,7 @@ MirSurfaceItem::~MirSurfaceItem()
54 m_parentSurface->removeChildSurface(this);
58 m_parentSurface->removeChildSurface(this);
56 if (m_application)
60 if (m_application)
57− m_application->setSurface(nullptr);
61+ m_application->removeSurface(this);
60void MirSurfaceItem::paint(QPainter * painter)
64void MirSurfaceItem::paint(QPainter * painter)
@@ -75,7 +79,7 @@ void MirSurfaceItem::release()
77 if (m_application) {
81 if (m_application) {
78− m_application->setSurface(nullptr);
82+ m_application->removeSurface(this);
80 if (!parent()) {
84 if (!parent()) {
81 deleteLater();
85 deleteLater();
@@ -104,20 +108,24 @@ void MirSurfaceItem::setParentSurface(MirSurfaceItem* surface)
104 Q_EMIT parentSurfaceChanged(surface);
108 Q_EMIT parentSurfaceChanged(surface);
111+void MirSurfaceItem::addChildSurface(MirSurfaceItem* surface)
113+ qDebug() << "MirSurfaceItem::addChildSurface " << surface->name() << " to " << name();
115+ m_children.append(surface);
116+ Q_EMIT childSurfacesChanged();
107void MirSurfaceItem::removeChildSurface(MirSurfaceItem* surface)
119void MirSurfaceItem::removeChildSurface(MirSurfaceItem* surface)
121+ qDebug() << "MirSurfaceItem::removeChildSurface " << surface->name() << " from " << name();
109 if (m_children.contains(surface)) {
123 if (m_children.contains(surface)) {
110 m_children.removeOne(surface);
124 m_children.removeOne(surface);
111 Q_EMIT childSurfacesChanged();
125 Q_EMIT childSurfacesChanged();
115−void MirSurfaceItem::addChildSurface(MirSurfaceItem* surface)
117− m_children.append(surface);
118− Q_EMIT childSurfacesChanged();
121QList<MirSurfaceItem*> MirSurfaceItem::childSurfaceList()
129QList<MirSurfaceItem*> MirSurfaceItem::childSurfaceList()
123 return m_children;
131 return m_children;