[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    =?utf-8?q?=5Bkde-runtime=5D_plasma/declarativeimports/core=3A_us?=
From:       Diego Casella <polentino911 () gmail ! com>
Date:       2011-04-29 10:51:19
Message-ID: 20110429105119.D4E88A60A4 () git ! kde ! org
[Download RAW message or body]

Git commit d264de3b439a4ec0517b42a7667cdccb4e106cc8 by Diego Casella.
Committed on 29/04/2011 at 12:50.
Pushed by casella into branch 'master'.

use QWeakPointer for m_declarativeItemContainer

M  +14   -16   plasma/declarativeimports/core/tooltip.cpp     
M  +1    -1    plasma/declarativeimports/core/tooltip.h     

http://commits.kde.org/kde-runtime/d264de3b439a4ec0517b42a7667cdccb4e106cc8

diff --git a/plasma/declarativeimports/core/tooltip.cpp \
b/plasma/declarativeimports/core/tooltip.cpp index c09cfc3..966450c 100644
--- a/plasma/declarativeimports/core/tooltip.cpp
+++ b/plasma/declarativeimports/core/tooltip.cpp
@@ -35,8 +35,7 @@
 
 
 ToolTipProxy::ToolTipProxy(QObject *parent)
-    : QObject(parent), m_mainText(""), m_subText(""),
-      m_declarativeItemContainer(0), m_widget(0)
+    : QObject(parent), m_mainText(""), m_subText(""), m_widget(0)
 {
     connect(this, SIGNAL(targetChanged()), this, SLOT(updateToolTip()));
     connect(this, SIGNAL(mainTextChanged()), this, SLOT(updateToolTip()));
@@ -46,9 +45,6 @@ ToolTipProxy::ToolTipProxy(QObject *parent)
 
 ToolTipProxy::~ToolTipProxy()
 {
-    if (!m_declarativeItemContainer) {
-        delete m_declarativeItemContainer;
-	}
 }
 
 QGraphicsObject *ToolTipProxy::target() const
@@ -94,17 +90,19 @@ void ToolTipProxy::syncTarget()
     }
 
     if (!m_declarativeItemContainer) {
-        m_declarativeItemContainer = new DeclarativeItemContainer();
-        m_declarativeItemContainer->setObjectName("DIContainer");
-        scene->addItem(m_declarativeItemContainer);
-    }
-
-    m_target.data()->setObjectName("Original Item");
-    m_declarativeItemContainer->setDeclarativeItem(item, false);
-    m_declarativeItemContainer->setAcceptHoverEvents(true);
-    m_declarativeItemContainer->setParentItem(m_target.data());
-    m_widget = m_declarativeItemContainer;
-    emit targetChanged();
+	    m_declarativeItemContainer = QWeakPointer<DeclarativeItemContainer>(new \
DeclarativeItemContainer()); +        \
m_declarativeItemContainer.data()->setObjectName("DIContainer"); +        \
scene->addItem(m_declarativeItemContainer.data()); +    } 
+    
+    if (m_declarativeItemContainer) {
+        m_target.data()->setObjectName("Original Item");
+        m_declarativeItemContainer.data()->setDeclarativeItem(item, false);
+        m_declarativeItemContainer.data()->setAcceptHoverEvents(true);
+        m_declarativeItemContainer.data()->setParentItem(m_target.data());
+        m_widget = m_declarativeItemContainer.data();
+        emit targetChanged();
+	}
 }
 
 QString ToolTipProxy::mainText() const
diff --git a/plasma/declarativeimports/core/tooltip.h \
b/plasma/declarativeimports/core/tooltip.h index fca2074..5965858 100644
--- a/plasma/declarativeimports/core/tooltip.h
+++ b/plasma/declarativeimports/core/tooltip.h
@@ -68,8 +68,8 @@ private:
     QString m_mainText;
     QString m_subText;
     QString m_image;
-    DeclarativeItemContainer *m_declarativeItemContainer;
     QGraphicsWidget *m_widget;
+    QWeakPointer<DeclarativeItemContainer> m_declarativeItemContainer;
     QWeakPointer<QGraphicsObject> m_target;
 };
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic