Ansariel 2020-09-09 19:27:48 +02:00
commit dc0e4941e2
15 changed files with 108 additions and 31 deletions

View File

@ -415,6 +415,14 @@ void LLCoprocedurePool::coprocedureInvokerCoro(
{
coproc->mProc(httpAdapter, coproc->mId);
}
catch (const LLCoros::Stop &)
{
LL_INFOS("CoProcMgr") << "Viewer is shutting Down. Stopping coprocedure('" << coproc->mName
<< "', id=" << coproc->mId.asString()
<< ") in pool '" << mPoolName << "'" << LL_ENDL;
mActiveCoprocs.erase(itActive);
throw; // let toplevel handle this as LLContinueError
}
catch (...)
{
LOG_UNHANDLED_EXCEPTION(STRINGIZE("Coprocedure('" << coproc->mName

View File

@ -22707,17 +22707,6 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>0</integer>
</map>
<key>UseHTTPBakedTextureFetch</key>
<map>
<key>Comment</key>
<string>If true, baked avatar textures will be fetched using HTTP instead of UDP.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>FSIMTabNameFormat</key>
<map>
<key>Comment</key>

View File

@ -167,16 +167,29 @@ bool exoGroupMuteList::restoreDeferredGroupChat(const LLUUID& group)
LLGroupData groupData;
if (gAgent.getGroupData(group, groupData))
{
gIMMgr->addSession(groupData.mName, IM_SESSION_INVITE, group);
uuid_vec_t ids;
LLIMModel::sendStartSession(group, group, ids, IM_SESSION_GROUP_START);
if (!gAgent.isDoNotDisturb() && gSavedSettings.getU32("PlayModeUISndNewIncomingGroupIMSession") != 0)
if (!isMuted(group))
{
make_ui_sound("UISndNewIncomingGroupIMSession");
LL_INFOS() << "Restoring group chat from " << groupData.mName << " (" << group.asString() << ")" << LL_ENDL;
gIMMgr->addSession(groupData.mName, IM_SESSION_INVITE, group);
uuid_vec_t ids;
LLIMModel::sendStartSession(group, group, ids, IM_SESSION_GROUP_START);
if (!gAgent.isDoNotDisturb() && gSavedSettings.getU32("PlayModeUISndNewIncomingGroupIMSession") != 0)
{
make_ui_sound("UISndNewIncomingGroupIMSession");
}
return true;
}
else
{
LL_INFOS() << "NOT restoring group chat from " << groupData.mName << " (" << group.asString() << ") because the group is muted" << LL_ENDL;
gIMMgr->clearPendingInvitation(group);
gIMMgr->clearPendingAgentListUpdates(group);
LLIMModel::getInstance()->sendLeaveSession(group, group);
return false;
}
return true;
}
}

View File

@ -955,7 +955,7 @@ bool LLAppViewer::init()
LLFile::remove(per_user_dir_glob + "filters.xml");
LLFile::remove(per_user_dir_glob + "medialist.xml");
LLFile::remove(per_user_dir_glob + "plugin_cookies.xml");
LLFile::remove(per_user_dir_glob + "screen_last.bmp");
LLFile::remove(per_user_dir_glob + "screen_last*.*");
LLFile::remove(per_user_dir_glob + "search_history.xml");
LLFile::remove(per_user_dir_glob + "settings_friends_groups.xml");
LLFile::remove(per_user_dir_glob + "settings_per_account.xml");

View File

@ -101,7 +101,6 @@ BOOL LLFloaterConversationPreview::postBuild()
name = LLTrans::getString("NearbyChatTitle");
file = "chat";
}
// <FS:Ansariel> Remember used log file name
mChatHistoryFileName = file;
LLStringUtil::format_map_t args;

View File

@ -3012,7 +3012,7 @@ void LLIMMgr::addMessage(
// session id, so we can leave it!
if (is_group_chat && !exoGroupMuteList::instance().isLoaded())
{
LL_INFOS() << "Received group chat from " << fixed_session_name << " (" << new_session_id.asString() << ") before must list has been loaded - skipping message" << LL_ENDL;
LL_INFOS() << "Received group chat from " << fixed_session_name << " (" << new_session_id.asString() << ") before mute list has been loaded - skipping message" << LL_ENDL;
exoGroupMuteList::instance().addDeferredGroupChat(new_session_id);
return;
}
@ -3039,7 +3039,7 @@ void LLIMMgr::addMessage(
if (IM_NOTHING_SPECIAL != dialog && IM_SESSION_P2P_INVITE != dialog &&
gAgent.isInGroup(new_session_id) && LLMuteList::getInstance()->isMuted(other_participant_id) && !from_linden)
{
LL_INFOS() << "Ignoring group chat initiated by muted resident." << LL_ENDL;
LL_INFOS() << "Ignoring group chat from " << fixed_session_name << " (" << new_session_id.asString() << ") initiated by muted resident." << LL_ENDL;
exoGroupMuteList::instance().addDeferredGroupChat(new_session_id);
return;
}

View File

@ -205,7 +205,7 @@ https://accounts.secondlife.com/change_email/
<panel
class="panel_preference_backup"
filename="panel_preferences_backup.xml"
label="Backup"
label="Backup &amp; Restore"
layout="topleft"
help_topic="preferences_backup_tab"
name="backup" />

View File

@ -15,8 +15,7 @@
<combo_box.item label="Figer" name="bake"/>
</combo_box>
<text name="size_lbl">
Taille:
[DIMENSIONS]
Taille: [DIMENSIONS]
</text>
<button label="Défaut" label_selected="Défaut" name="Default" width="60"/>
<button label="Vierge" label_selected="Vierge" name="Blank" width="60"/>
@ -49,5 +48,5 @@
<check_box initial_value="false" label="Masquer la région maillée de base" name="hide_base_mesh_region"/>
<button label="OK" label_selected="OK" name="Select"/>
<button label="Annuler" label_selected="Annuler" name="Cancel"/>
<check_box initial_value="true" label="Appliquer maintenant" name="apply_immediate_check"/>
<check_box initial_value="true" label="Appliquer" name="apply_immediate_check"/>
</floater>

View File

@ -5,6 +5,19 @@
<string name="now_editing" value="Vous modifiez actuellement"/>
<panel.string name="not_available">(NA)</panel.string>
<panel.string name="unknown">(inconnu)</panel.string>
<string name="Filter.All" value="Tous"/>
<string name="Filter.Clothes/Body" value="Vêtements/Corps"/>
<string name="Filter.Objects" value="Objets"/>
<string name="Filter.Clothing" value="Vêtements"/>
<string name="Filter.Bodyparts" value="Parties du corps"/>
<string name="replace_body_part" value="Cliquez pour remplacer votre corps"/>
<text name="title" value="Modifier l'habillement"/>
<panel name="header_panel">
<panel name="outfit_name_and_status">
<text name="status" value="En cours de traitement..."/>
<text name="curr_outfit_name" value="[Current Outfit]"/>
</panel>
</panel>
<layout_stack name="im_panels">
<layout_panel name="outfit_wearables_panel">
<layout_stack name="filter_panels">
@ -21,9 +34,11 @@
</layout_panel>
</layout_stack>
<panel name="no_add_wearables_button_bar">
<text name="avatar_complexity_label">Complexité : [WEIGHT]</text>
<button name="shop_btn_1" tool_tip="Visitez le Marketplace SL. Vous pouvez également sélectionner quelque chose que vous portez, puis cliquer ici pour consulter d'autres articles similaires"/>
</panel>
<panel name="add_wearables_button_bar">
<text name="avatar_complexity_adding_label">Complexité : [WEIGHT]</text>
<button name="shop_btn_2" tool_tip="Visitez le Marketplace SL. Vous pouvez également sélectionner quelque chose que vous portez, puis cliquer ici pour consulter d'autres articles similaires"/>
</panel>
<panel name="save_revert_button_bar">

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel name="Outfit Gallery">
<string name="outfit_photo_string">
Photo de la tenue "[OUTFIT_NAME]"
</string>
<string name="no_outfits_msg">
Vous n'avez pas encore de tenues. Essayez [secondlife:///app/search/all/ la recherche].
</string>
<string name="no_matched_outfits_msg">
Vous n'avez pas trouvé ce que vous cherchiez ? Essayez le [secondlife:///app/search/all/[SEARCH_TERM] la recherche].
</string>
<text name="no_outfits_txt">
Recherche...
</text>
<panel name="bottom_panel">
<menu_button name="options_gear_btn" tool_tip="Afficher les options supplémentaires"/>
<text name="OutfitcountText">
[COUNT] tenues
</text>
<text name="avatar_complexity_label">
Complexité : [WEIGHT]
</text>
<button name="trash_btn" tool_tip="Supprimer la tenue sélectionnée"/>
</panel>
</panel>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel name="gallery_item_panel">
<string name="worn_string">
(porté)
</string>
<panel name="text_bg_panel">
<text name="outfit_name">
Summer hipster, Pierce Pierce Pierce Pierce
</text>
<text name="outfit_worn_text">
(porté)
</text>
</panel>
</panel>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel name="panel_outfit_snapshot_inventory">
<text name="title">
Inventaire
</text>
<text name="hint_lbl">
Le téléchargement d'une image dans votre inventaire coûte L$[UPLOAD_COST].
Les frais sont fonction de votre niveau d'abonnement. Les niveaux supérieurs sont soumis à des frais moins élevés.
</text>
<button label="Annuler" name="cancel_btn"/>
<button label="Enregistrer" name="save_btn"/>
</panel>

View File

@ -2,6 +2,7 @@
<panel name="Outfits" label="Tenues">
<panel.string name="wear_outfit_tooltip">Porter la tenue sélectionnée</panel.string>
<panel.string name="wear_items_tooltip">Porter les objets sélectionnés</panel.string>
<panel.string name="cof_tab_label">Portés ([COUNT]/[MAX] Att.)</panel.string>
<tab_container name="appearance_tabs">
<panel label="Galerie des tenues" name="outfit_gallery_tab"/>
<panel name="outfitslist_tab" label="Tenues"/>

View File

@ -6,7 +6,8 @@
</accordion>
<panel name="bottom_panel">
<menu_button tool_tip="Afficher d'autres options" name="options_gear_btn"/>
<text name="OutfitcountText">[COUNT] Tenues</text>
<text name="OutfitcountText">[COUNT] tenues</text>
<text name="avatar_complexity_label">Complexité : [WEIGHT]</text>
<button name="trash_btn" tool_tip="Supprimer la tenue sélectionnée"/>
</panel>
</panel>

View File

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="Wearing">
<panel.string name="no_attachments">
Aucun élément attaché porté.
Aucun élément porté.
</panel.string>
<accordion name="wearables_accordion">
<accordion_tab name="tab_wearables" title="Articles à porter"/>
<accordion_tab name="tab_temp_attachments" title="Éléments attachés temporaires"/>
<accordion_tab name="tab_wearables" title="Éléments à porter"/>
<accordion_tab name="tab_temp_attachments" title="Éléments temporaires"/>
</accordion>
<panel name="bottom_panel">
<menu_button name="options_gear_btn" tool_tip="Afficher d&apos;autres options"/>
<text name="avatar_complexity_label">Complexité: [WEIGHT]</text>
</panel>
</panel>