Merge pull request #4245 from secondlife/release/2025.04.1

Release/2025.04.01
master
Jonathan "Geenz" Goodman 2025-06-23 16:33:49 -04:00 committed by GitHub
commit a6feb3dc7f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 91 additions and 52 deletions

View File

@ -178,11 +178,11 @@ set(viewer_SOURCE_FILES
llflexibleobject.cpp
llfloater360capture.cpp
llfloaterabout.cpp
llfloateravatarwelcomepack.cpp
llfloaterbvhpreview.cpp
llfloateraddpaymentmethod.cpp
llfloaterauction.cpp
llfloaterautoreplacesettings.cpp
llfloateravatar.cpp
llfloateravatarpicker.cpp
llfloateravatarrendersettings.cpp
llfloateravatartextures.cpp
@ -849,11 +849,11 @@ set(viewer_HEADER_FILES
llflexibleobject.h
llfloater360capture.h
llfloaterabout.h
llfloateravatarwelcomepack.h
llfloaterbvhpreview.h
llfloateraddpaymentmethod.h
llfloaterauction.h
llfloaterautoreplacesettings.h
llfloateravatar.h
llfloateravatarpicker.h
llfloateravatarrendersettings.h
llfloateravatartextures.h

View File

@ -1 +1 @@
7.1.14
7.1.15

View File

@ -26,9 +26,9 @@
label_ref="Command_Avatar_Label"
tooltip_ref="Command_Avatar_Tooltip"
execute_function="Floater.ToggleOrBringToFront"
execute_parameters="avatar"
execute_parameters="avatar_welcome_pack"
is_running_function="Floater.IsOpen"
is_running_parameters="avatar"
is_running_parameters="avatar_welcome_pack"
/>
<command name="build"
available_in_toybox="true"

View File

@ -621,16 +621,16 @@
<key>Value</key>
<real>16.0</real>
</map>
<key>AvatarPickerURL</key>
<key>AvatarWelcomePack</key>
<map>
<key>Comment</key>
<string>Avatar picker contents</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html</string>
<key>Comment</key>
<string>Avatar Welcome Pack contents</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/vawp/index.html</string>
</map>
<!--AvatarBakedTextureUploadTimeout is in use by QA-->
<key>AvatarBakedTextureUploadTimeout</key>

View File

@ -1,7 +1,7 @@
/**
* @file llfloateravatar.h
* @author Leyla Farazha
* @brief floater for the avatar changer
* @file llfloateravatarwelcomepack.cpp
* @author Callum Prentice (callum@lindenlab.com)
* @brief Floater container for the Avatar Welcome Pack we app
*
* $LicenseInfo:firstyear=2011&license=viewerlgpl$
* Second Life Viewer Source Code
@ -27,17 +27,16 @@
#include "llviewerprecompiledheaders.h"
#include "llfloateravatar.h"
#include "llfloateravatarwelcomepack.h"
#include "lluictrlfactory.h"
#include "llmediactrl.h"
LLFloaterAvatar::LLFloaterAvatar(const LLSD& key)
LLFloaterAvatarWelcomePack::LLFloaterAvatarWelcomePack(const LLSD& key)
: LLFloater(key)
{
}
LLFloaterAvatar::~LLFloaterAvatar()
LLFloaterAvatarWelcomePack::~LLFloaterAvatarWelcomePack()
{
if (mAvatarPicker)
{
@ -47,15 +46,13 @@ LLFloaterAvatar::~LLFloaterAvatar()
}
}
bool LLFloaterAvatar::postBuild()
bool LLFloaterAvatarWelcomePack::postBuild()
{
mAvatarPicker = findChild<LLMediaCtrl>("avatar_picker_contents");
if (mAvatarPicker)
{
mAvatarPicker->clearCache();
}
enableResizeCtrls(true, true, false);
return true;
}

View File

@ -1,7 +1,7 @@
/**
* @file llfloateravatar.h
* @author Leyla Farazha
* @brief floater for the avatar changer
* @file llfloateravatarwelcomepack.h
* @author Callum Prentice (callum@lindenlab.com)
* @brief Floater container for the Avatar Welcome Pack we app
*
* $LicenseInfo:firstyear=2011&license=viewerlgpl$
* Second Life Viewer Source Code
@ -25,22 +25,21 @@
* $/LicenseInfo$
*/
#ifndef LL_FLOATER_AVATAR_H
#define LL_FLOATER_AVATAR_H
#pragma once
#include "llfloater.h"
class LLMediaCtrl;
class LLFloaterAvatar:
class LLFloaterAvatarWelcomePack:
public LLFloater
{
friend class LLFloaterReg;
private:
LLFloaterAvatar(const LLSD& key);
~LLFloaterAvatar();
bool postBuild() override;
LLMediaCtrl* mAvatarPicker;
private:
LLFloaterAvatarWelcomePack(const LLSD& key);
~LLFloaterAvatarWelcomePack();
bool postBuild() override;
LLMediaCtrl* mAvatarPicker;
};
#endif

View File

@ -2103,9 +2103,6 @@ bool idle_startup()
do_startup_frame();
// We're successfully logged in.
gSavedSettings.setBOOL("FirstLoginThisInstall", false);
LLFloaterReg::showInitialVisibleInstances();
LLFloaterGridStatus::getInstance()->startGridStatusTimer();
@ -2451,6 +2448,27 @@ bool idle_startup()
LLPerfStats::StatsRecorder::setAutotuneInit();
// Display Avatar Welcome Pack the first time a user logs in
// (or clears their settings....)
if (gSavedSettings.getBOOL("FirstLoginThisInstall"))
{
LLFloater* avatar_welcome_pack_floater = LLFloaterReg::findInstance("avatar_welcome_pack");
if (avatar_welcome_pack_floater != nullptr)
{
// There is a (very - 1 in ~50 times) hard to repro bug where the login
// page is not hidden when the AWP floater is presented. This (agressive)
// approach to always close it seems like the best fix for now.
LLPanelLogin::closePanel();
avatar_welcome_pack_floater->setVisible(true);
}
}
//// We're successfully logged in.
// 2025-06 Moved lower down in the state machine so the Avatar Welcome Pack
// floater display can be triggered correctly.
gSavedSettings.setBOOL("FirstLoginThisInstall", false);
return true;
}

View File

@ -38,8 +38,8 @@
#include "llfloateraddpaymentmethod.h"
#include "llfloaterauction.h"
#include "llfloaterautoreplacesettings.h"
#include "llfloateravatar.h"
#include "llfloateravatarpicker.h"
#include "llfloateravatarwelcomepack.h"
#include "llfloateravatarrendersettings.h"
#include "llfloateravatartextures.h"
#include "llfloaterbanduration.h"
@ -331,8 +331,8 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>);
LLFloaterReg::add("associate_listing", "floater_associate_listing.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAssociateListing>);
LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>);
LLFloaterReg::add("avatar", "floater_avatar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatar>);
LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>);
LLFloaterReg::add("avatar_welcome_pack", "floater_avatar_welcome_pack.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarWelcomePack>);
LLFloaterReg::add("avatar_render_settings", "floater_avatar_render_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarRenderSettings>);
LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>);

View File

@ -2291,13 +2291,13 @@ void LLViewerWindow::initWorldUI()
url = LLWeb::expandURLSubstitutions(url, LLSD());
destinations->navigateTo(url, HTTP_CONTENT_TEXT_HTML);
}
LLMediaCtrl* avatar_picker = LLFloaterReg::getInstance("avatar")->findChild<LLMediaCtrl>("avatar_picker_contents");
if (avatar_picker)
LLMediaCtrl* avatar_welcome_pack = LLFloaterReg::getInstance("avatar_welcome_pack")->findChild<LLMediaCtrl>("avatar_picker_contents");
if (avatar_welcome_pack)
{
avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL"));
std::string url = gSavedSettings.getString("AvatarPickerURL");
avatar_welcome_pack->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL"));
std::string url = gSavedSettings.getString("AvatarWelcomePack");
url = LLWeb::expandURLSubstitutions(url, LLSD());
avatar_picker->navigateTo(url, HTTP_CONTENT_TEXT_HTML);
avatar_welcome_pack->navigateTo(url, HTTP_CONTENT_TEXT_HTML);
}
}
}

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater
positioning="cascading"
legacy_header_height="225"
can_minimize="true"
can_close="true"
can_resize="false"
min_height="438"
min_width="530"
height="438"
layout="topleft"
name="Avatar Welcome Pack"
single_instance="true"
save_rect="true"
save_visibility="true"
title="AVATAR WELCOME PACK"
width="530">
<web_browser
top="25"
height="438"
width="530"
follows="all"
name="avatar_picker_contents"
trusted_content="true"/>
</floater>

View File

@ -411,11 +411,11 @@
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="Complete avatars..."
name="Avatar Picker">
label="Avatar Welcome Pack..."
name="Avatar Welcome Pack">
<menu_item_call.on_click
function="Floater.ToggleOrBringToFront"
parameter="avatar" />
parameter="avatar_welcome_pack" />
</menu_item_call>
<menu_item_separator/>

View File

@ -4186,7 +4186,7 @@ Try enclosing path to the editor with double quotes.
name="Command_360_Capture_Label">360 snapshot</string>
<string name="Command_AboutLand_Label">About land</string>
<string name="Command_Appearance_Label">Outfits</string>
<string name="Command_Avatar_Label">Complete avatars</string>
<string name="Command_Avatar_Label">Avatar Welcome Pack</string>
<string name="Command_Build_Label">Build</string>
<string name="Command_Chat_Label">Chat</string>
<string name="Command_Conversations_Label">Conversations</string>