+
+void ClientBufferViewManager::waitForConfigInit() {
+ bool initialized = true;
+ foreach(BufferViewConfig *config, bufferViewConfigs()) {
+ initialized &= config->isInitialized();
+ if(config->isInitialized())
+ continue;
+ connect(config, SIGNAL(initDone()), this, SLOT(configInitBarrier()));
+ }
+ if(initialized)
+ QMetaObject::invokeMethod(this, "viewsInitialized", Qt::QueuedConnection);
+}
+
+void ClientBufferViewManager::configInitBarrier() {
+ BufferViewConfig *config = qobject_cast<BufferViewConfig *>(sender());
+ Q_ASSERT(config);
+ disconnect(config, SIGNAL(initDone()), this, SLOT(configInitBarrier()));
+
+ bool initialized = true;
+ foreach(BufferViewConfig *config, bufferViewConfigs()) {
+ initialized &= config->isInitialized();
+ }
+ if(initialized)
+ QMetaObject::invokeMethod(this, "viewsInitialized", Qt::QueuedConnection);
+}