* EnvironmentVariableHolder: reduce the size of template instantiation.
Move almost all destruction logic to EnvironmentVariableHolderBase::UnregisterAndDestroy.
Specialized templates have DestructDispatchNoLock instead that can either destroy the held value,
or the holder itself.
UnregisterAndDestroy has been moved to the cpp file.
All of these changes reduce the profile build time and size on linux
Here, the size of bin/profile goes down by ~200MB.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Requested changes/fixups.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Use scoped_lock to simplify mutex management.
Updated comments.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Hopefully a fix for env variables released at a wrong time
Conditional was using incorrect variable
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Comment fixup
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Missing negation in conditional
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Cleanup the internal logic in UnregisterAndDestroy
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Fixed the enable-gem command unit test
The enable-gem unit test would fail if there wasn't an
o3de_manifest.json file in the users $HOME/.o3de directory
The change now is to patch the call to load the o3de manifest
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adjustments to the enable-gem command unit test to pass on Linux
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Inner scope numEnvironmentVars was shadowing the outer scope, and prevented env variable memory from being freed.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
In case an asset platform setting is missing it was supposed to be set to a 'pc' value.
Instead it was set to an empty string.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
Enable files in use dialog in bootstrap installer to close running o3de tools during uninstall or repair
Fixed installer toolset path propagation after variable name change
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
fixes#2650
The root of the crash was connecting/disconnecting to the AZ::Event SceneSimulationStart when not on the main thread, as that is not thread safe.
The connection/disconnection was originally handled from Enable/EnableQueued and Disable/DisabledQueued which can be called from other threads within EmotionFX. I've moved the connection/disconnection to the Constructor / destructor, as the handler is responsible for executing the queued enable/disable actions and it makes sense to have that connection happen external to the Enable/disable path.
Signed-off-by: amzn-sean 75276488+amzn-sean@users.noreply.github.com
* Clear prefab templates on new level creations and loads
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
* Fixed failing prefab unit tests after change to clear templates
Signed-off-by: srikappa-amzn <srikappa@amazon.com>
Also, SaveLevel was not using destName when constructing newFilePath
Other code changes:
* LogLoadTime is simplified by using QFile
* reduce nesting in DoSaveDocument by using early return.
* marked a few eligible methods as const
* Simplified OnEnvironmentPropertyChanged a bit
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* The enable_gems command now registers the gem with the project if only registered with o3de_manifest.json
Updated the `enable_gems` command to register the gem with the project if the gem is not registered with either the project or the engine being used.
This allows the gem to be added to the build system if it wasn't registered before.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding quoting around the invocation of the OpenProjectManager command
The --project-path parameter now is able to pass in a path with spaces
to the invocation of the Project Manager.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
from 'project root' to 'project root/Assets/Physics'
The functionality of creating / using the default physmaterial file has only change in related to the file location, other functionality is unchanged.
The following situations can occur:
This will not affect have any project that uses a custom physmaterial file.
This will not affect have any project that uses the default from the old location, as the configuration will still point there.
New projects created will get the default physmaterial file at the new location.
A Project that fails to load (or deletes) the selected physmaterial file, will get the default physmaterial file at the new location (this happens only on startup of the editor).
Issue: #2765
Signed-off-by: amzn-sean 75276488+amzn-sean@users.noreply.github.com