Merge pull request #6294 from aws-lumberyard-dev/carlitosan-sc-save-crash-dialog
Fix dependency static initialization and error message
This commit is contained in:
@@ -431,16 +431,6 @@ namespace ScriptCanvasEditor
|
||||
AzToolsFramework::ToolsApplicationNotificationBus::Broadcast(&AzToolsFramework::ToolsApplicationEvents::InvalidatePropertyDisplay, AzToolsFramework::Refresh_EntireTree_NewContent);
|
||||
}
|
||||
|
||||
void EditorScriptCanvasComponent::OnStartPlayInEditor()
|
||||
{
|
||||
ScriptCanvas::Execution::PerformanceStatisticsEBus::Broadcast(&ScriptCanvas::Execution::PerformanceStatisticsBus::ClearSnaphotStatistics);
|
||||
}
|
||||
|
||||
void EditorScriptCanvasComponent::OnStopPlayInEditor()
|
||||
{
|
||||
AZ::ScriptSystemRequestBus::Broadcast(&AZ::ScriptSystemRequests::GarbageCollect);
|
||||
}
|
||||
|
||||
void EditorScriptCanvasComponent::SetAssetId(const SourceHandle& assetId)
|
||||
{
|
||||
if (m_sourceHandle.Describe() != assetId.Describe())
|
||||
|
||||
+1
-3
@@ -93,9 +93,7 @@ namespace ScriptCanvasEditor
|
||||
|
||||
//=====================================================================
|
||||
// EditorEntityContextNotificationBus
|
||||
void OnStartPlayInEditor() override;
|
||||
|
||||
void OnStopPlayInEditor() override;
|
||||
|
||||
|
||||
protected:
|
||||
enum class SourceChangeDescription : AZ::u8
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <ScriptCanvas/Core/Datum.h>
|
||||
#include <ScriptCanvas/Data/DataRegistry.h>
|
||||
#include <ScriptCanvas/Libraries/Libraries.h>
|
||||
#include <ScriptCanvas/PerformanceStatisticsBus.h>
|
||||
#include <ScriptCanvas/Variable/VariableCore.h>
|
||||
#include <ScriptCanvas/View/EditCtrls/GenericLineEditCtrl.h>
|
||||
|
||||
@@ -338,10 +339,20 @@ namespace ScriptCanvasEditor
|
||||
}
|
||||
};
|
||||
|
||||
openers.push_back({ "O3DE_ScriptCanvasEditor", "Open In Script Canvas Editor...", QIcon(), scriptCanvasEditorCallback });
|
||||
openers.push_back({ "O3DE_ScriptCanvasEditor", "Open In Script Canvas Editor...", QIcon(ScriptCanvasAssetDescription().GetIconPathImpl()), scriptCanvasEditorCallback });
|
||||
}
|
||||
}
|
||||
|
||||
void SystemComponent::OnStartPlayInEditor()
|
||||
{
|
||||
ScriptCanvas::Execution::PerformanceStatisticsEBus::Broadcast(&ScriptCanvas::Execution::PerformanceStatisticsBus::ClearSnaphotStatistics);
|
||||
}
|
||||
|
||||
void SystemComponent::OnStopPlayInEditor()
|
||||
{
|
||||
AZ::ScriptSystemRequestBus::Broadcast(&AZ::ScriptSystemRequests::GarbageCollect);
|
||||
}
|
||||
|
||||
void SystemComponent::OnUserSettingsActivated()
|
||||
{
|
||||
PopulateEditorCreatableTypes();
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <Editor/View/Windows/Tools/UpgradeTool/Model.h>
|
||||
#include <ScriptCanvas/Bus/ScriptCanvasBus.h>
|
||||
#include <ScriptCanvas/Bus/ScriptCanvasExecutionBus.h>
|
||||
#include <AzToolsFramework/Entity/EditorEntityContextBus.h>
|
||||
|
||||
namespace ScriptCanvasEditor
|
||||
{
|
||||
@@ -36,6 +37,8 @@ namespace ScriptCanvasEditor
|
||||
, private AZ::Data::AssetBus::MultiHandler
|
||||
, private AzToolsFramework::AssetSeedManagerRequests::Bus::Handler
|
||||
, private AzToolsFramework::EditorContextMenuBus::Handler
|
||||
, private AzToolsFramework::EditorEntityContextNotificationBus::Handler
|
||||
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(SystemComponent, "{1DE7A120-4371-4009-82B5-8140CB1D7B31}");
|
||||
@@ -97,7 +100,12 @@ namespace ScriptCanvasEditor
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
protected:
|
||||
void OnStartPlayInEditor() override;
|
||||
|
||||
void OnStopPlayInEditor() override;
|
||||
|
||||
private:
|
||||
SystemComponent(const SystemComponent&) = delete;
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ namespace ScriptCanvas
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+5
-4
@@ -503,20 +503,21 @@ namespace ScriptCanvas
|
||||
|
||||
void InitializeInterpretedStatics(RuntimeData& runtimeData)
|
||||
{
|
||||
if (!runtimeData.m_areStaticsInitialized)
|
||||
AZ_Error("ScriptCanvas", !runtimeData.m_areStaticsInitialized, "ScriptCanvas runtime data already initalized");
|
||||
{
|
||||
runtimeData.m_areStaticsInitialized = true;
|
||||
|
||||
for (auto& dependency : runtimeData.m_requiredAssets)
|
||||
{
|
||||
InitializeInterpretedStatics(dependency.Get()->GetData());
|
||||
if (!dependency.Get()->GetData().m_areStaticsInitialized)
|
||||
{
|
||||
InitializeInterpretedStatics(dependency.Get()->GetData());
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(AZ_PROFILE_BUILD) || defined(AZ_DEBUG_BUILD)
|
||||
Execution::InitializeFromLuaStackFunctions(const_cast<Grammar::DebugSymbolMap&>(runtimeData.m_debugMap));
|
||||
#endif
|
||||
AZ_WarningOnce("ScriptCanvas", !runtimeData.m_areStaticsInitialized, "ScriptCanvas runtime data already initalized");
|
||||
|
||||
if (runtimeData.RequiresStaticInitialization())
|
||||
{
|
||||
AZ::ScriptLoadResult result{};
|
||||
|
||||
+4
-1
@@ -49,7 +49,10 @@ namespace ScriptCanvas
|
||||
, config.asset.GetId().ToString<AZStd::string>().data());
|
||||
#endif
|
||||
|
||||
Execution::InitializeInterpretedStatics(runtimeAsset->GetData());
|
||||
if (!runtimeAsset->GetData().m_areStaticsInitialized)
|
||||
{
|
||||
Execution::InitializeInterpretedStatics(runtimeAsset->GetData());
|
||||
}
|
||||
}
|
||||
|
||||
void ExecutionStateInterpreted::ClearLuaRegistryIndex()
|
||||
|
||||
Reference in New Issue
Block a user