diff --git a/Source/Engine/Platform/Base/PlatformBase.h b/Source/Engine/Platform/Base/PlatformBase.h
index e7cc6e8e3..ae8f6537e 100644
--- a/Source/Engine/Platform/Base/PlatformBase.h
+++ b/Source/Engine/Platform/Base/PlatformBase.h
@@ -372,7 +372,7 @@ public:
///
/// Returns the display server name on Linux.
///
- API_PROPERTY() static String GetDisplayServer() = delete;
+ API_PROPERTY() static String GetDisplayServer();
///
/// Returns true if is running 64 bit application (otherwise 32 bit). It's compile-time constant.
diff --git a/Source/Engine/Platform/Linux/LinuxScreenUtilities.cpp b/Source/Engine/Platform/Linux/LinuxScreenUtilities.cpp
index f6339e72e..0295a82c7 100644
--- a/Source/Engine/Platform/Linux/LinuxScreenUtilities.cpp
+++ b/Source/Engine/Platform/Linux/LinuxScreenUtilities.cpp
@@ -12,11 +12,14 @@
#include "Engine/Platform/Linux/LinuxPlatform.h"
#include "Engine/Platform/Linux/IncludeX11.h"
+#if PLATFORM_SDL
#include
#include
+#endif
Delegate ScreenUtilitiesBase::PickColorDone;
+#if PLATFORM_SDL
namespace PortalImpl
{
XdpPortal* Portal = nullptr;
@@ -25,6 +28,7 @@ namespace PortalImpl
gpointer GLibMainLoop(gpointer data);
void PickColorCallback(GObject* source, GAsyncResult* result, gpointer data);
}
+#endif
Color32 LinuxScreenUtilities::GetColorAt(const Float2& pos)
{
@@ -93,7 +97,7 @@ void LinuxScreenUtilities::PickColor()
LinuxPlatform::xEventReceived.Bind(OnScreenUtilsXEventCallback);
return;
}
-
+#if PLATFORM_SDL
if (PortalImpl::MainLoopReady == 0)
{
// Initialize portal
@@ -117,8 +121,10 @@ void LinuxScreenUtilities::PickColor()
// Enter color picking mode, the callback receives the final color
xdp_portal_pick_color(PortalImpl::Portal, nullptr, nullptr, PortalImpl::PickColorCallback, nullptr);
}
+#endif
}
+#if PLATFORM_SDL
gpointer PortalImpl::GLibMainLoop(gpointer data)
{
GMainContext* mainContext = g_main_context_get_thread_default();
@@ -154,5 +160,6 @@ void PortalImpl::PickColorCallback(GObject* source, GAsyncResult* result, gpoint
ScreenUtilities::PickColorDone(color);
}
+#endif
#endif
diff --git a/Source/Engine/Platform/Linux/LinuxWindow.h b/Source/Engine/Platform/Linux/LinuxWindow.h
index 680b38e42..67a40859d 100644
--- a/Source/Engine/Platform/Linux/LinuxWindow.h
+++ b/Source/Engine/Platform/Linux/LinuxWindow.h
@@ -89,6 +89,7 @@ public:
void Focus() override;
void SetTitle(const StringView& title) override;
DragDropEffect DoDragDrop(const StringView& data) override;
+ using WindowBase::DoDragDrop;
void StartTrackingMouse(bool useMouseScreenOffset) override;
void EndTrackingMouse() override;
void SetCursor(CursorType type) override;
diff --git a/Source/Engine/Platform/Mac/MacWindow.h b/Source/Engine/Platform/Mac/MacWindow.h
index 8d9c5e4fd..f4a8cb706 100644
--- a/Source/Engine/Platform/Mac/MacWindow.h
+++ b/Source/Engine/Platform/Mac/MacWindow.h
@@ -55,6 +55,7 @@ public:
void Focus() override;
void SetTitle(const StringView& title) override;
DragDropEffect DoDragDrop(const StringView& data) override;
+ using WindowBase::DoDragDrop;
void StartTrackingMouse(bool useMouseScreenOffset) override;
void EndTrackingMouse() override;
void SetCursor(CursorType type) override;
diff --git a/Source/Engine/Platform/UWP/UWPWindow.h b/Source/Engine/Platform/UWP/UWPWindow.h
index 3da2a906e..b5a1f9c53 100644
--- a/Source/Engine/Platform/UWP/UWPWindow.h
+++ b/Source/Engine/Platform/UWP/UWPWindow.h
@@ -183,6 +183,7 @@ public:
void Focus() override;
void SetTitle(const StringView& title) override;
DragDropEffect DoDragDrop(const StringView& data) override;
+ using WindowBase::DoDragDrop;
void StartTrackingMouse(bool useMouseScreenOffset) override;
void EndTrackingMouse() override;
void SetCursor(CursorType type) override;
diff --git a/Source/Engine/Platform/Windows/WindowsWindow.h b/Source/Engine/Platform/Windows/WindowsWindow.h
index a8e7605b4..e0558cb6f 100644
--- a/Source/Engine/Platform/Windows/WindowsWindow.h
+++ b/Source/Engine/Platform/Windows/WindowsWindow.h
@@ -123,6 +123,7 @@ public:
void Focus() override;
void SetTitle(const StringView& title) override;
DragDropEffect DoDragDrop(const StringView& data) override;
+ using WindowBase::DoDragDrop;
void StartTrackingMouse(bool useMouseScreenOffset) override;
void EndTrackingMouse() override;
void StartClippingCursor(const Rectangle& bounds) override;