summaryrefslogtreecommitdiff
path: root/indra/llwindow
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-07-01 13:31:14 +0800
committerErik Kundiman <erik@megapahit.org>2024-07-01 13:31:14 +0800
commit29d68ecb229ecb19e6d0da4cf5fbd8e3bbdde2cf (patch)
treee60f85379679aa2b07c8a17a1fcd4954572149c2 /indra/llwindow
parenta38b53cc5f456593e8ca21c5d5e20542c1723525 (diff)
parent1478ec8e9c50eba8b3a64fb9c2fc54a3a328510b (diff)
Merge branch 'main' into maint-b
Diffstat (limited to 'indra/llwindow')
-rw-r--r--indra/llwindow/CMakeLists.txt12
-rw-r--r--indra/llwindow/llwindow.cpp30
2 files changed, 19 insertions, 23 deletions
diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt
index 3f5fd2f9ce..6b70d66d7a 100644
--- a/indra/llwindow/CMakeLists.txt
+++ b/indra/llwindow/CMakeLists.txt
@@ -63,7 +63,7 @@ include_directories(${CMAKE_SOURCE_DIR}/llrender)
# Libraries on which this library depends, needed for Linux builds
# Sort by high-level to low-level
-if (USESYSTEMLIBS)
+if (USESYSTEMLIBS AND NOT DARWIN)
list(APPEND viewer_SOURCE_FILES
llkeyboardsdl.cpp
llwindowsdl.cpp
@@ -85,9 +85,9 @@ if (USESYSTEMLIBS)
fontconfig # For FCInit and other FC* functions.
)
endif (BUILD_HEADLESS)
-endif (USESYSTEMLIBS)
+endif (USESYSTEMLIBS AND NOT DARWIN)
-if (DARWIN AND (NOT USESYSTEMLIBS))
+if (DARWIN)
list(APPEND llwindow_SOURCE_FILES
llkeyboardmacosx.cpp
llwindowmacosx.cpp
@@ -109,7 +109,7 @@ if (DARWIN AND (NOT USESYSTEMLIBS))
PROPERTIES
COMPILE_FLAGS "-Wno-deprecated-declarations -fpascal-strings"
)
-endif (DARWIN AND (NOT USESYSTEMLIBS))
+endif (DARWIN)
if (WINDOWS)
@@ -181,10 +181,10 @@ endif (SDL_FOUND)
target_link_libraries (llwindow ${llwindow_LINK_LIBRARIES})
target_include_directories(llwindow INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
-if (DARWIN AND (NOT USESYSTEMLIBS))
+if (DARWIN)
include(CMakeFindFrameworks)
find_library(CARBON_LIBRARY Carbon)
target_link_libraries(llwindow ${CARBON_LIBRARY})
-endif (DARWIN AND (NOT USESYSTEMLIBS))
+endif (DARWIN)
include(LibraryInstall)
diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp
index b51b4fad82..6556bc09c6 100644
--- a/indra/llwindow/llwindow.cpp
+++ b/indra/llwindow/llwindow.cpp
@@ -33,10 +33,8 @@
#include "llwindowsdl.h"
#elif LL_WINDOWS
#include "llwindowwin32.h"
-/*
#elif LL_DARWIN
#include "llwindowmacosx.h"
-*/
#endif
#include "llerror.h"
@@ -76,12 +74,12 @@ S32 OSMessageBox(const std::string& text, const std::string& caption, U32 type)
#if LL_MESA_HEADLESS // !!! *FIX: (?)
LL_WARNS() << "OSMessageBox: " << text << LL_ENDL;
return OSBTN_OK;
-#elif LL_SDL
- result = OSMessageBoxSDL(text, caption, type);
#elif LL_WINDOWS
result = OSMessageBoxWin32(text, caption, type);
-#elif LL_DARWIN
+#elif LL_DARWIN && !LL_SDL
result = OSMessageBoxMacOSX(text, caption, type);
+#elif LL_SDL
+ result = OSMessageBoxSDL(text, caption, type);
#else
#error("OSMessageBox not implemented for this platform!")
#endif
@@ -261,12 +259,12 @@ BOOL LLWindow::copyTextToPrimary(const LLWString &src)
// static
std::vector<std::string> LLWindow::getDynamicFallbackFontList()
{
-#if LL_SDL
- return LLWindowSDL::getDynamicFallbackFontList();
-#elif LL_WINDOWS
+#if LL_WINDOWS
return LLWindowWin32::getDynamicFallbackFontList();
-#elif LL_DARWIN
+#elif LL_DARWIN && !LL_SDL
return LLWindowMacOSX::getDynamicFallbackFontList();
+#elif LL_SDL
+ return LLWindowSDL::getDynamicFallbackFontList();
#else
return std::vector<std::string>();
#endif
@@ -275,12 +273,12 @@ std::vector<std::string> LLWindow::getDynamicFallbackFontList()
// static
std::vector<std::string> LLWindow::getDisplaysResolutionList()
{
-#ifdef LL_SDL
- return std::vector<std::string>();
-#elif LL_WINDOWS
+#if LL_WINDOWS
return LLWindowWin32::getDisplaysResolutionList();
-#elif LL_DARWIN
+#elif LL_DARWIN && !LL_SDL
return LLWindowMacOSX::getDisplaysResolutionList();
+#else
+ return std::vector<std::string>();
#endif
}
@@ -348,7 +346,7 @@ LLSplashScreen *LLSplashScreen::create()
return 0;
#elif LL_WINDOWS
return new LLSplashScreenWin32;
-#elif LL_DARWIN
+#elif LL_DARWIN && !LL_SDL
return new LLSplashScreenMacOSX;
#else
#error("LLSplashScreen not implemented on this platform!")
@@ -361,13 +359,11 @@ void LLSplashScreen::show()
{
if (!gSplashScreenp)
{
-#if !LL_SDL
#if LL_WINDOWS && !LL_MESA_HEADLESS
gSplashScreenp = new LLSplashScreenWin32;
-#elif LL_DARWIN
+#elif LL_DARWIN && !LL_SDL
gSplashScreenp = new LLSplashScreenMacOSX;
#endif
-#endif // !LL_SDL
if (gSplashScreenp)
{
gSplashScreenp->showImpl();