From 358b79f91f83cca96cc5f49a3d6844ebfb3f635c Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Wed, 10 Feb 2021 19:11:01 +0100
Subject: [PATCH] KLKT: Fix the wait to timeout on doCommand when the command
 fails

---
 src/klkt/klkt.hpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/klkt/klkt.hpp b/src/klkt/klkt.hpp
index df5a824e..c282e164 100644
--- a/src/klkt/klkt.hpp
+++ b/src/klkt/klkt.hpp
@@ -297,8 +297,8 @@ private slots:
 
         for (auto &line : lines) {
             return_position = line.length() + 1;
-            m_pending_data = m_pending_data.right(m_pending_data.length() - return_position);
-            if (line == "OK") {
+            m_pending_data  = m_pending_data.right(m_pending_data.length() - return_position);
+            if (line == "OK" || line.left(3) == "ACK") {
                 m_sock.close();
                 return;
             }
@@ -328,8 +328,8 @@ private slots:
 
         for (const auto &line : lines) {
             return_position = line.length() + 1;
-            m_pending_data = m_pending_data.right(m_pending_data.length() - return_position);
-            if (line == "OK") {
+            m_pending_data  = m_pending_data.right(m_pending_data.length() - return_position);
+            if (line == "OK" || line.left(3) == "ACK") {
                 /* Read the current song if needed */
                 if (m_state == "play") {
                     QWidget::disconnect(m_connect_read);
@@ -408,7 +408,7 @@ private:
         connect(&m_sock, &Socket::readyRead,    this, [&]() {
             QStringList lines = QTextCodec::codecForMib(UTF8_MIB)->toUnicode(m_sock.readAll()).split("\n");
             for (auto &line : lines) {
-                if (line == "OK") {
+                if (line == "OK" || line.left(3) == "ACK") {
                     m_sock.close();
                     emit finished();
                     return;
-- 
GitLab