LLTextBase::setCursor() sometimes failed to work properly if line wrapping was enabled.
This is a slightly optimized version of the patch made by Satomi Ahn.
Changes:
* Suppressed URLs in object (sender) names of nearby chat messages loaded from history.
* Fixed text between <nolink>...</nolink> text being rendered as URL
(hand cursor on hover, context menu, context menu, opening Places SP on click).
Refresh caused deletion of group members data (from gdatap->mMembers), so gdatap->mMembers[id] in LLPanelGroupMembersSubTab::onNameCache() was null and when it was passed
into addMemberToList() there when getContribution() was called for it, crash happened.
- Added check against NULL before using member data.
The reason is the same as in STORM-390: a bug in LLTextBase which leads to ignoring link href specified for a link segment if
the segment contains an URL (and the <nolink>...</nolink> clause is treated as such).
The workaround is to explicitly disallow parsing URLs in a link segment by setting its "is_link" parameter to "true".
Added confirmation dialog before deleting outfit from context menu and gear menu button of My Appearance -> My Outfits
- Deleted method that shows confirmation dialog in LLPanelOutfitsInventory. Moved it to the LLOutfitsList. Now confirmation dialog called before calling LLOutfitsList::removeSelected.
- Replaced native methods of deleting outfit in gear menu and context menu with LLOutfitsList::removeSelected.
Changes:
* Wrapped object name with <nolink>...</nolink> tags to disable URL parsing.
* The decline message is now localized as a whole sentence (localizing separate phrases is often inapplicable for some languages).
I managed to reprodcuce the crash once and couldn't reproduce it any time later, so this fix is made judging from line that I found (viewer was in debug mode when it happened)
in call stack after crash. Added check for gMenuHolder against NULL to prevent further crashing. There is no 100% guarantee that this fixes the crash from ticket, but it won't do any harm either.
- Added two spinners to the Chat preferences tab that control NearbyToastLifeTime and NearbyToastFadingTime
- Added callbacks to the LLNearbyChatScreenChannel that update these properties if they were changed
Refactoring of LLToast:
- Removed code that was making toast transparent from LLToast::draw()
- Modified LLToast interface that relates to showing and hiding toast, so that all screen channels can use LLToast universally.
- Replaced in LLScreenChannel calling methods of old interface to new ones.
Reason: An inventory observer (LLFilteredWearableListManager) tried to use
a deleted collect functor (LLFilterItem::collector in LLPanelOutfitEdit::mListViewItemTypes).
Fix: De-register (and delete) the observer when the collector gets deleted.