Merge pull request #14927 from huffman/fix/hide-asset-browser

Case 16349: Fix asset browser being hidden in incorrect way on server switch
This commit is contained in:
John Conklin II 2019-02-15 13:32:27 -08:00 committed by GitHub
commit b9356e22d8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6988,17 +6988,19 @@ void Application::nodeActivated(SharedNodePointer node) {
#if !defined(DISABLE_QML)
auto offscreenUi = getOffscreenUI();
auto assetDialog = offscreenUi ? offscreenUi->getRootItem()->findChild<QQuickItem*>("AssetServer") : nullptr;
if (assetDialog) {
if (offscreenUi) {
auto nodeList = DependencyManager::get<NodeList>();
if (nodeList->getThisNodeCanWriteAssets()) {
// call reload on the shown asset browser dialog to get the mappings (if permissions allow)
QMetaObject::invokeMethod(assetDialog, "reload");
auto assetDialog = offscreenUi ? offscreenUi->getRootItem()->findChild<QQuickItem*>("AssetServer") : nullptr;
if (assetDialog) {
QMetaObject::invokeMethod(assetDialog, "reload");
}
} else {
// we switched to an Asset Server that we can't modify, hide the Asset Browser
assetDialog->setVisible(false);
offscreenUi->hide("AssetServer");
}
}
#endif