1
0
Fork 0
forked from len0rd/rockbox

rbutil: Fix TTS "waiting for engine" appearing randomly.

QProgressDialog shows / hides itself automatically based on the progress
value set, so calling hide() directly doesn't prevent the dialog from
showing itself.

Change the logic to set a value instead. Fixes the progress dialog
sometimes appearing in situations where it wasn't used at all.

Change-Id: Ifef063f31b7f888bb74f180dea0679e81cc5c8fe
This commit is contained in:
Dominik Riebeling 2022-03-20 09:58:04 +01:00
parent c21d10cb33
commit ccdd9e6784
4 changed files with 24 additions and 24 deletions

View file

@ -108,8 +108,7 @@ public:
virtual void saveSettings() = 0;
signals:
void busy(); // emit this if a operation takes time
void busyEnd(); // emit this at the end of a busy section
void busy(bool show); // emit this if a operation takes time
protected:
//! Child class should fill in the setttingsList

View file

@ -336,14 +336,14 @@ QString TTSFestival::queryServer(QString query, int timeout)
return "";
// this operation could take some time
emit busy();
emit busy(true);
LOG_INFO() << "queryServer with" << query;
if (!ensureServerRunning())
{
LOG_ERROR() << "queryServer: ensureServerRunning failed";
emit busyEnd();
emit busy(false);
return "";
}
@ -391,7 +391,7 @@ QString TTSFestival::queryServer(QString query, int timeout)
while(QDateTime::currentDateTime() < tmpEndTime)
QCoreApplication::processEvents(QEventLoop::AllEvents);
}
emit busyEnd();
emit busy(false);
socket.disconnectFromHost();
if(response == "nil")