diff options
author | Kitty Barnett <develop@catznip.com> | 2024-09-17 23:44:22 +0200 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-05-11 16:29:15 +0800 |
commit | cde79c60f1def5282eac6b6d83470b71a67b9268 (patch) | |
tree | 54e82ad811f27d16605349c81a3f821872b7efd5 | |
parent | 6559d023293aed529e338a31827cb2c78434e474 (diff) |
Mac build fixes: Reapply the template fix in rlvhelper.h + point to LLFloaterReg in the global namespace
-rw-r--r-- | indra/newview/rlvfloaters.h | 3 | ||||
-rw-r--r-- | indra/newview/rlvhelper.h | 18 |
2 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/rlvfloaters.h b/indra/newview/rlvfloaters.h index 1d560f32d4..8acfa43f28 100644 --- a/indra/newview/rlvfloaters.h +++ b/indra/newview/rlvfloaters.h @@ -32,6 +32,7 @@ #include "rlvdefines.h" class LLChatEntry; +class LLFloaterReg; class LLLayoutPanel; class LLTextEditor; class RlvCommand; @@ -45,7 +46,7 @@ namespace Rlv class FloaterConsole : public LLFloater { - friend class LLFloaterReg; + friend class ::LLFloaterReg; FloaterConsole(const LLSD& sdKey) : LLFloater(sdKey) {} public: diff --git a/indra/newview/rlvhelper.h b/indra/newview/rlvhelper.h index 7f0435f791..f241332594 100644 --- a/indra/newview/rlvhelper.h +++ b/indra/newview/rlvhelper.h @@ -152,14 +152,20 @@ namespace Rlv // // CommandHandler - The actual command handler (Note that a handler is more general than a processor; a handler can - for instance - be used by multiple processors) // + #if LL_WINDOWS + #define RLV_TEMPL_FIX(x) template<x> + #else + #define RLV_TEMPL_FIX(x) template<typename Placeholder = int> + #endif // LL_WINDOWS + template <EParamType templParamType, EBehaviour templBhvr> struct CommandHandler { - template<typename = typename std::enable_if<templParamType == EParamType::AddRem>::type> static ECmdRet onCommand(const RlvCommand&, bool&); - template<typename = typename std::enable_if<templParamType == EParamType::AddRem>::type> static void onCommandToggle(EBehaviour, bool); - template<typename = typename std::enable_if<templParamType == EParamType::Force>::type> static ECmdRet onCommand(const RlvCommand&); - template<typename = typename std::enable_if<templParamType == EParamType::Reply>::type> static ECmdRet onCommand(const RlvCommand&, std::string&); + RLV_TEMPL_FIX(typename = typename std::enable_if<templParamType == EParamType::AddRem>::type) static ECmdRet onCommand(const RlvCommand&, bool&); + RLV_TEMPL_FIX(typename = typename std::enable_if<templParamType == EParamType::AddRem>::type) static void onCommandToggle(EBehaviour, bool); + RLV_TEMPL_FIX(typename = typename std::enable_if<templParamType == EParamType::Force>::type) static ECmdRet onCommand(const RlvCommand&); + RLV_TEMPL_FIX(typename = typename std::enable_if<templParamType == EParamType::Reply>::type) static ECmdRet onCommand(const RlvCommand&, std::string&); }; // Aliases to improve readability in definitions @@ -179,11 +185,11 @@ namespace Rlv { public: // Default constructor used by behaviour specializations - template<typename = typename std::enable_if<templBhvr != EBehaviour::Unknown>::type> + RLV_TEMPL_FIX(typename = typename std::enable_if<templBhvr != EBehaviour::Unknown>::type) CommandProcessor(const std::string& strBhvr, U32 nBhvrFlags = 0) : BehaviourInfo(strBhvr, templBhvr, templParamType, nBhvrFlags) {} // Constructor used when we don't want to specialize on behaviour (see BehaviourGenericProcessor) - template<typename = typename std::enable_if<templBhvr == EBehaviour::Unknown>::type> + RLV_TEMPL_FIX(typename = typename std::enable_if<templBhvr == EBehaviour::Unknown>::type) CommandProcessor(const std::string& strBhvr, EBehaviour eBhvr, U32 nBhvrFlags = 0) : BehaviourInfo(strBhvr, eBhvr, templParamType, nBhvrFlags) {} ECmdRet processCommand(const RlvCommand& rlvCmd) const override { return baseImpl::processCommand(rlvCmd, &handlerImpl::onCommand); } |