diff options
Diffstat (limited to 'indra/llplugin')
| -rw-r--r-- | indra/llplugin/llpluginclassmedia.cpp | 15 | ||||
| -rw-r--r-- | indra/llplugin/llpluginclassmedia.h | 4 | ||||
| -rw-r--r-- | indra/llplugin/llpluginprocessparent.h | 1 | ||||
| -rw-r--r-- | indra/llplugin/slplugin/CMakeLists.txt | 9 |
4 files changed, 26 insertions, 3 deletions
diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 53a338b3d6..6ab378f30f 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -168,6 +168,7 @@ void LLPluginClassMedia::reset() void LLPluginClassMedia::idle(void) { + LL_PROFILE_ZONE_SCOPED_CATEGORY_MEDIA; if(mPlugin) { mPlugin->idle(); @@ -1015,7 +1016,7 @@ void LLPluginClassMedia::enableMediaPluginDebugging( bool enable ) sendMessage( message ); } -#if LL_LINUX +#if LL_LINUX || __FreeBSD__ void LLPluginClassMedia::enablePipeWireVolumeCatcher( bool enable ) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "enable_pipewire_volume_catcher"); @@ -1658,3 +1659,15 @@ void LLPluginClassMedia::initializeUrlHistory(const LLSD& url_history) LL_DEBUGS("Plugin") << "Sending history" << LL_ENDL; } + +void LLPluginClassMedia::forceRenderRefresh() +{ + // Force layout recalculation by briefly hiding/showing the web content + // Used to clear black screen issues after resize, see #5607 + const std::string refresh_script = + "document.documentElement.style.visibility='hidden';" + "document.documentElement.offsetHeight;" + "document.documentElement.style.visibility='';"; + + executeJavaScript(refresh_script); +} diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index 6c512003cc..944108aa10 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -134,7 +134,7 @@ public: // Text may be unicode (utf8 encoded) bool textInput(const std::string &text, MASK modifiers, LLSD native_key_data); -#if LL_LINUX +#if LL_LINUX || __FreeBSD__ void enablePipeWireVolumeCatcher( bool enable ); #endif @@ -356,6 +356,8 @@ public: std::shared_ptr<LLPluginClassMedia> getSharedPtr() { return std::dynamic_pointer_cast<LLPluginClassMedia>(shared_from_this()); } // due to enable_shared_from_this + void forceRenderRefresh(); + protected: LLPluginClassMediaOwner *mOwner; diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h index 334f1411af..ea604ca8d7 100644 --- a/indra/llplugin/llpluginprocessparent.h +++ b/indra/llplugin/llpluginprocessparent.h @@ -30,7 +30,6 @@ #define LL_LLPLUGINPROCESSPARENT_H #include <queue> -#include <boost/enable_shared_from_this.hpp> #include "llapr.h" #include "llprocess.h" diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 38f4c92b09..80356b6b51 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -61,6 +61,13 @@ elseif (DARWIN) ) endif () +if (CMAKE_BUILD_TYPE MATCHES Release AND (CMAKE_CXX_COMPILER_ID STREQUAL Clang OR CMAKE_CXX_COMPILER_ID MATCHES GNU)) + add_custom_command( + TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_STRIP} ${PROJECT_NAME} + ) +endif () + if (BUILD_SHARED_LIBS) set_target_properties(SLPlugin PROPERTIES LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Wl,--allow-shlib-undefined") @@ -69,6 +76,8 @@ endif () if (INSTALL) if (DARWIN OR WINDOWS) install(TARGETS ${PROJECT_NAME} DESTINATION .) + elseif (${LINUX_DISTRO} MATCHES freedesktop) + install(TARGETS ${PROJECT_NAME} DESTINATION libexec) elseif (${LINUX_DISTRO} MATCHES arch) install(TARGETS ${PROJECT_NAME} DESTINATION lib/${VIEWER_BINARY_NAME}) else () |
