You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a level is deleted from memory (e.g. when the level ends or the app is shut down), level.reset() is called. This first sets the pointer "level" is pointing to to null, then deletes the world. However, we sometimes have to call DisposeObject during world deletion, which in turn refers to "level"; which has just been set to null. To avoid segfaults, we provide level with a new world instead. This method might have unexpected side effects: E.g. when unnaming an object during its deletion, it will search its name in the new world's catalogue instead of the old world's.
As of 2022, there are no known symptoms. Cleaning the code involves reworking all destructors. So we defer the repairs.
The text was updated successfully, but these errors were encountered:
When a level is deleted from memory (e.g. when the level ends or the app is shut down), level.reset() is called. This first sets the pointer "level" is pointing to to null, then deletes the world. However, we sometimes have to call DisposeObject during world deletion, which in turn refers to "level"; which has just been set to null. To avoid segfaults, we provide level with a new world instead. This method might have unexpected side effects: E.g. when unnaming an object during its deletion, it will search its name in the new world's catalogue instead of the old world's.
As of 2022, there are no known symptoms. Cleaning the code involves reworking all destructors. So we defer the repairs.
The text was updated successfully, but these errors were encountered: