Age | Commit message (Collapse) | Author |
|
- Replaced hardcoded strings under Group Profile Land/Assets with related strings from strings.xml
- Added new string "Group" to strings.xml
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/794/.
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/775/
--HG--
branch : product-engine
|
|
|
|
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/789/
--HG--
branch : product-engine
|
|
Roles.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/788/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
is still valid when landmark is loaded from notecard and 2) adding a check for region capability
There are two reasons of the crash reported in the bug:
* absence of the "CopyInventoryFromNotecard" capability in region (which leads to crash while logging of a LL_ERRS)
* referencing to an invalid pointer to LLInventoryItem in callback.
The first issue is fixed by preventing sending of the "CopyInventoryFromNotecard" message if it is not supported
(in the "copy_inventory_from_notecard()")
The second issue caused by such reason:
* Notecard stores LLPointer to each embedded inventory item
* When Landmark is clicked it should be opened in Places Panel and inventory item should copied into agent inventory
* If it is unknown to agent it is requested and pointer (but not LLPointer!) to inventory item was bound to an appropriate callback
* Then when landmark is loaded that inventory item is copied to inventory.
* If notecard was closed before callback was trigged all instances to embedded inventory items were destroyed.
This leads to crash when trigged callback tries to reference to bound pointer to inventory item (for landmarks)
Fix is to pass LLPointer instead of pointer to inventory item into callback to ensure item is valid when it is needed.
Details:
* updated LLEmbeddedItems::getEmbeddedItem() to return LLPointer to inventory item (and renamed to getEmbeddedItemPtr)
* updated LLViewerTextEditor::openEmbeddedItem() to get LLPointer to inventory item
* updated LLViewerTextEditor::openEmbeddedLandmark() to get LLPointer to inventory item
Patch also contains some more places where pointer is replaced with LLPointer to be consistent.
NOTE: there are several LLViewerTextEditor::openEmbeddedXXX() methods which still get pointer to inventory item.
It is safe for now because they use it synchronously. I have added a note at their declaration.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/784/
--HG--
branch : product-engine
|
|
|
|
|
|
|
|
appearance update until all links are created
|
|
characters and new line in text editor.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/786/.
--HG--
branch : product-engine
|
|
Outfit panel reopening)
Now accordion on panels 'Edit Outfit', 'Editing Shape', 'Editing Hair', 'Editing Eyes', 'Editing Skin', 'Group Profile' and 'Place Profile' are reset when the panels are closed and then opened again.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/782/
--HG--
branch : product-engine
|
|
- Modified LLWearableItemTypeNameComparator so that it can be more reusable and adjustable
- Set LLWearableItemTypeNameComparator for WearableItemsList ('List view' of 'Add More' panel) due to sort clothings by name
- Modified and applied patch form https://codereview.productengine.com/secondlife/r/620/diff/2/#index_header. This patch was discarded because specification was changed
Reviewed by Mike Antipov and Vadim Savchuk at https://codereview.productengine.com/secondlife/r/765/
--HG--
branch : product-engine
|
|
down)
- Added a text label to the + button reading \"New Notice\"
- Add more padding between button and content below
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/766/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/773/
--HG--
branch : product-engine
|
|
|
|
|
|
|
|
|
|
|
|
|
|
when called from 'Add More' panel.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/737/.
--HG--
branch : product-engine
|
|
|
|
texture pipeline always returns a valid image, we needed to check the image id
against IMG_DEFAULT instead of NULL. This causes the image to be correctly set
to IMG_DEFAULT_AVATAR, which is never rendered during layer baking.
Code reviewed by Seraph
|
|
|
|
Reason
======
Each message in an IM/chat session has a header. The header shows an (i) button on hover and hides it when mouse leaves the header.
The button is shown by adding it as a header child and hidden by resetting the button parent.
So, if you close the IM session so that the hovered header doesn't get the MouseLeave message (e.g. by Ctrl+W),
the button gets destroyed. If you then open the IM session again and hover a message header, the destroyed button
is referenced, which leads to crash.
Fix
===
We make sure that when a hovered message header is being destroyed (by closing the IM session),
the button is detached (i.e. its parent gets reset), so that it remains usable.
I also add a couple of checks for the case when the (i) button fails to construct from XML file.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/783/
--HG--
branch : product-engine
|
|
|
|
and Trash folder options incorrect
Minor fix to previous checkin for this crash. This fixes the UI issue where you're seeing the context options for the previous folder you clicked when you click on trash/library.
|
|
|
|
|
|
panel widgets
|
|
|
|
|
|
LLPanelStandStopFlying is always valid to prevent crash.
Consequences of root cause:
Static pointer to LLPanelStandStopFlying in LLPanelStandStopFlying::getInstance() becomes invalid when the instance of the LLPanelStandStopFlying is a child of floater while it is destroying.
Next usage of that pointed cause a crash.
Root Cause:
1. LLFloater::closeFloater sets floater invisible and marks floater as "dead" but does not destroy it.
2. But that instance was still in LLFloaterReg map. It is removed in LLFloater's destructor.
3. So it was possible on low fps to get "dead" floater with LLFloaterReg, LLFloaterMove in this case.
4. Then LLMortician deleted floater instance shown on previous step.
Call of setVisible(false) from the LLFloater's destructor does not call overridden LLFloaterMove's method (which is expected behavior.)
So, child panel LLPanelStandStopFlying was not re-parented to Main View and was destroyed with LLFloaterMove.
That leaded to the "Top Reason" described above.
FIX:
1. Ensure that LLPanelStandStopFlying is not a child of LLFloaterMove on its destroying.
2. Synchronized removing of a floater instance from the LLFloaterReg when it is marked as "dead".
Note: both changes fixes this bug independently, but I included both of them into result patch to avoid similar but in the future.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/781/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
from the Edit Outfit->Add More panel.
Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/777/
--HG--
branch : product-engine
|
|
|
|
Made redundant by EXT-2095
|
|
|
|
reviewed by Callum
|
|
|
|
|
|
|
|
|
|
annotation.
|
|
|