diff options
| author | Brad Linden <brad@lindenlab.com> | 2023-03-29 14:54:06 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2023-03-29 14:54:06 -0700 | 
| commit | a548c169899734b7d6af1a1870dab1ad1eb74e3c (patch) | |
| tree | a347ee3cd54b7bcb317061af9af2abb2a6dad243 /indra/llui | |
| parent | b130831106d058f0be5414a9a3bcaa99636c7bc0 (diff) | |
| parent | c7053a6928fd5eafdc935453742e92951ae4e0c1 (diff) | |
Merge remote-tracking branch 'origin/main' into DRTVWR-559
Diffstat (limited to 'indra/llui')
| -rw-r--r-- | indra/llui/CMakeLists.txt | 68 | ||||
| -rw-r--r-- | indra/llui/lldockablefloater.h | 3 | ||||
| -rw-r--r-- | indra/llui/llfloater.cpp | 8 | ||||
| -rw-r--r-- | indra/llui/llurlentry.cpp | 1 | ||||
| -rw-r--r-- | indra/llui/llurlregistry.cpp | 2 | 
5 files changed, 27 insertions, 55 deletions
| diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index e0579352d3..9108c6143c 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -6,33 +6,9 @@ include(00-Common)  include(Hunspell)  include(LLCommon)  include(LLImage) -include(LLInventory) -include(LLMath) -include(LLMessage)  include(LLCoreHttp) -include(LLRender)  include(LLWindow)  include(LLCoreHttp) -include(LLFileSystem) -include(LLXML) - -include_directories( -    ${LLCOMMON_INCLUDE_DIRS} -    ${LLCOREHTTP_INCLUDE_DIRS} -    ${LLIMAGE_INCLUDE_DIRS} -    ${LLINVENTORY_INCLUDE_DIRS} -    ${LLMATH_INCLUDE_DIRS} -    ${LLMESSAGE_INCLUDE_DIRS} -    ${LLRENDER_INCLUDE_DIRS} -    ${LLWINDOW_INCLUDE_DIRS} -    ${LLFILESYSTEM_INCLUDE_DIRS} -    ${LLXML_INCLUDE_DIRS} -    ${LIBS_PREBUILD_DIR}/include/hunspell -    ) -include_directories(SYSTEM -    ${LLCOMMON_SYSTEM_INCLUDE_DIRS} -    ${LLXML_SYSTEM_INCLUDE_DIRS} -    )  set(llui_SOURCE_FILES      llaccordionctrl.cpp @@ -260,9 +236,6 @@ set(llui_HEADER_FILES      llxyvector.h      ) -set_source_files_properties(${llui_HEADER_FILES} -                            PROPERTIES HEADER_FILE_ONLY TRUE) -  SET(llurlentry_TEST_DEPENDENCIES      llurlmatch.cpp      llurlregistry.cpp @@ -276,42 +249,37 @@ set_source_files_properties(llurlentry.cpp  list(APPEND llui_SOURCE_FILES ${llui_HEADER_FILES})  add_library (llui ${llui_SOURCE_FILES}) +target_include_directories( llui  INTERFACE   ${CMAKE_CURRENT_SOURCE_DIR})  # Libraries on which this library depends, needed for Linux builds  # Sort by high-level to low-level  target_link_libraries(llui -    ${LLRENDER_LIBRARIES} -    ${LLWINDOW_LIBRARIES} -    ${LLIMAGE_LIBRARIES} -    ${LLINVENTORY_LIBRARIES} -    ${LLMESSAGE_LIBRARIES} -    ${LLCOREHTTP_LIBRARIES} -    ${LLFILESYSTEM_LIBRARIES} -    ${LLXUIXML_LIBRARIES} -    ${LLXML_LIBRARIES} -    ${LLMATH_LIBRARIES} -    ${HUNSPELL_LIBRARY} -    ${LLMESSAGE_LIBRARIES} -    ${LLCOMMON_LIBRARIES} # must be after llimage, llwindow, llrender +        llrender +        llwindow +        llimage +        llinventory +        llmessage +        llcorehttp +        llfilesystem +        llxml +        llmath +        ll::hunspell +        llcommon      )  # Add tests  if(LL_TESTS)    include(LLAddBuildTest) +  set(test_libs llmessage llcorehttp llxml llrender llcommon ll::hunspell) +    SET(llui_TEST_SOURCE_FILES        llurlmatch.cpp        ) +  set_property( SOURCE ${llui_TEST_SOURCE_FILES} PROPERTY LL_TEST_ADDITIONAL_LIBRARIES ${test_libs})    LL_ADD_PROJECT_UNIT_TESTS(llui "${llui_TEST_SOURCE_FILES}")    # INTEGRATION TESTS -  set(test_libs llui llmessage llcorehttp llcommon -      ${HUNSPELL_LIBRARY} -      ${LLCOMMON_LIBRARIES} -      ${BOOST_FIBER_LIBRARY} ${BOOST_CONTEXT_LIBRARY} ${BOOST_SYSTEM_LIBRARY} -      ${WINDOWS_LIBRARIES}) +    if(NOT LINUX) -    if(WINDOWS) -      LL_ADD_INTEGRATION_TEST(llurlentry llurlentry.cpp "imm32;${test_libs}") -    else(WINDOWS) -      LL_ADD_INTEGRATION_TEST(llurlentry llurlentry.cpp "${test_libs}") -    endif(WINDOWS) +    set(test_libs llui llmessage llcorehttp llxml llrender llcommon ll::hunspell ) +    LL_ADD_INTEGRATION_TEST(llurlentry llurlentry.cpp "${test_libs}")    endif(NOT LINUX)  endif(LL_TESTS) diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h index 89c9852f4a..5d90b3ef4e 100644 --- a/indra/llui/lldockablefloater.h +++ b/indra/llui/lldockablefloater.h @@ -30,6 +30,7 @@  #include "llerror.h"  #include "llfloater.h"  #include "lldockcontrol.h" +#include <memory>  /**   * Represents floater that can dock. @@ -131,7 +132,7 @@ protected:  	boost::function<BOOL ()> mIsDockedStateForcedCallback;  private: -	std::auto_ptr<LLDockControl> mDockControl; +	std::unique_ptr<LLDockControl> mDockControl;  	LLUIImagePtr mDockTongue;  	static LLHandle<LLFloater> sInstanceHandle;  	/** diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index d413fab270..2303cd24b7 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -759,11 +759,13 @@ void LLFloater::closeFloater(bool app_quitting)          }  		// now close dependent floater -		for(handle_set_iter_t dependent_it = mDependents.begin(); -			dependent_it != mDependents.end(); ) +		while(mDependents.size() > 0)  		{ +            handle_set_iter_t dependent_it = mDependents.begin();  			LLFloater* floaterp = dependent_it->get(); -            dependent_it = mDependents.erase(dependent_it); +            // normally removeDependentFloater will do this, but in +            // case floaterp is somehow invalid or orphaned, erase now +            mDependents.erase(dependent_it);              if (floaterp)              {                  floaterp->mDependeeHandle = LLHandle<LLFloater>(); diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp index 1547a4ba5c..6a9070634c 100644 --- a/indra/llui/llurlentry.cpp +++ b/indra/llui/llurlentry.cpp @@ -206,6 +206,7 @@ bool LLUrlEntryBase::isWikiLinkCorrect(const std::string &labeled_url) const      {          return (chr == L'\u02D0') // "Modifier Letter Colon"              || (chr == L'\uFF1A') // "Fullwidth Colon" +            || (chr == L'\u2236') // "Ratio"              || (chr == L'\uFE55'); // "Small Colon"      },          L'\u003A'); // Colon diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp index c9d7013a11..23f3dca3fb 100644 --- a/indra/llui/llurlregistry.cpp +++ b/indra/llui/llurlregistry.cpp @@ -169,7 +169,7 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL  	for (it = mUrlEntry.begin(); it != mUrlEntry.end(); ++it)  	{  		//Skip for url entry icon if content is not trusted -		if(!is_content_trusted && (mUrlEntryIcon == *it)) +		if((mUrlEntryIcon == *it) && ((text.find("Hand") != std::string::npos) || !is_content_trusted))  		{  			continue;  		} | 
