summaryrefslogtreecommitdiff
path: root/noncore
authorkorovkin <korovkin>2006-05-02 19:48:56 (UTC)
committer korovkin <korovkin>2006-05-02 19:48:56 (UTC)
commit1240155cf5865df0d0ce0e4bd04dfec68ec1ede5 (patch) (side-by-side diff)
tree5b02700cd155920820712a9033cafe5ea60d6a30 /noncore
parentc1299012f67f2ae99a4f83445692afbe9244a676 (diff)
downloadopie-1240155cf5865df0d0ce0e4bd04dfec68ec1ede5.zip
opie-1240155cf5865df0d0ce0e4bd04dfec68ec1ede5.tar.gz
opie-1240155cf5865df0d0ce0e4bd04dfec68ec1ede5.tar.bz2
Destroy process on an object destruction.
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/lib/manager.cc22
1 files changed, 14 insertions, 8 deletions
diff --git a/noncore/net/opietooth/lib/manager.cc b/noncore/net/opietooth/lib/manager.cc
index 83accf7..7311484 100644
--- a/noncore/net/opietooth/lib/manager.cc
+++ b/noncore/net/opietooth/lib/manager.cc
@@ -61,10 +61,10 @@ void Manager::searchDevices( const QString& device ){
odebug << "Manager: search devices" << oendl;
- OProcess* hcitool = new OProcess();
- hcitool->setName( device.isEmpty() ? "hci0" : device.latin1() );
- *hcitool << "hcitool" << "scan";
- connect( hcitool, SIGNAL(processExited(Opie::Core::OProcess*) ) ,
+ m_hcitool = new OProcess();
+ m_hcitool->setName( device.isEmpty() ? "hci0" : device.latin1() );
+ *m_hcitool << "hcitool" << "scan";
+ connect( m_hcitool, SIGNAL(processExited(Opie::Core::OProcess*) ) ,
this, SLOT(slotHCIExited(Opie::Core::OProcess* ) ) );
- connect( hcitool, SIGNAL(receivedStdout(Opie::Core::OProcess*, char*, int ) ),
+ connect( m_hcitool, SIGNAL(receivedStdout(Opie::Core::OProcess*, char*, int ) ),
this, SLOT(slotHCIOut(Opie::Core::OProcess*, char*, int ) ) );
- if (!hcitool->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
+ if (!m_hcitool->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
odebug << "Manager: could not start" << oendl;
@@ -72,3 +72,4 @@ void Manager::searchDevices( const QString& device ){
emit foundDevices( device, list );
- delete hcitool;
+ delete m_hcitool;
+ m_hcitool = 0;
}
@@ -107,3 +108,3 @@ void Manager::removeServices( const QStringList& list){
void Manager::searchServices( const QString& remDevice ){
- OProcess *m_sdp =new OProcess();
+ m_sdp =new OProcess();
*m_sdp << "sdptool" << "browse" << remDevice;
@@ -118,2 +119,3 @@ void Manager::searchServices( const QString& remDevice ){
delete m_sdp;
+ m_sdp = 0;
Services::ValueList list;
@@ -167,2 +169,4 @@ void Manager::slotSDPExited( OProcess* proc)
emit foundServices( proc->name(), list );
+ if (proc == m_sdp)
+ m_sdp = 0;
delete proc;
@@ -190,2 +194,4 @@ void Manager::slotHCIExited(OProcess* proc ) {
emit foundDevices( proc->name(), list );
+ if (proc == m_hcitool)
+ m_hcitool = 0;
delete proc;