diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp
index 0050531d2f..62a5b16441 100644
--- a/indra/llui/lllineeditor.cpp
+++ b/indra/llui/lllineeditor.cpp
@@ -2314,6 +2314,9 @@ void LLLineEditor::clear()
{
mText.clear();
setCursor(0);
+ mFontBufferPreSelection.reset();
+ mFontBufferSelection.reset();
+ mFontBufferPostSelection.reset();
}
//virtual
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 82930a5978..eac7da1692 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -1651,19 +1651,7 @@ void LLTextBase::draw()
bg_rect.intersectWith( text_rect );
gl_rect_2d( text_rect, bg_color, true );
-
- // Additionally set the font color of highlighted text instead of using LabelTextColor
- const LLColor4& font_color = ll::ui::SearchableControl::getHighlightFontColor();
- setColor(font_color);
- //
}
- // Set the font color back to LabelTextColor if not highlighted
- else
- {
- const LLColor4& font_color = LLUIColorTable::instance().getColor("LabelTextColor");
- setColor(font_color);
- }
- //
bool should_clip = mClip || mScroller != NULL;
// Fix text bleeding at top edge of scrolling text editors
diff --git a/indra/newview/fspanelface.cpp b/indra/newview/fspanelface.cpp
index 8ff008372c..e041218009 100644
--- a/indra/newview/fspanelface.cpp
+++ b/indra/newview/fspanelface.cpp
@@ -737,7 +737,6 @@ void FSPanelFace::onMatTabChange()
if(objectp)
{
last_mat = curr_mat;
- gSavedSettings.setBOOL("FSShowSelectedInBlinnPhong", (curr_mat == MATMEDIA_MATERIAL));
// Iterate through the linkset and mark each object for update
for (LLObjectSelection::iterator iter = LLSelectMgr::getInstance()->getSelection()->begin();
iter != LLSelectMgr::getInstance()->getSelection()->end(); ++iter)
@@ -760,6 +759,7 @@ void FSPanelFace::onMatTabChange()
// Since we allow both PBR and BP textures to be applied at the same time,
// we need to hide or show the GLTF material only locally based on the current tab.
+ gSavedSettings.setBOOL("FSShowSelectedInBlinnPhong", (curr_mat == MATMEDIA_MATERIAL));
if (curr_mat != MATMEDIA_PBR)
LLSelectMgr::getInstance()->hideGLTFMaterial();
else
diff --git a/indra/newview/fsslurl.cpp b/indra/newview/fsslurl.cpp
index 88c67963a2..b0028dce9f 100644
--- a/indra/newview/fsslurl.cpp
+++ b/indra/newview/fsslurl.cpp
@@ -234,17 +234,25 @@ LLSLURL::LLSLURL(const std::string& slurl)
}
else
{
- LL_DEBUGS("SLURL") << "secondlife://" << LL_ENDL;
- // it wasn't a /secondlife/ or /app/, so it must be secondlife://
- // therefore the hostname will be the region name, and it's a location type
- mType = LOCATION;
+ if (slurl_uri.hostName() == LLSLURL::SLURL_APP_PATH)
+ {
+ LL_DEBUGS("SLURL") << "hostname is an app path" << LL_ENDL;
+ mType = APP;
+ }
+ else
+ {
+ LL_DEBUGS("SLURL") << "secondlife://" << LL_ENDL;
+ // it wasn't a /secondlife/ or /app/, so it must be secondlife://
+ // therefore the hostname will be the region name, and it's a location type
+ mType = LOCATION;
- //AW: use current grid for compatibility
- //with viewer 1 slurls.
- mGrid = LLGridManager::getInstance()->getGrid();
+ // AW: use current grid for compatibility
+ // with viewer 1 slurls.
+ mGrid = LLGridManager::getInstance()->getGrid();
- // 'normalize' it so the region name is in fact the head of the path_array
- path_array.insert(0, slurl_uri.hostNameAndPort());
+ // 'normalize' it so the region name is in fact the head of the path_array
+ path_array.insert(0, slurl_uri.hostNameAndPort());
+ }
}
}
else if((slurl_uri.scheme() == LLSLURL::SLURL_HTTP_SCHEME)
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 260dd31cd3..a4224638ca 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -8014,7 +8014,7 @@ bool LLSelectMgr::canSelectObject(LLViewerObject* object, bool ignore_select_own
{
return false;
}
- // // Can't select objects that are not owned by you or group
+ //
}
// Can't select orphans
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 869c744983..74c4d9b4f5 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -7762,6 +7762,16 @@ void LLViewerObject::setRenderMaterialID(S32 te_in, const LLUUID& id, bool updat
start_idx = llmax(start_idx, 0);
end_idx = llmin(end_idx, (S32) getNumTEs());
+ // [FIRE-35138] If we are hiding the GLTF material, call the function again but with a null material id
+ static LLCachedControl showSelectedinBP(gSavedSettings, "FSShowSelectedInBlinnPhong");
+ bool hiding_gltf_material = showSelectedinBP && isSelected();
+ if (hiding_gltf_material && id.notNull())
+ {
+ setRenderMaterialID(te_in, LLUUID::null, update_server, local_origin);
+ return;
+ }
+ //
+
LLRenderMaterialParams* param_block = (LLRenderMaterialParams*)getParameterEntry(LLNetworkData::PARAMS_RENDER_MATERIAL);
if (!param_block && id.notNull())
{ // block doesn't exist, but it will need to
@@ -7798,43 +7808,53 @@ void LLViewerObject::setRenderMaterialID(S32 te_in, const LLUUID& id, bool updat
}
}
- if (update_server || material_changed)
- {
- tep->setGLTFRenderMaterial(nullptr);
- }
-
- if (new_material != tep->getGLTFMaterial())
- {
- tep->setGLTFMaterial(new_material, !update_server);
- }
-
- if (material_changed && new_material)
- {
- // Sometimes, the material may change out from underneath the overrides.
- // This is usually due to the server sending a new material ID, but
- // the overrides have not changed due to being only texture
- // transforms. Re-apply the overrides to the render material here,
- // if present.
- const LLGLTFMaterial* override_material = tep->getGLTFMaterialOverride();
- if (override_material)
+ // [FIRE-35138] Only set GLTF material if not hiding it
+ if (!hiding_gltf_material)
+ { //
+ if (update_server || material_changed)
{
- new_material->onMaterialComplete([obj_id = getID(), te]()
- {
- LLViewerObject* obj = gObjectList.findObject(obj_id);
- if (!obj) { return; }
- LLTextureEntry* tep = obj->getTE(te);
- if (!tep) { return; }
- const LLGLTFMaterial* new_material = tep->getGLTFMaterial();
- if (!new_material) { return; }
- const LLGLTFMaterial* override_material = tep->getGLTFMaterialOverride();
- if (!override_material) { return; }
- LLGLTFMaterial* render_material = new LLFetchedGLTFMaterial();
- *render_material = *new_material;
- render_material->applyOverride(*override_material);
- tep->setGLTFRenderMaterial(render_material);
- });
+ tep->setGLTFRenderMaterial(nullptr);
}
- }
+
+ if (new_material != tep->getGLTFMaterial())
+ {
+ tep->setGLTFMaterial(new_material, !update_server);
+ }
+
+ if (material_changed && new_material)
+ {
+ // Sometimes, the material may change out from underneath the overrides.
+ // This is usually due to the server sending a new material ID, but
+ // the overrides have not changed due to being only texture
+ // transforms. Re-apply the overrides to the render material here,
+ // if present.
+ const LLGLTFMaterial* override_material = tep->getGLTFMaterialOverride();
+ if (override_material)
+ {
+ new_material->onMaterialComplete([obj_id = getID(), te]()
+ {
+ LLViewerObject* obj = gObjectList.findObject(obj_id);
+ if (!obj) { return; }
+ LLTextureEntry* tep = obj->getTE(te);
+ if (!tep) { return; }
+ const LLGLTFMaterial* new_material = tep->getGLTFMaterial();
+ if (!new_material) { return; }
+ const LLGLTFMaterial* override_material = tep->getGLTFMaterialOverride();
+ if (!override_material) { return; }
+ LLGLTFMaterial* render_material = new LLFetchedGLTFMaterial();
+ *render_material = *new_material;
+ render_material->applyOverride(*override_material);
+ tep->setGLTFRenderMaterial(render_material);
+ });
+ }
+ }
+
+ // [FIRE-35138] Update the saved GLTF material since we got an update
+ if (material_changed)
+ {
+ updateSavedGLTFMaterial(te);
+ }
+ } //
}
// signal to render pipe that render batches must be rebuilt for this object
@@ -7913,6 +7933,28 @@ void LLViewerObject::saveGLTFMaterials()
}
}
+void LLViewerObject::updateSavedGLTFMaterial(S32 te)
+{
+ if (te >= mSavedGLTFMaterialIds.size())
+ {
+ // Nothing is saved, so don't need to update anything
+ return;
+ }
+
+ mSavedGLTFMaterialIds[te] = getRenderMaterialID(te);
+
+ LLPointer old_override = getTE(te)->getGLTFMaterialOverride();
+ if (old_override.notNull())
+ {
+ LLGLTFMaterial* copy = new LLGLTFMaterial(*old_override);
+ mSavedGLTFOverrideMaterials[te] = copy;
+ }
+ else
+ {
+ mSavedGLTFOverrideMaterials[te] = nullptr;
+ }
+}
+
void LLViewerObject::clearSavedGLTFMaterials()
{
mSavedGLTFMaterialIds.clear();
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h
index 9adfbd0c73..0544286636 100644
--- a/indra/newview/llviewerobject.h
+++ b/indra/newview/llviewerobject.h
@@ -214,6 +214,7 @@ public:
const uuid_vec_t& getSavedGLTFMaterialIds() const { return mSavedGLTFMaterialIds; };
const gltf_materials_vec_t& getSavedGLTFOverrideMaterials() const { return mSavedGLTFOverrideMaterials; };
void saveGLTFMaterials();
+ void updateSavedGLTFMaterial(S32 te);
void clearSavedGLTFMaterials();
//
diff --git a/indra/newview/skins/default/xui/fr/floater_fs_area_search.xml b/indra/newview/skins/default/xui/fr/floater_fs_area_search.xml
index 038344c6e2..e87cda5fd1 100644
--- a/indra/newview/skins/default/xui/fr/floater_fs_area_search.xml
+++ b/indra/newview/skins/default/xui/fr/floater_fs_area_search.xml
@@ -42,6 +42,7 @@
+
et
Action du clic :
@@ -63,6 +64,7 @@
+
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml
index fde2975b9b..40383a492f 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml
@@ -25,6 +25,7 @@
+
diff --git a/indra/newview/skins/default/xui/ja/floater_fs_area_search.xml b/indra/newview/skins/default/xui/ja/floater_fs_area_search.xml
index 694d57fd58..efb3846c2b 100644
--- a/indra/newview/skins/default/xui/ja/floater_fs_area_search.xml
+++ b/indra/newview/skins/default/xui/ja/floater_fs_area_search.xml
@@ -62,6 +62,7 @@
+
〜
@@ -92,6 +93,7 @@
+
diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml
index 5a50dfde62..43d963b95b 100644
--- a/indra/newview/skins/default/xui/ja/floater_tools.xml
+++ b/indra/newview/skins/default/xui/ja/floater_tools.xml
@@ -132,7 +132,9 @@
強度:
-
+
+ [DESC] [NUM]
+
選択されていません。
diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml
index a0c7a496eb..9d4733e4a7 100644
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -98,6 +98,7 @@
+
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml
index 038951ff09..628858a4a7 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml
@@ -26,9 +26,9 @@
-
+ -->
@@ -41,6 +41,7 @@
+
diff --git a/indra/newview/skins/default/xui/ja/panel_primfeed_photo.xml b/indra/newview/skins/default/xui/ja/panel_primfeed_photo.xml
index cee3b27e78..6b0598446e 100644
--- a/indra/newview/skins/default/xui/ja/panel_primfeed_photo.xml
+++ b/indra/newview/skins/default/xui/ja/panel_primfeed_photo.xml
@@ -28,8 +28,8 @@
説明:
-
-
+
+
diff --git a/indra/newview/skins/default/xui/pl/floater_fs_area_search.xml b/indra/newview/skins/default/xui/pl/floater_fs_area_search.xml
index 8ef3eb1af2..761461d378 100644
--- a/indra/newview/skins/default/xui/pl/floater_fs_area_search.xml
+++ b/indra/newview/skins/default/xui/pl/floater_fs_area_search.xml
@@ -62,7 +62,7 @@
-
+
oraz
@@ -92,7 +92,7 @@
-
+
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
index c76d8af286..b2347a68bb 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
@@ -36,6 +36,7 @@
+
diff --git a/indra/newview/skins/default/xui/ru/floater_fs_area_search.xml b/indra/newview/skins/default/xui/ru/floater_fs_area_search.xml
index 2c770f97e0..1f3dd887c8 100644
--- a/indra/newview/skins/default/xui/ru/floater_fs_area_search.xml
+++ b/indra/newview/skins/default/xui/ru/floater_fs_area_search.xml
@@ -46,6 +46,7 @@
+
и
Кликабельные
@@ -68,6 +69,7 @@
+
@@ -88,6 +90,7 @@
+
diff --git a/indra/newview/skins/default/xui/ru/floater_primfeed.xml b/indra/newview/skins/default/xui/ru/floater_primfeed.xml
new file mode 100644
index 0000000000..d0a8c708ff
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_primfeed.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+ Ошибка
+ Загрузка...
+
+
+
diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml
index 4b77d80d5c..5fdaaa475d 100644
--- a/indra/newview/skins/default/xui/ru/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml
@@ -706,6 +706,8 @@
+
+
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index bbeed352ce..3167a595cf 100644
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -5331,6 +5331,12 @@ https://wiki.firestormviewer.org/fs_voice
Ваш снимок теперь может быть просмотрен [https://www.flickr.com/photos/me/[ID] тут].
+
+ Ваш снимок теперь можно просмотреть [https://www.flickr.com/photos/me/[ID] здесь].
+
+
+ Ваш пост Primfeed теперь можно просмотреть [[PF_POSTURL] здесь].
+
Какую бы метку вы хотели использовать
для региона "[REGION]"?
@@ -5635,4 +5641,26 @@ https://wiki.firestormviewer.org/antivirus_whitelisting
+
+ Запрос на вход отклонен Primfeed.
+
+
+ Primfeed авторизация не удалась. Последовательность авторизации не была завершена.
+
+
+ Авторизация Primfeed уже выполняется. Пожалуйста, завершите авторизацию Primfeed в вашем веб-браузере, прежде чем повторить попытку.
+
+
+ Авторизация Primfeed завершена. Теперь вы можете публиковать изображения в Primfeed.
+
+
+ Проверка пользователя Primfeed не удалась. Primfeed не распознал эту учетную запись, или вход не удался.
+
+
+ Вы уже связали эту учетную запись с Primfeed. Используйте кнопку сброса, если хотите начать заново.
+
+
+ Вход пользователя Primfeed успешен, но проверки статуса не пройдены. Проверьте, работает ли Primfeed.
+
+
diff --git a/indra/newview/skins/default/xui/ru/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/ru/panel_preferences_firestorm.xml
index c0250785a9..f7bdcc0c05 100644
--- a/indra/newview/skins/default/xui/ru/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/ru/panel_preferences_firestorm.xml
@@ -37,6 +37,7 @@
+
diff --git a/indra/newview/skins/default/xui/ru/panel_primfeed_account.xml b/indra/newview/skins/default/xui/ru/panel_primfeed_account.xml
new file mode 100644
index 0000000000..b8b91f9a75
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_primfeed_account.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ Не подключен к Primfeed.
+ Тип аккаунта:
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/ru/panel_primfeed_photo.xml b/indra/newview/skins/default/xui/ru/panel_primfeed_photo.xml
new file mode 100644
index 0000000000..c28efa81e1
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_primfeed_photo.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ Обновляется...
+
+
+
+
+ Описание:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/ru/panel_snapshot_options.xml b/indra/newview/skins/default/xui/ru/panel_snapshot_options.xml
index 90992f09bd..ee4d7e0092 100644
--- a/indra/newview/skins/default/xui/ru/panel_snapshot_options.xml
+++ b/indra/newview/skins/default/xui/ru/panel_snapshot_options.xml
@@ -19,6 +19,9 @@
+
+
+
@@ -26,4 +29,4 @@
Плата зависит от вашего уровня подписки. На более высоких уровнях взимаются более низкие сборы.
-
\ No newline at end of file
+
diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml
index f908c4f93a..fd7dcd2b92 100644
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -399,9 +399,8 @@ support@secondlife.com.
Тестирование отключения клиента
-
- Соединение с Flickr...
+ Подключение к Flickr...
Публикация...
@@ -410,15 +409,26 @@ support@secondlife.com.
Отключение от Flickr...
- Невозможно соедениться с Flickr
+ Проблема с подключением к Flickr
- Невозможно опубликовать в Flickr
+ Проблема с публикацией на Flickr
- Невозможно отключиться от Flickr
+ Проблема с отключением от Flickr
+
+
+ Подключение к Primfeed...
+
+
+ Не разрешено...
+
+
+ Публикация...
+
+
+ Проблема с публикацией на Primfeed
-
Черное и Белое
@@ -5752,6 +5762,9 @@ https://www.firestormviewer.org/support за помощь в решении эт
Позы вашего аватара или анимированного объекта
+
+ Публикуйте сообщения прямо в своей учетной записи Primfeed.
+
Создание равнопрямоугольного изображения в формате 360°
diff --git a/indra/newview/skins/default/xui/zh/floater_fs_area_search.xml b/indra/newview/skins/default/xui/zh/floater_fs_area_search.xml
index 923c5b25e1..c735dd248d 100644
--- a/indra/newview/skins/default/xui/zh/floater_fs_area_search.xml
+++ b/indra/newview/skins/default/xui/zh/floater_fs_area_search.xml
@@ -62,6 +62,7 @@
+
和
@@ -92,6 +93,7 @@
+
diff --git a/indra/newview/skins/default/xui/zh/floater_phototools.xml b/indra/newview/skins/default/xui/zh/floater_phototools.xml
index 30c14faddf..1ffdd7c434 100644
--- a/indra/newview/skins/default/xui/zh/floater_phototools.xml
+++ b/indra/newview/skins/default/xui/zh/floater_phototools.xml
@@ -49,7 +49,7 @@
-
+
@@ -81,8 +81,8 @@
-
- 探针解析度(需重启)
+
+ 探針解析度(需重启)
diff --git a/indra/newview/skins/default/xui/zh/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/zh/panel_preferences_firestorm.xml
index c48aac83de..8262852d0a 100644
--- a/indra/newview/skins/default/xui/zh/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/zh/panel_preferences_firestorm.xml
@@ -25,7 +25,8 @@
-
+
+
diff --git a/indra/newview/skins/vintage/xui/en/panel_profile_pick.xml b/indra/newview/skins/vintage/xui/en/panel_profile_pick.xml
index 8578560a57..fbcd1f5237 100644
--- a/indra/newview/skins/vintage/xui/en/panel_profile_pick.xml
+++ b/indra/newview/skins/vintage/xui/en/panel_profile_pick.xml
@@ -95,13 +95,28 @@
follows="left|right|top"
layout="topleft" />
+
+
+
+
+
+
+