diff --git a/src/mumble/Messages.cpp b/src/mumble/Messages.cpp index 7ddbd799b..7bee9e7be 100644 --- a/src/mumble/Messages.cpp +++ b/src/mumble/Messages.cpp @@ -186,27 +186,24 @@ void MainWindow::msgServerSync(const MumbleProto::ServerSync &msg) { updateTrayIcon(); // Set-up all ChannelListeners and their volume adjustments as before for this server - // Use the timer to execute the code in the main event loop as we have to access - // the database. - QTimer::singleShot(0, []() { - QList localListeners = g.db->getChannelListeners(g.sh->qbaDigest); + QList localListeners = g.db->getChannelListeners(g.sh->qbaDigest); - if (!localListeners.isEmpty()) { - ChannelListener::setInitialServerSyncDone(false); - g.sh->startListeningToChannels(localListeners); - } else { - // If there are no listeners, then no synchronization is needed in the first place - ChannelListener::setInitialServerSyncDone(true); - } - - QHash volumeMap = g.db->getChannelListenerLocalVolumeAdjustments(g.sh->qbaDigest); + if (!localListeners.isEmpty()) { + ChannelListener::setInitialServerSyncDone(false); + g.sh->startListeningToChannels(localListeners); + } else { + // If there are no listeners, then no synchronization is needed in the first place + ChannelListener::setInitialServerSyncDone(true); + } + + QHash volumeMap = g.db->getChannelListenerLocalVolumeAdjustments(g.sh->qbaDigest); + + QHashIterator it(volumeMap); + while(it.hasNext()) { + it.next(); + ChannelListener::setListenerLocalVolumeAdjustment(it.key(), it.value()); + } - QHashIterator it(volumeMap); - while(it.hasNext()) { - it.next(); - ChannelListener::setListenerLocalVolumeAdjustment(it.key(), it.value()); - } - }); g.sh->setServerSynchronized(true);