diff --git a/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp b/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp
index b7e0f142c..daac952d1 100644
--- a/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp
+++ b/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp
@@ -23,7 +23,7 @@ void NetworkLagDriver::SetDriver(INetworkDriver* value)
return;
// Cleanup created proxy driver object
- if (auto* driver = FromInterface(_driver, INetworkDriver::TypeInitializer))
+ if (auto* driver = FromInterface(_driver))
Delete(driver);
_driver = value;
diff --git a/Source/Engine/Online/Online.cpp b/Source/Engine/Online/Online.cpp
index 2acd16110..ddd8dafca 100644
--- a/Source/Engine/Online/Online.cpp
+++ b/Source/Engine/Online/Online.cpp
@@ -42,7 +42,7 @@ bool Online::Initialize(IOnlinePlatform* platform)
{
if (Platform == platform)
return false;
- const auto object = ScriptingObject::FromInterface(platform, IOnlinePlatform::TypeInitializer);
+ const auto object = ScriptingObject::FromInterface(platform);
LOG(Info, "Changing online platform to {0}", object ? object->ToString() : (platform ? TEXT("?") : TEXT("none")));
if (Platform)
@@ -51,6 +51,8 @@ bool Online::Initialize(IOnlinePlatform* platform)
Scripting::ScriptsReloading.Unbind(OnOnlineScriptsReloading);
#endif
Platform->Deinitialize();
+ if (auto* prevObject = ScriptingObject::FromInterface(Platform))
+ Delete(prevObject);
}
Platform = platform;
if (Platform)
diff --git a/Source/Engine/Platform/Base/WindowBase.cpp b/Source/Engine/Platform/Base/WindowBase.cpp
index 2d6d2d615..8df464c9a 100644
--- a/Source/Engine/Platform/Base/WindowBase.cpp
+++ b/Source/Engine/Platform/Base/WindowBase.cpp
@@ -607,3 +607,22 @@ bool WindowBase::IsForegroundWindow() const
{
return _focused;
}
+
+StringView WindowBase::GetTitle() const
+{
+ return _title;
+}
+
+void WindowBase::SetTitle(const StringView& title)
+{
+ _title = title;
+}
+
+float WindowBase::GetOpacity() const
+{
+ return 1.0f;
+}
+
+void WindowBase::SetOpacity(float opacity)
+{
+}
diff --git a/Source/Engine/Platform/Base/WindowBase.h b/Source/Engine/Platform/Base/WindowBase.h
index 21309c9d9..23bcdb445 100644
--- a/Source/Engine/Platform/Base/WindowBase.h
+++ b/Source/Engine/Platform/Base/WindowBase.h
@@ -366,35 +366,24 @@ public:
/// Gets the window title.
///
/// The window title.
- API_PROPERTY() virtual String GetTitle() const
- {
- return _title;
- }
+ API_PROPERTY() StringView GetTitle() const;
///
/// Sets the window title.
///
/// The title.
- API_PROPERTY() virtual void SetTitle(const StringView& title)
- {
- _title = title;
- }
+ API_PROPERTY() virtual void SetTitle(const StringView& title);
///
/// Gets window opacity value (valid only for windows created with SupportsTransparency flag). Opacity values are normalized to range [0;1].
///
- API_PROPERTY() virtual float GetOpacity() const
- {
- return 1.0f;
- }
+ API_PROPERTY() virtual float GetOpacity() const;
///
/// Sets window opacity value (valid only for windows created with SupportsTransparency flag). Opacity values are normalized to range [0;1].
///
/// The opacity.
- API_PROPERTY() virtual void SetOpacity(float opacity)
- {
- }
+ API_PROPERTY() virtual void SetOpacity(float opacity);
///
/// Determines whether this window is focused.
diff --git a/Source/Engine/Renderer/RenderList.h b/Source/Engine/Renderer/RenderList.h
index 3a1389c1a..f2da4c001 100644
--- a/Source/Engine/Renderer/RenderList.h
+++ b/Source/Engine/Renderer/RenderList.h
@@ -10,7 +10,6 @@
#include "Engine/Scripting/ScriptingObject.h"
#include "DrawCall.h"
#include "RenderListBuffer.h"
-#include "RendererAllocation.h"
#include "RenderSetup.h"
enum class StaticFlags;