aboutsummaryrefslogtreecommitdiff
path: root/src/ui/qmmpstarter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/qmmpstarter.cpp')
-rw-r--r--src/ui/qmmpstarter.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/ui/qmmpstarter.cpp b/src/ui/qmmpstarter.cpp
index bccd6e250..05422d4e7 100644
--- a/src/ui/qmmpstarter.cpp
+++ b/src/ui/qmmpstarter.cpp
@@ -136,6 +136,9 @@ void QMMPStarter::writeCommand()
barray.remove(0, size);
}
m_socket->flush();
+ //reading answer
+ if(m_socket->waitForReadyRead(1500))
+ cout << m_socket->readAll().data();
}
else
{
@@ -148,17 +151,20 @@ void QMMPStarter::writeCommand()
void QMMPStarter::readCommand()
{
QLocalSocket *socket = m_server->nextPendingConnection();
- socket->waitForDisconnected();
+ socket->waitForReadyRead();
QByteArray inputArray = socket->readAll();
- socket->deleteLater();
if(inputArray.isEmpty())
return;
QStringList slist = QString::fromUtf8(inputArray.data()).split("\n",QString::SkipEmptyParts);
QString cwd = slist.takeAt(0);
- if (mw)
+ QString out = mw ? mw->processCommandArgs(slist, cwd) : QString();
+ if(!out.isEmpty())
{
- mw->processCommandArgs(slist,cwd);
+ //writing answer
+ socket->write(out.toLocal8Bit());
+ socket->flush();
}
+ socket->deleteLater();
}
void QMMPStarter::printUsage()