summaryrefslogtreecommitdiff
authorsimon <simon>2002-11-21 11:48:43 (UTC)
committer simon <simon>2002-11-21 11:48:43 (UTC)
commit74b4b55fd5f09c1b8f38228488aa5876e40c0ae3 (patch) (side-by-side diff)
tree89864acf81f4628c296e13279d59d0f6a1466e98
parent8fd6ee827a8d0fce2ba318fb3715296a95c5556b (diff)
downloadopie-74b4b55fd5f09c1b8f38228488aa5876e40c0ae3.zip
opie-74b4b55fd5f09c1b8f38228488aa5876e40c0ae3.tar.gz
opie-74b4b55fd5f09c1b8f38228488aa5876e40c0ae3.tar.bz2
- do proper reference counting on the ObexInterface object. reviewed by
sandman
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/irserver.cpp4
-rw-r--r--core/launcher/irserver.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/core/launcher/irserver.cpp b/core/launcher/irserver.cpp
index b22e064..2147d0a 100644
--- a/core/launcher/irserver.cpp
+++ b/core/launcher/irserver.cpp
@@ -16,2 +16,3 @@ IrServer::IrServer( QObject *parent, const char *name )
lib = 0;
+ iface = 0;
QString path = QPEApplication::qpeDir() + "/plugins/obex/";
@@ -21,3 +22,2 @@ IrServer::IrServer( QObject *parent, const char *name )
for ( it = list.begin(); it != list.end(); ++it ) {
- ObexInterface *iface = 0;
QLibrary *trylib = new QLibrary( path + *it );
@@ -48,2 +48,4 @@ IrServer::~IrServer()
{
+ if ( iface )
+ iface->release();
delete lib;
diff --git a/core/launcher/irserver.h b/core/launcher/irserver.h
index f9f682f..b3434dd 100644
--- a/core/launcher/irserver.h
+++ b/core/launcher/irserver.h
@@ -7,2 +7,3 @@ class QCopChannel;
class QLibrary;
+struct ObexInterface;
@@ -17,2 +18,3 @@ private:
QLibrary *lib;
+ ObexInterface *iface;
};