diff --git a/cockatrice/src/replay_timeline_widget.cpp b/cockatrice/src/replay_timeline_widget.cpp index bab6aad6..55abcaf0 100644 --- a/cockatrice/src/replay_timeline_widget.cpp +++ b/cockatrice/src/replay_timeline_widget.cpp @@ -62,7 +62,7 @@ void ReplayTimelineWidget::paintEvent(QPaintEvent * /* event */) void ReplayTimelineWidget::mousePressEvent(QMouseEvent *event) { - int newTime = static_cast((long)maxTime * (long)event->x() / width()); + int newTime = static_cast((qint64)maxTime * (qint64)event->x() / width()); newTime -= newTime % 200; // Time should always be a multiple of 200 if (newTime < currentTime) { currentTime = 0; diff --git a/servatrice/src/servatrice.cpp b/servatrice/src/servatrice.cpp index 8a25cf3e..25a862dc 100644 --- a/servatrice/src/servatrice.cpp +++ b/servatrice/src/servatrice.cpp @@ -212,24 +212,12 @@ Servatrice::~Servatrice() clientsLock.unlock(); // client destruction is asynchronous, wait for all clients to be gone - bool done = false; - - class SleeperThread : public QThread - { - public: - static void msleep(unsigned long msecs) - { - QThread::usleep(msecs); - } - }; - - do { - SleeperThread::msleep(10); - clientsLock.lockForRead(); + for (;;) { + QThread::usleep(10); + QReadLocker locker(&clientsLock); if (clients.isEmpty()) - done = true; - clientsLock.unlock(); - } while (!done); + break; + } prepareDestroy(); }