More specific component error messaging and modes for native UI to prevent blocking dialog in some applications

This commit is contained in:
mgwynn
2021-06-23 21:05:17 -04:00
parent e357dea06c
commit fb3940fa31
16 changed files with 186 additions and 37 deletions
+13 -2
View File
@@ -557,7 +557,6 @@ public:
{
bool dummy;
QCommandLineParser parser;
QString appRootOverride;
parser.addHelpOption();
parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
parser.setApplicationDescription(QObject::tr("Open 3D Engine"));
@@ -643,7 +642,7 @@ public:
option.second = parser.value(option.first.valueName);
}
m_bExport = m_bExport | m_bExportTexture;
m_bExport = m_bExport || m_bExportTexture;
const QStringList positionalArgs = parser.positionalArguments();
@@ -4362,6 +4361,18 @@ extern "C" int AZ_DLL_EXPORT CryEditMain(int argc, char* argv[])
{
EditorInternal::EditorToolsApplication AZToolsApp(&argc, &argv);
{
CEditCommandLineInfo cmdInfo;
if (!cmdInfo.m_bAutotestMode && !cmdInfo.m_bConsoleMode && !cmdInfo.m_bExport && !cmdInfo.m_bExportTexture &&
!cmdInfo.m_bNullRenderer && !cmdInfo.m_bMatEditMode && !cmdInfo.m_bTest)
{
if (auto nativeUI = AZ::Interface<AZ::NativeUI::NativeUIRequests>::Get(); nativeUI != nullptr)
{
nativeUI->SetMode(AZ::NativeUI::Mode::UI);
}
}
}
// The settings registry has been created by the AZ::ComponentApplication constructor at this point
AZ::SettingsRegistryInterface& registry = *AZ::SettingsRegistry::Get();
AZ::SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddBuildSystemTargetSpecialization(
@@ -91,10 +91,12 @@ namespace EditorInternal
void EditorToolsApplication::StartCommon(AZ::Entity* systemEntity)
{
AzToolsFramework::ToolsApplication::StartCommon(systemEntity);
m_StartupAborted = m_moduleManager->m_quitRequested;
if (systemEntity->GetState() != AZ::Entity::State::Active)
{
m_StartupAborted = true;
return;
}
}
@@ -106,6 +108,7 @@ namespace EditorInternal
AzToolsFramework::ToolsApplication::Start({}, params);
if (IsStartupAborted() || !m_systemEntity)
{
AzToolsFramework::ToolsApplication::Stop();
return false;
}
return true;