From 46b4ea4d6d256fb644369d8701cc80944be44800 Mon Sep 17 00:00:00 2001 From: TJ Date: Mon, 13 Oct 2025 22:37:23 +1000 Subject: [PATCH 1/5] #4811 #4813 Fixed RemoveItemWarn invalid notification and deleting no-mod content (#4812) * Fixed trying to display an invalid notification for RemoveItemWarn * Fixed allowing deleting no-mod content if tried to be deleted twice --- indra/newview/llpanelobjectinventory.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index f90d6d5b3f..a31a54bb67 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -385,10 +385,7 @@ bool LLTaskInvFVBridge::removeItem() return true; } - LLSD payload; - payload["task_id"] = mPanel->getTaskUUID(); - payload["inventory_ids"].append(mUUID); - LLNotificationsUtil::add("RemoveItemWarn", LLSD(), payload, boost::bind(&remove_task_inventory_callback, _1, _2, mPanel)); + LLNotificationsUtil::add("CantModifyContentInNoModTask"); return false; } } @@ -411,13 +408,7 @@ void LLTaskInvFVBridge::removeBatch(std::vector& batch) if (!object->permModify()) { - LLSD payload; - payload["task_id"] = mPanel->getTaskUUID(); - for (LLFolderViewModelItem* item : batch) - { - payload["inventory_ids"].append(((LLTaskInvFVBridge*)item)->getUUID()); - } - LLNotificationsUtil::add("RemoveItemWarn", LLSD(), payload, boost::bind(&remove_task_inventory_callback, _1, _2, mPanel)); + LLNotificationsUtil::add("CantModifyContentInNoModTask"); } else { From 38257221d090a8c2669d34a23891e7b66153df6f Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 13 Nov 2024 00:11:53 +0200 Subject: [PATCH 2/5] viewer#3018 Expose mouse wrap in UI And attempt some basic automation --- indra/llwindow/llwindow.h | 1 + indra/llwindow/llwindowheadless.h | 1 + indra/llwindow/llwindowmacosx.h | 1 + indra/llwindow/llwindowsdl.h | 1 + indra/llwindow/llwindowwin32.cpp | 3 ++ indra/llwindow/llwindowwin32.h | 2 ++ indra/newview/app_settings/settings.xml | 8 ++--- indra/newview/llfloaterpreference.cpp | 11 ++++++ indra/newview/llviewerwindow.cpp | 26 +++++++++++++- .../default/xui/en/panel_preferences_move.xml | 36 ++++++++++++++++++- 10 files changed, 84 insertions(+), 6 deletions(-) diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h index d0fa16b26a..7a5404e615 100644 --- a/indra/llwindow/llwindow.h +++ b/indra/llwindow/llwindow.h @@ -95,6 +95,7 @@ public: #if LL_WINDOWS virtual bool getCursorDelta(LLCoordCommon* delta) = 0; #endif + virtual bool isWrapMouse() const = 0; virtual void showCursor() = 0; virtual void hideCursor() = 0; virtual bool isCursorHidden() = 0; diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h index 5696b69a59..dc7b833013 100644 --- a/indra/llwindow/llwindowheadless.h +++ b/indra/llwindow/llwindowheadless.h @@ -63,6 +63,7 @@ public: #if LL_WINDOWS /*virtual*/ bool getCursorDelta(LLCoordCommon* delta) override { return false; } #endif + /*virtual*/ bool isWrapMouse() const override { return true; } /*virtual*/ void showCursor() override {} /*virtual*/ void hideCursor() override {} /*virtual*/ void showCursorFromMouseMove() override {} diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h index 110c5756d0..d703a84d02 100644 --- a/indra/llwindow/llwindowmacosx.h +++ b/indra/llwindow/llwindowmacosx.h @@ -63,6 +63,7 @@ public: bool switchContext(bool fullscreen, const LLCoordScreen &size, bool enable_vsync, const LLCoordScreen * const posp = NULL) override; bool setCursorPosition(LLCoordWindow position) override; bool getCursorPosition(LLCoordWindow *position) override; + bool isWrapMouse() const override { return !mCursorDecoupled; }; void showCursor() override; void hideCursor() override; void showCursorFromMouseMove() override; diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h index 196ad2986d..521d52df30 100644 --- a/indra/llwindow/llwindowsdl.h +++ b/indra/llwindow/llwindowsdl.h @@ -68,6 +68,7 @@ public: /*virtual*/ bool switchContext(bool fullscreen, const LLCoordScreen &size, bool disable_vsync, const LLCoordScreen * const posp = NULL); /*virtual*/ bool setCursorPosition(LLCoordWindow position); /*virtual*/ bool getCursorPosition(LLCoordWindow *position); + /*virtual*/ bool isWrapMouse() const override { return true; } /*virtual*/ void showCursor(); /*virtual*/ void hideCursor(); /*virtual*/ void showCursorFromMouseMove(); diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 23d5866710..824d0f5ec6 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -450,6 +450,7 @@ LLWindowWin32::LLWindowWin32(LLWindowCallbacks* callbacks, F32 max_gl_version) : LLWindow(callbacks, fullscreen, flags), + mAbsoluteCursorPosition(false), mMaxGLVersion(max_gl_version), mMaxCores(max_cores) { @@ -3156,6 +3157,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ prev_absolute_x = absolute_x; prev_absolute_y = absolute_y; + window_imp->mAbsoluteCursorPosition = true; } else { @@ -3172,6 +3174,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ window_imp->mRawMouseDelta.mX += (S32)round((F32)raw->data.mouse.lLastX * (F32)speed / DEFAULT_SPEED); window_imp->mRawMouseDelta.mY -= (S32)round((F32)raw->data.mouse.lLastY * (F32)speed / DEFAULT_SPEED); } + window_imp->mAbsoluteCursorPosition = false; } } } diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index 7196706f87..0fc93ad0b1 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -70,6 +70,7 @@ public: /*virtual*/ bool setCursorPosition(LLCoordWindow position); /*virtual*/ bool getCursorPosition(LLCoordWindow *position); /*virtual*/ bool getCursorDelta(LLCoordCommon* delta); + /*virtual*/ bool isWrapMouse() const override { return !mAbsoluteCursorPosition; }; /*virtual*/ void showCursor(); /*virtual*/ void hideCursor(); /*virtual*/ void showCursorFromMouseMove(); @@ -195,6 +196,7 @@ protected: HCURSOR mCursor[ UI_CURSOR_COUNT ]; // Array of all mouse cursors LLCoordWindow mCursorPosition; // mouse cursor position, should only be mutated on main thread + bool mAbsoluteCursorPosition; // true if last position was received in absolute coordinates. LLMutex mRawMouseMutex; RAWINPUTDEVICE mRawMouse; LLCoordWindow mLastCursorPosition; // mouse cursor position from previous frame diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ac79223738..d6a1fbd124 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2469,16 +2469,16 @@ Value 0 - DisableMouseWarp + MouseWarpMode Comment - Disable warping of the mouse to the center of the screen during alt-zoom and mouse look. Useful with certain input devices, mouse sharing programs like Synergy, or running under Parallels. + Controls warping of the mouse to the center of the screen during alt-zoom and mouse look. Useful with certain input devices, mouse sharing programs like Synergy, or running under Parallels. 0 - automatic, 1 - on, 2 - off Persist 1 Type - Boolean + S32 Value - 0 + 1 DisableExternalBrowser diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 5a39d41478..99161d8d93 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -774,6 +774,17 @@ void LLFloaterPreference::onOpen(const LLSD& key) // Load (double-)click to walk/teleport settings. updateClickActionViews(); +#if LL_LINUX + // Lixux doesn't support automatic mode + LLComboBox* combo = getChild("double_click_action_combo"); + S32 mode = gSavedSettings.getS32("MouseWarpMode"); + if (mode == 0) + { + combo->setValue("1"); + } + combo->setEnabledByValue("0", false); +#endif + // Enabled/disabled popups, might have been changed by user actions // while preferences floater was closed. buildPopupLists(); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 3849c286c5..670a3b2939 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3340,7 +3340,31 @@ void LLViewerWindow::clearPopups() void LLViewerWindow::moveCursorToCenter() { - if (! gSavedSettings.getBOOL("DisableMouseWarp")) + bool mouse_warp = false; + LLCachedControl mouse_warp_mode(gSavedSettings, "MouseWarpMode", 1); + + switch (mouse_warp_mode()) + { + case 0: + // For Windows: + // Mouse usually uses 'delta' position since it isn't aware of own location, keep it centered. + // Touch screen reports absolute or virtual absolute position and warping a physical + // touch is pointless, so don't move it. + // + // MacOS + // If 'decoupled', CGAssociateMouseAndMouseCursorPosition can make mouse stay in + // one place and not move, do not move it (needs testing). + mouse_warp = mWindow->isWrapMouse(); + break; + case 1: + mouse_warp = true; + break; + default: + mouse_warp = false; + break; + } + + if (mouse_warp) { S32 x = getWorldViewWidthScaled() / 2; S32 y = getWorldViewHeightScaled() / 2; diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml index 4aafceb112..3a5a8cbfec 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml @@ -202,9 +202,43 @@ height="10" layout="topleft" left="86" - name="single_click_action_lbl" + name="mouse_warp_lbl" width="150" top_pad="20"> + Mouse Warp: + + + + + + + Single click on land: Date: Mon, 13 Oct 2025 16:19:33 +0300 Subject: [PATCH 3/5] #2818 Creating a link to an empty notecard fails --- indra/newview/llinventorybridge.cpp | 26 ++++++++++++++ indra/newview/llinventorygallery.cpp | 24 +++++++++++++ indra/newview/llinventorygallerymenu.cpp | 35 ++++++++++++++----- .../skins/default/xui/en/notifications.xml | 16 +++++++++ 4 files changed, 92 insertions(+), 9 deletions(-) diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 1e6c5cf04a..e322d3ae28 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -4390,6 +4390,32 @@ void LLFolderBridge::pasteLinkFromClipboard() std::vector objects; LLClipboard::instance().pasteFromClipboard(objects); + if (objects.size() == 0) + { + LLClipboard::instance().setCutMode(false); + return; + } + + LLUUID& first_id = objects[0]; + LLInventoryItem* item = model->getItem(first_id); + if (item && item->getAssetUUID().isNull()) + { + if (item->getActualType() == LLAssetType::AT_NOTECARD) + { + // otehrwise AIS will return 'Cannot link to items with a NULL asset_id.' + LLNotificationsUtil::add("CantLinkNotecard"); + LLClipboard::instance().setCutMode(false); + return; + } + else if (item->getActualType() == LLAssetType::AT_MATERIAL) + { + LLNotificationsUtil::add("CantLinkMaterial"); + LLClipboard::instance().setCutMode(false); + return; + } + } + + LLPointer cb = NULL; LLInventoryPanel* panel = mInventoryPanel.get(); if (panel->getRootFolder()->isSingleFolderMode()) diff --git a/indra/newview/llinventorygallery.cpp b/indra/newview/llinventorygallery.cpp index a4cb6ea65d..c54af7d9f1 100644 --- a/indra/newview/llinventorygallery.cpp +++ b/indra/newview/llinventorygallery.cpp @@ -2120,6 +2120,30 @@ void LLInventoryGallery::pasteAsLink() std::vector objects; LLClipboard::instance().pasteFromClipboard(objects); + if (objects.size() == 0) + { + LLClipboard::instance().setCutMode(false); + return; + } + + LLUUID& first_id = objects[0]; + LLInventoryItem* item = gInventory.getItem(first_id); + if (item && item->getAssetUUID().isNull()) + { + if (item->getActualType() == LLAssetType::AT_NOTECARD) + { + LLNotificationsUtil::add("CantLinkNotecard"); + LLClipboard::instance().setCutMode(false); + return; + } + else if (item->getActualType() == LLAssetType::AT_MATERIAL) + { + LLNotificationsUtil::add("CantLinkMaterial"); + LLClipboard::instance().setCutMode(false); + return; + } + } + bool paste_into_root = mSelectedItemIDs.empty(); for (LLUUID& dest : mSelectedItemIDs) { diff --git a/indra/newview/llinventorygallerymenu.cpp b/indra/newview/llinventorygallerymenu.cpp index e129a1296a..eda93e3e79 100644 --- a/indra/newview/llinventorygallerymenu.cpp +++ b/indra/newview/llinventorygallerymenu.cpp @@ -603,20 +603,23 @@ void LLInventoryGalleryContextMenu::updateMenuItemsVisibility(LLContextMenu* men bool has_children = false; bool is_full_perm_item = false; bool is_copyable = false; - LLViewerInventoryItem* selected_item = gInventory.getItem(selected_id); + + LLViewerInventoryCategory* selected_category = nullptr; + LLViewerInventoryItem* selected_item = nullptr; if(is_folder) { - LLInventoryCategory* category = gInventory.getCategory(selected_id); - if (category) + selected_category = dynamic_cast(obj); + if (selected_category) { - folder_type = category->getPreferredType(); + folder_type = selected_category->getPreferredType(); is_system_folder = LLFolderType::lookupIsProtectedType(folder_type); has_children = (gInventory.categoryHasChildren(selected_id) != LLInventoryModel::CHILDREN_NO); } } else { + selected_item = dynamic_cast(obj); if (selected_item) { is_full_perm_item = selected_item->getIsFullPerm(); @@ -735,8 +738,7 @@ void LLInventoryGalleryContextMenu::updateMenuItemsVisibility(LLContextMenu* men { if (is_agent_inventory && !is_inbox && !is_cof && !is_in_favorites && !is_outfits && !is_in_outfits) { - LLViewerInventoryCategory* category = gInventory.getCategory(selected_id); - if (!category || !LLFriendCardsManager::instance().isCategoryInFriendFolder(category)) + if (!selected_category || !LLFriendCardsManager::instance().isCategoryInFriendFolder(selected_category)) { items.push_back(std::string("New Folder")); } @@ -764,6 +766,22 @@ void LLInventoryGalleryContextMenu::updateMenuItemsVisibility(LLContextMenu* men if (inventory_linking) { items.push_back(std::string("Paste As Link")); + + if (selected_item) + { + if (!LLAssetType::lookupCanLink(selected_item->getActualType())) + { + disabled_items.push_back(std::string("Paste As Link")); + } + else if (gInventory.isObjectDescendentOf(selected_item->getUUID(), gInventory.getLibraryRootFolderID())) + { + disabled_items.push_back(std::string("Paste As Link")); + } + } + else if (selected_category && LLFolderType::lookupIsProtectedType(selected_category->getPreferredType())) + { + disabled_items.push_back(std::string("Paste As Link")); + } } } if (is_folder && is_agent_inventory) @@ -1020,9 +1038,8 @@ void LLInventoryGalleryContextMenu::updateMenuItemsVisibility(LLContextMenu* men { if (is_folder) { - LLViewerInventoryCategory* cat = gInventory.getCategory(selected_id); - if (cat - && !LLFolderType::lookupIsProtectedType(cat->getPreferredType()) + if (selected_category + && !LLFolderType::lookupIsProtectedType(selected_category->getPreferredType()) && gInventory.isObjectDescendentOf(selected_id, gInventory.getRootFolderID())) { can_list = true; diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 69df05f6c2..b8c573221d 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6594,6 +6594,22 @@ Do you want to replace it with the selected object? fail + + You must save the notecard before creating a link to it. + fail + + + + You must save the material before creating a link to it. + fail + + Date: Tue, 14 Oct 2025 01:25:37 +0900 Subject: [PATCH 4/5] Fix Japanese Translation (#743) --- .../control_table_contents_columns_basic.xml | 4 +- .../default/xui/ja/floater_360capture.xml | 4 +- .../default/xui/ja/floater_about_land.xml | 28 ++-- .../xui/ja/floater_add_payment_method.xml | 2 +- .../xui/ja/floater_avatar_textures.xml | 16 +-- .../skins/default/xui/ja/floater_bumps.xml | 12 +- .../xui/ja/floater_edit_ext_day_cycle.xml | 8 +- .../default/xui/ja/floater_god_tools.xml | 10 +- .../default/xui/ja/floater_incoming_call.xml | 2 +- .../skins/default/xui/ja/floater_inspect.xml | 2 +- .../skins/default/xui/ja/floater_joystick.xml | 30 ++--- .../skins/default/xui/ja/floater_lagmeter.xml | 2 +- .../default/xui/ja/floater_land_holdings.xml | 4 +- .../default/xui/ja/floater_lsl_guide.xml | 2 +- .../default/xui/ja/floater_model_preview.xml | 4 +- .../default/xui/ja/floater_outgoing_call.xml | 2 +- .../xui/ja/floater_pathfinding_characters.xml | 2 +- .../xui/ja/floater_pathfinding_console.xml | 20 +-- .../xui/ja/floater_pathfinding_linksets.xml | 24 ++-- .../default/xui/ja/floater_performance.xml | 8 +- .../default/xui/ja/floater_preferences.xml | 2 +- .../floater_preferences_graphics_advanced.xml | 4 +- .../ja/floater_preferences_view_advanced.xml | 8 +- .../xui/ja/floater_scene_load_stats.xml | 8 +- .../default/xui/ja/floater_settings_debug.xml | 8 +- .../skins/default/xui/ja/floater_snapshot.xml | 4 +- .../skins/default/xui/ja/floater_stats.xml | 26 ++-- .../skins/default/xui/ja/floater_tools.xml | 64 ++++----- .../default/xui/ja/floater_top_objects.xml | 4 +- .../xui/ja/floater_translation_settings.xml | 6 +- .../default/xui/ja/floater_ui_preview.xml | 18 +-- .../default/xui/ja/floater_url_entry.xml | 2 +- .../xui/ja/floater_whitelist_entry.xml | 4 +- .../default/xui/ja/menu_attachment_other.xml | 4 +- .../default/xui/ja/menu_avatar_other.xml | 4 +- .../default/xui/ja/menu_conversation.xml | 2 +- .../xui/ja/menu_conversation_log_gear.xml | 2 +- .../xui/ja/menu_conversation_log_view.xml | 2 +- .../default/xui/ja/menu_gesture_gear.xml | 2 +- .../skins/default/xui/ja/menu_inventory.xml | 4 +- .../default/xui/ja/menu_participant_list.xml | 2 +- .../default/xui/ja/menu_people_nearby.xml | 2 +- .../xui/ja/menu_people_nearby_multiselect.xml | 2 +- .../default/xui/ja/menu_profile_other.xml | 4 +- .../default/xui/ja/menu_profile_self.xml | 2 +- .../default/xui/ja/menu_settings_gear.xml | 2 +- .../skins/default/xui/ja/menu_slurl.xml | 4 +- .../skins/default/xui/ja/menu_url_agent.xml | 2 +- .../skins/default/xui/ja/menu_url_http.xml | 2 +- .../skins/default/xui/ja/menu_viewer.xml | 58 ++++----- .../xui/ja/menu_wearable_list_item.xml | 4 +- .../skins/default/xui/ja/notifications.xml | 102 +++++++-------- .../default/xui/ja/panel_avatar_list_item.xml | 2 +- .../xui/ja/panel_clothing_list_button_bar.xml | 2 +- .../default/xui/ja/panel_edit_universal.xml | 6 +- .../default/xui/ja/panel_group_bulk_ban.xml | 2 +- .../xui/ja/panel_group_creation_sidetray.xml | 2 +- .../default/xui/ja/panel_group_invite.xml | 2 +- .../default/xui/ja/panel_group_notices.xml | 4 +- .../default/xui/ja/panel_group_roles.xml | 2 +- .../default/xui/ja/panel_landmark_info.xml | 2 +- .../default/xui/ja/panel_main_inventory.xml | 2 +- .../xui/ja/panel_media_settings_general.xml | 2 +- .../default/xui/ja/panel_nearby_chat_bar.xml | 2 +- .../default/xui/ja/panel_nearby_media.xml | 4 +- .../xui/ja/panel_notification_list_item.xml | 4 +- .../skins/default/xui/ja/panel_people.xml | 2 +- .../ja/panel_performance_autoadjustments.xml | 4 +- .../default/xui/ja/panel_performance_huds.xml | 6 +- .../xui/ja/panel_performance_preferences.xml | 6 +- .../default/xui/ja/panel_place_profile.xml | 2 +- .../xui/ja/panel_postcard_settings.xml | 6 +- .../xui/ja/panel_preferences_advanced.xml | 12 +- .../default/xui/ja/panel_preferences_chat.xml | 14 +- .../xui/ja/panel_preferences_colors.xml | 4 +- .../xui/ja/panel_preferences_general.xml | 10 +- .../xui/ja/panel_preferences_graphics1.xml | 4 +- .../xui/ja/panel_preferences_sound.xml | 4 +- .../default/xui/ja/panel_presets_pulldown.xml | 4 +- .../xui/ja/panel_prim_media_controls.xml | 2 +- .../xui/ja/panel_profile_secondlife.xml | 2 +- .../default/xui/ja/panel_region_covenant.xml | 2 +- .../xui/ja/panel_region_environment.xml | 10 +- .../default/xui/ja/panel_region_estate.xml | 2 +- .../default/xui/ja/panel_region_terrain.xml | 10 +- .../xui/ja/panel_script_limits_my_avatar.xml | 2 +- .../ja/panel_script_limits_region_memory.xml | 2 +- .../xui/ja/panel_snapshot_postcard.xml | 2 +- .../skins/default/xui/ja/panel_status_bar.xml | 6 +- .../default/xui/ja/panel_tools_texture.xml | 4 +- .../default/xui/ja/sidepanel_item_info.xml | 2 +- .../default/xui/ja/sidepanel_task_info.xml | 4 +- .../newview/skins/default/xui/ja/strings.xml | 122 +++++++++--------- .../skins/default/xui/ja/teleport_strings.xml | 2 +- 94 files changed, 420 insertions(+), 420 deletions(-) diff --git a/indra/newview/skins/default/xui/ja/control_table_contents_columns_basic.xml b/indra/newview/skins/default/xui/ja/control_table_contents_columns_basic.xml index 83f204648d..db833e2c8e 100644 --- a/indra/newview/skins/default/xui/ja/control_table_contents_columns_basic.xml +++ b/indra/newview/skins/default/xui/ja/control_table_contents_columns_basic.xml @@ -2,6 +2,6 @@ - - + + diff --git a/indra/newview/skins/default/xui/ja/floater_360capture.xml b/indra/newview/skins/default/xui/ja/floater_360capture.xml index d0a6eef0e0..4199327e88 100644 --- a/indra/newview/skins/default/xui/ja/floater_360capture.xml +++ b/indra/newview/skins/default/xui/ja/floater_360capture.xml @@ -1,5 +1,5 @@ - + 品質 @@ -11,7 +11,7 @@ -