From bff4ae322275e910125cd8d9bd22feefbbab2477 Mon Sep 17 00:00:00 2001
From: zecke <zecke>
Date: Tue, 07 Oct 2003 12:41:05 +0000
Subject: Update the Applet Example

---
(limited to 'examples/applet')

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
@@ -77,14 +77,27 @@ SimpleAppletImpl::SimpleAppletImpl() {
 }
 /* needed cause until it is only pure virtual */
 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();
 }
 
 /*
  * For the taskbar interface return a Widget
  */
 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
@@ -29,6 +29,8 @@
  * We provide an Implementation of the interface.
  */
 #include <qwidget.h>
+#include <qlist.h>
+
 #include <qpe/taskbarappletinterface.h>
 
 
@@ -66,6 +68,9 @@ public:
      * delete this is called
      */
     Q_REFCOUNT
+
+private:
+    QList<SimpleApplet> m_applets;
 };
 
 
--
cgit v0.9.0.2