From 22930a350cfefb1eff33d7d2207e387bf16021a2 Mon Sep 17 00:00:00 2001 From: pommicket Date: Mon, 25 Aug 2025 00:23:44 -0400 Subject: Various fixes for windows build --- quacker/macondobackend.cpp | 32 ++++++++++---------------------- quacker/macondobackend.h | 2 +- 2 files changed, 11 insertions(+), 23 deletions(-) (limited to 'quacker') diff --git a/quacker/macondobackend.cpp b/quacker/macondobackend.cpp index faa4ca8..ef1b6dd 100644 --- a/quacker/macondobackend.cpp +++ b/quacker/macondobackend.cpp @@ -108,35 +108,33 @@ MacondoBackend::MacondoBackend(Quackle::Game *game, const MacondoInitOptions &op m_updateTimer->start(); } -bool MacondoBackend::startProcess() { +bool MacondoBackend::startProcess(Command command) { if (m_process) return true; + m_command = command; m_process = new QProcess(this); QStringList args; - m_process->start(m_execPath.c_str(), args); connect(m_process, SIGNAL(started()), this, SLOT(processStarted())); connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(processFinished(int, QProcess::ExitStatus))); + m_process->start(m_execPath.c_str(), args, QIODevice::Unbuffered | QIODevice::Text | QIODevice::ReadWrite); return true; } bool MacondoBackend::simulate(const MacondoSimulateOptions &options, const Quackle::MoveList &moves) { - if (!startProcess()) - return false; m_movesToLoad = moves; - m_command = Command::Simulate; + if (!startProcess(Command::Simulate)) + return false; return true; } void MacondoBackend::solveEndgame(const MacondoEndgameOptions &options) { m_endgameOptions = options; - startProcess(); - m_command = Command::SolveEndgame; + startProcess(Command::SolveEndgame); } void MacondoBackend::solvePreEndgame(const MacondoPreEndgameOptions &options) { m_preEndgamePlaysToAnalyze = 0; m_preEndgameOptions = options; - startProcess(); - m_command = Command::SolvePreEndgame; + startProcess(Command::SolvePreEndgame); } static bool parseInt(const std::string &s, int &value, size_t *len) { @@ -426,25 +424,15 @@ const char *MacondoBackend::updateDots(bool anythingNew) { void MacondoBackend::send(const QByteArray &data) { if (data.isEmpty()) return; emit newLogOutput(data); - if (isWindows()) { - QByteArray copy; - copy.replace("\n", "\r\n"); - m_process->write(copy); - } else { - m_process->write(data); - } + m_process->write(data); } QByteArray MacondoBackend::receiveStdout() { - QByteArray data = m_process->readAllStandardOutput(); - data.replace("\r\n", "\n"); - return data; + return m_process->readAllStandardOutput(); } QByteArray MacondoBackend::receiveStderr() { - QByteArray data = m_process->readAllStandardError(); - data.replace("\r\n", "\n"); - return data; + return m_process->readAllStandardError(); } void MacondoBackend::timer() { diff --git a/quacker/macondobackend.h b/quacker/macondobackend.h index 93032b7..0b9694a 100644 --- a/quacker/macondobackend.h +++ b/quacker/macondobackend.h @@ -71,7 +71,7 @@ private: SolvePreEndgame, SolveEndgame, }; - bool startProcess(); + bool startProcess(Command command); void loadGCG(); void killProcess(); void removeTempGCG(); -- cgit v1.2.3