-rw-r--r-- | noncore/net/opietooth/lib/manager.cc | 22 |
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; |