summaryrefslogtreecommitdiff
path: root/examples/applet
Side-by-side diff
Diffstat (limited to 'examples/applet') (more/less context) (ignore whitespace changes)
-rw-r--r--examples/applet/simpleimpl.cpp17
-rw-r--r--examples/applet/simpleimpl.h5
2 files changed, 20 insertions, 2 deletions
diff --git a/examples/applet/simpleimpl.cpp b/examples/applet/simpleimpl.cpp
index 981e0ab..82fc6e5 100644
--- a/examples/applet/simpleimpl.cpp
+++ b/examples/applet/simpleimpl.cpp
@@ -79,2 +79,9 @@ SimpleAppletImpl::SimpleAppletImpl() {
SimpleAppletImpl::~SimpleAppletImpl() {
+ /*
+ * we will delete our applets as well
+ * setAUtoDelete makes the QList free
+ * the objects behind the pointers
+ */
+ m_applets.setAutoDelete( true );
+ m_applets.clear();
}
@@ -85,4 +92,10 @@ SimpleAppletImpl::~SimpleAppletImpl() {
QWidget* SimpleAppletImpl::applet( QWidget* parent ) {
- /* ownership has the parent */
- return new SimpleApplet( parent );
+ /*
+ * There are problems with ownership. So we add
+ * our ownlist and clear this;
+ */
+ SimpleApplet* ap = new SimpleApplet( parent );
+ m_applets.append( ap );
+
+ return ap;
}
diff --git a/examples/applet/simpleimpl.h b/examples/applet/simpleimpl.h
index 8459c96..f58e2af 100644
--- a/examples/applet/simpleimpl.h
+++ b/examples/applet/simpleimpl.h
@@ -31,2 +31,4 @@
#include <qwidget.h>
+#include <qlist.h>
+
#include <qpe/taskbarappletinterface.h>
@@ -68,2 +70,5 @@ public:
Q_REFCOUNT
+
+private:
+ QList<SimpleApplet> m_applets;
};