-rw-r--r-- | core/launcher/server.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/core/launcher/server.cpp b/core/launcher/server.cpp index 921b790..c45265a 100644 --- a/core/launcher/server.cpp +++ b/core/launcher/server.cpp | |||
@@ -366,18 +366,26 @@ void Server::systemMsg(const QCString &msg, const QByteArray &data) | |||
366 | QRsync::generateDiff( baseFile, sigFile, deltaFile ); | 366 | QRsync::generateDiff( baseFile, sigFile, deltaFile ); |
367 | } else if ( msg == "rdiffApplyPatch(QString,QString)" ) { | 367 | } else if ( msg == "rdiffApplyPatch(QString,QString)" ) { |
368 | QString baseFile, deltaFile; | 368 | QString baseFile, deltaFile; |
369 | stream >> baseFile >> deltaFile; | 369 | stream >> baseFile >> deltaFile; |
370 | bool fileWasCreated = false; | ||
370 | if ( !QFile::exists( baseFile ) ) { | 371 | if ( !QFile::exists( baseFile ) ) { |
371 | QFile f( baseFile ); | 372 | QFile f( baseFile ); |
372 | f.open( IO_WriteOnly ); | 373 | fileWasCreated = f.open( IO_WriteOnly ); |
373 | f.close(); | 374 | f.close(); |
374 | } | 375 | } |
375 | QRsync::applyDiff( baseFile, deltaFile ); | 376 | if ( fileWasCreated ) { |
377 | QRsync::applyDiff( baseFile, deltaFile ); | ||
376 | #ifndef QT_NO_COP | 378 | #ifndef QT_NO_COP |
377 | QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" ); | 379 | QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" ); |
378 | e << baseFile; | 380 | e << baseFile; |
379 | #endif | 381 | #endif |
382 | } else { | ||
383 | #ifndef QT_NO_COP | ||
384 | QCopEnvelope e( "QPE/Desktop", "patchUnapplied(QString)" ); | ||
385 | e << baseFile; | ||
386 | #endif | ||
387 | } | ||
380 | } else if ( msg == "rdiffCleanup()" ) { | 388 | } else if ( msg == "rdiffCleanup()" ) { |
381 | mkdir( "/tmp/rdiff" ); | 389 | mkdir( "/tmp/rdiff" ); |
382 | QDir dir; | 390 | QDir dir; |
383 | dir.setPath( "/tmp/rdiff" ); | 391 | dir.setPath( "/tmp/rdiff" ); |
@@ -997,9 +1005,10 @@ void Server::startSoundServer() { | |||
997 | } | 1005 | } |
998 | 1006 | ||
999 | process->clearArguments(); | 1007 | process->clearArguments(); |
1000 | *process << QPEApplication::qpeDir() + "bin/qss"; | 1008 | *process << QPEApplication::qpeDir() + "bin/qss"; |
1001 | process->start(); | 1009 | if (!process->start()) |
1010 | owarn << "Sound server process did not start" << oendl; | ||
1002 | } | 1011 | } |
1003 | 1012 | ||
1004 | void Server::soundServerExited() { | 1013 | void Server::soundServerExited() { |
1005 | QTimer::singleShot(5000, this, SLOT(startSoundServer())); | 1014 | QTimer::singleShot(5000, this, SLOT(startSoundServer())); |