SL-18101 MoaP Reset button should reset the Current URL

meow-7.2.2
Andrey Kleshchev 2022-11-25 23:58:27 +02:00
parent d01f7afff2
commit e01486715a
2 changed files with 29 additions and 7 deletions

View File

@ -39,6 +39,7 @@
#include "llagent.h"
#include "llviewerwindow.h"
#include "llviewermedia.h"
#include "llvovolume.h"
#include "llsdutil.h"
#include "llselectmgr.h"
#include "llbutton.h"
@ -452,9 +453,16 @@ bool LLPanelMediaSettingsGeneral::navigateHomeSelectedFace(bool only_if_current_
{
viewer_media_t media_impl =
LLViewerMedia::getInstance()->getMediaImplFromTextureID(object->getTE(face)->getMediaData()->getMediaID());
if(media_impl)
{
media_impl->navigateHome();
if (media_impl)
{
media_impl->navigateHome();
if (!only_if_current_is_empty)
{
LLSD media_data;
media_data[LLMediaEntry::CURRENT_URL_KEY] = std::string();
object->getTE(face)->mergeIntoMediaData(media_data);
}
return true;
}
}
@ -470,6 +478,23 @@ bool LLPanelMediaSettingsGeneral::navigateHomeSelectedFace(bool only_if_current_
LLObjectSelectionHandle selected_objects =LLSelectMgr::getInstance()->getSelection();
selected_objects->getSelectedTEValue( &functor_navigate_media, all_face_media_navigated );
if (all_face_media_navigated)
{
struct functor_sync_to_server : public LLSelectedObjectFunctor
{
virtual bool apply(LLViewerObject* object)
{
LLVOVolume *volume = dynamic_cast<LLVOVolume*>(object);
if (volume)
{
volume->sendMediaDataUpdate();
}
return true;
}
} sendfunc;
selected_objects->applyToObjects(&sendfunc);
}
// Note: we don't update the 'current URL' field until the media data itself changes
return all_face_media_navigated;

View File

@ -92,10 +92,7 @@
label="Reset"
left_delta="233"
name="current_url_reset_btn"
width="110" >
<button.commit_callback
function="Media.ResetCurrentUrl"/>
</button>
width="110"/>
<check_box
bottom_delta="-25"
enabled="true"