Age | Commit message (Collapse) | Author |
|
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
|
|
|
|
|
|
|
|
|
|
|
|
when widget was removed from xml in 0b6a4c546d75.
This prevents a warning: 'WARNING: LLView::getChild: Making dummy class LLIconCtrl named "icon" in sys_well_item'.
Reviewed by Vadim Savchuk.
--HG--
branch : product-engine
|
|
LLPanelPlace
Moved LLParcelHandler from now defunct llfloaterparcel.cpp to llpanelplaces.cpp
|
|
--HG--
branch : product-engine
|
|
hide(close) LLPanelEditWearable "child" controls by calling "showWearable(mWearablePtr, FALSE);"
The problem was in LLPanelEditWearable "child" controls does not handle parent's setVisible() (for example - floater's).
--HG--
branch : product-engine
|
|
|
|
|
|
|
|
The default link label specified in widgets/expandable_text.xml didn't seem to be taken into account for translation.
So I moved the label to strings.xml to make sure it's localized.
Also I removed overridden textbox.label attribute values because VLT can't handle them.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/770/
--HG--
branch : product-engine
|
|
get worn or taken off.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/772/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
selected in outfit editor) - 'Add More' panel multiple selection behavior
Implemented the following behavior: \"if multiple selection is made in the Add More panel then default marketplace home URL can be used\".
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/769/
--HG--
branch : product-engine
|
|
notifications.xml to make it localizable.
Added "You died and have been teleported to your home location" string. It requires localization efforts.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/776/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
|
|
LLPanelMediaSettingsPermissions::initValues() was referencing both XUI elements that don't exist and strings that don't appear in strings.xml.
Also fixed a number of elements in panel_media_settings_permissions.xml and floater_tools.xml that weren't graying out properly when non-editable items were selected, and some mixed up image attributes that made the media "gear" icon states look wrong.
|
|
the text.
Due to some legacy issues, text boxes will not gray out on disable unless they have their text_readonly_color property in xui set to "LabelDisabledColor" (or some other color distinct from their text color).
Reviewed by Richard.
|
|
Trivial fix to correct for wrong debug message printed out due to use of wrong timer.
|
|
EXT-8445 Reduce baked texture timeout fro 120sec to 60sec default
Also did some minor infrastructure cleanup, added code comments, etc. There is now separate logic for determining how to handle update (versus upload) requests.
Also made a trivial change to llvoavatar to properly encapsulate mAppearanceAnimating.
Also reduced the baked texture timeout to 60s (in settings.xml)
|
|
|
|
llviewertexture.cpp]
|
|
violation of One Definition Rule.
reviewed by Moss.
|
|
|
|
"Stand Up" on object.
Made only one of them enabled in the same time, didn't make disabled one invisible because it was decided so in EXT-8094.
- This bug is the result of EXT-8094 fix. Corrected logic of enabling "Sit here" and "Stand up" both in xml and code.
- Removed class LLObjectEnableSitOrStand because it's not needed anymore, and it's handleEvent() method duplicates is_object_sittable() function.
- Renamed Object.EnableSit to Object.EnableGearSit because its name is now used for enabling object menu sit, and this "simple" version is used only from object inspector's gear menu.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/761
--HG--
branch : product-engine
|
|
logic for saveAs case. Some remaining UI issues will be filed separately. Reviewed by Nyx
|
|
|
|
allow_html still supported as alternate
|
|
--HG--
branch : product-engine
|
|
Details:
Instead of copying shared pointer, raw pointer was used, that cause crash, since notification responder object was accessed after it was destroyed.
Replaced usage copying of raw pointer instead of copying shared pointer of notification responder object, that should live after notification destroyed.
--HG--
branch : product-engine
|
|
"Attach To..." menus (AE and inventory).
There is an on_enable callback set for the menu items. It tries adding a suffix like "(obj_name)" if there is already an attachment on the attachment point.
No matter whether the suffix has been actually added, the callback resets the menu item label to its parameter (cbparams["label"]).
The problem was that we passed the original English attachment point name to the callback, that set it as the menu item name, thus screwing up translation.
The fix is to pass translated attachment point name to the on_enable callback.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/768/
--HG--
branch : product-engine
|
|
it was opened by 'Replace' item of context menu)
- Set proper callback for 'Replace' clothing
- Renamed onReplaceBodyPartMenuItemClicked to onReplaceMenuItemClicked because now this callback is used not only for Body Parts but for clothing also
- Added argument 'const LLUUID& item_id' for 'static void replaceWearable()' to be able to call onReplaceMenuItemClicked with LLUUID argument
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/750/
--HG--
branch : product-engine
|