summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/packagelist.cpp
authortille <tille>2002-05-12 09:32:43 (UTC)
committer tille <tille>2002-05-12 09:32:43 (UTC)
commit6f5ac2fbf69f019cc9d3a1522fc507c6b88d2bd6 (patch) (side-by-side diff)
treec584a13cb4b70f007435731b63c0f0c5e6d5460c /noncore/unsupported/oipkg/packagelist.cpp
parent93eca505676b623407259bccf802e2069708dc36 (diff)
downloadopie-6f5ac2fbf69f019cc9d3a1522fc507c6b88d2bd6.zip
opie-6f5ac2fbf69f019cc9d3a1522fc507c6b88d2bd6.tar.gz
opie-6f5ac2fbf69f019cc9d3a1522fc507c6b88d2bd6.tar.bz2
fixed mem leak
Diffstat (limited to 'noncore/unsupported/oipkg/packagelist.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/packagelist.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp
index 2fc4c41..fdd1163 100644
--- a/noncore/unsupported/oipkg/packagelist.cpp
+++ b/noncore/unsupported/oipkg/packagelist.cpp
@@ -8,12 +8,14 @@
#include "debug.h"
static QDict<Package> *packageListAll;
+static int packageListAllRefCount = 0;
PackageList::PackageList()
: packageIter( packageList )
{
empty=true;
if (!packageListAll) packageListAll = new QDict<Package>();
+ packageListAllRefCount++;
sections << "All";
subSections.insert("All", new QStringList() );
QStringList *ss = subSections["All"];
@@ -31,6 +33,7 @@ PackageList::PackageList( PackageManagerSettings* s)
PackageList::~PackageList()
{
+ if (--packageListAllRefCount < 1 ) delete packageListAll;
}
/** Inserts a package into the list */
@@ -51,7 +54,7 @@ void PackageList::insertPackage( Package* pack )
// p->setName( pack->name()+"["+p->version()+"]" );
if (!packver)
{
- packver = new QDict<Package>;
+ packver = new QDict<Package>();
packver->insert( pack->name(), p );
p->setOtherVersions( packver );
}
@@ -182,6 +185,7 @@ void PackageList::readFileEntries( QString filename, QString dest )
packEntry << line;
};
}
+ delete statusStream;
return;
}