From 683e7dc9c387297aed6b670fff1915af880562ae Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Thu, 28 Jan 2010 12:47:45 -0800 Subject: FIX EXT-4630 EXT-4670: Show inspector tooltip over media, don't show it if media is playing Review #91 This is a different take from my prior implementation. This has two changes to the "rules" for showing the inspector tooltip: 1. Do not show the inspector tooltip if hovering over a face that has media displaying 2. If you hover over a face with media *data* on it, show the inspector tooltip, subject to rule #1 (i.e. only if media is not displaying) --- indra/newview/lltoolpie.cpp | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 39e71974fd..bf1e307d71 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -910,16 +910,19 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l tooltip_msg.append( nodep->mName ); } + bool has_media = false; bool is_time_based_media = false; bool is_web_based_media = false; bool is_media_playing = false; + bool is_media_displaying = false; // Does this face have media? const LLTextureEntry* tep = hover_object->getTE(mHoverPick.mObjectFace); if(tep) { - const LLMediaEntry* mep = tep->hasMedia() ? tep->getMediaData() : NULL; + has_media = tep->hasMedia(); + const LLMediaEntry* mep = has_media ? tep->getMediaData() : NULL; if (mep) { viewer_media_t media_impl = LLViewerMedia::getMediaImplFromTextureID(mep->getMediaID()); @@ -927,33 +930,38 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l if (media_impl.notNull() && (media_impl->hasMedia())) { + is_media_displaying = true; LLStringUtil::format_map_t args; media_plugin = media_impl->getMediaPlugin(); if(media_plugin) - { if(media_plugin->pluginSupportsMediaTime()) - { - is_time_based_media = true; - is_web_based_media = false; - //args["[CurrentURL]"] = media_impl->getMediaURL(); - is_media_playing = media_impl->isMediaPlaying(); - } - else - { - is_time_based_media = false; - is_web_based_media = true; - //args["[CurrentURL]"] = media_plugin->getLocation(); - } + { + if(media_plugin->pluginSupportsMediaTime()) + { + is_time_based_media = true; + is_web_based_media = false; + //args["[CurrentURL]"] = media_impl->getMediaURL(); + is_media_playing = media_impl->isMediaPlaying(); + } + else + { + is_time_based_media = false; + is_web_based_media = true; + //args["[CurrentURL]"] = media_plugin->getLocation(); + } //tooltip_msg.append(LLTrans::getString("CurrentURL", args)); } } } } + // Avoid showing tip over media that's displaying // also check the primary node since sometimes it can have an action even though // the root node doesn't - bool needs_tip = needs_tooltip(nodep) || - needs_tooltip(LLSelectMgr::getInstance()->getPrimaryHoverNode()); + bool needs_tip = !is_media_displaying && + (has_media || + needs_tooltip(nodep) || + needs_tooltip(LLSelectMgr::getInstance()->getPrimaryHoverNode())); if (show_all_object_tips || needs_tip) { -- cgit v1.3 From d477b83325822989e0c4ad70fbee3797937215b7 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 29 Jan 2010 14:43:46 -0800 Subject: CID-328 Checker: UNINIT_CTOR Function: LLAgent::LLAgent() File: /indra/newview/tests/llviewerhelputil_test.cpp --- indra/newview/tests/llviewerhelputil_test.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/tests/llviewerhelputil_test.cpp b/indra/newview/tests/llviewerhelputil_test.cpp index 297d98ad8d..dd61ac6ae5 100644 --- a/indra/newview/tests/llviewerhelputil_test.cpp +++ b/indra/newview/tests/llviewerhelputil_test.cpp @@ -87,8 +87,6 @@ public: __attribute__ ((noinline)) #endif BOOL isGodlike() const { return FALSE; } -private: - int dummy; }; LLAgent gAgent; -- cgit v1.3 From fd5af776d91cb102c49dcdfef24935bf8280349c Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 29 Jan 2010 15:00:29 -0800 Subject: CID-319 Checker: UNINIT_CTOR Function: LLViewerLogin::LLViewerLogin() File: /indra/newview/tests/lllogininstance_test.cpp --- indra/newview/tests/lllogininstance_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/tests/lllogininstance_test.cpp b/indra/newview/tests/lllogininstance_test.cpp index 7b28a3b72c..f7ac5361c5 100644 --- a/indra/newview/tests/lllogininstance_test.cpp +++ b/indra/newview/tests/lllogininstance_test.cpp @@ -56,9 +56,9 @@ void LLLogin::disconnect() //----------------------------------------------------------------------------- #include "../llviewernetwork.h" -unsigned char gMACAddress[MAC_ADDRESS_BYTES] = {'1','2','3','4','5','6'}; /* Flawfinder: ignore */ +unsigned char gMACAddress[MAC_ADDRESS_BYTES] = {'1','2','3','4','5','6'}; -LLViewerLogin::LLViewerLogin() {} +LLViewerLogin::LLViewerLogin() : mGridChoice(GRID_INFO_NONE) {} LLViewerLogin::~LLViewerLogin() {} void LLViewerLogin::getLoginURIs(std::vector& uris) const { -- cgit v1.3