summaryrefslogtreecommitdiff
path: root/core/launcher
Unidiff
Diffstat (limited to 'core/launcher') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/server.cpp22
-rw-r--r--core/launcher/server.h7
2 files changed, 28 insertions, 1 deletions
diff --git a/core/launcher/server.cpp b/core/launcher/server.cpp
index 15cd686..921b790 100644
--- a/core/launcher/server.cpp
+++ b/core/launcher/server.cpp
@@ -42,4 +42,6 @@
42#include <opie2/odevicebutton.h> 42#include <opie2/odevicebutton.h>
43#include <opie2/odevice.h> 43#include <opie2/odevice.h>
44#include <opie2/oprocess.h>
45
44#include <qtopia/applnk.h> 46#include <qtopia/applnk.h>
45#include <qtopia/private/categories.h> 47#include <qtopia/private/categories.h>
@@ -134,5 +136,6 @@ Server::Server() :
134 transferServer( 0 ), 136 transferServer( 0 ),
135 packageHandler( 0 ), 137 packageHandler( 0 ),
136 syncDialog( 0 ) 138 syncDialog( 0 ),
139 process( 0 )
137{ 140{
138 Global::setBuiltinCommands(builtins); 141 Global::setBuiltinCommands(builtins);
@@ -168,4 +171,6 @@ Server::Server() :
168#endif 171#endif
169 172
173 soundServerExited();
174
170 // start services 175 // start services
171 startTransferServer(); 176 startTransferServer();
@@ -985,2 +990,17 @@ void Server::finishedQueuedRequests()
985} 990}
986 991
992void Server::startSoundServer() {
993 if ( !process ) {
994 process = new Opie::Core::OProcess( this );
995 connect(process, SIGNAL(processExited(Opie::Core::OProcess*)),
996 SLOT(soundServerExited()));
997 }
998
999 process->clearArguments();
1000 *process << QPEApplication::qpeDir() + "bin/qss";
1001 process->start();
1002}
1003
1004void Server::soundServerExited() {
1005 QTimer::singleShot(5000, this, SLOT(startSoundServer()));
1006}
diff --git a/core/launcher/server.h b/core/launcher/server.h
index d71d68a..5b2f995 100644
--- a/core/launcher/server.h
+++ b/core/launcher/server.h
@@ -42,4 +42,5 @@ namespace Opie {
42namespace Core { 42namespace Core {
43 class ODeviceButton; 43 class ODeviceButton;
44 class OProcess;
44} 45}
45} 46}
@@ -64,4 +65,8 @@ public slots:
64 65
65private slots: 66private slots:
67 //@{
68 void startSoundServer();
69 void soundServerExited();
70 //@}
66 void activate(const Opie::Core::ODeviceButton*,bool); 71 void activate(const Opie::Core::ODeviceButton*,bool);
67 void syncConnectionClosed( const QHostAddress & ); 72 void syncConnectionClosed( const QHostAddress & );
@@ -105,4 +110,6 @@ private:
105 bool directAccessRun; 110 bool directAccessRun;
106 QueuedRequestRunner *qrr; 111 QueuedRequestRunner *qrr;
112
113 Opie::Core::OProcess *process;
107}; 114};
108 115