This patch removes the invalid "add" operation shown on wearables in inventory
It also renames MAX_WEARABLES_PER_TYPE, resets the value to 1 (non-multi-wearables), and adds a weak check to enforce one wearable per type.
Code reviewed by Vir
Found a couple bugs in the code relating to cross-wearable visual param linking.
Fixed with this patch - cross-wearable and inter-wearable visual params should
now link properly for both wearable-owned and avatar-owned parameters.
Code reviewed by Seraph
Make the floater help buttons, "?", use exactly the same code path as
the side tray panels to evaluate the current help context, so that we
don't have two implementations that could diverge in the future.
This checkin deletes all of the code associated with the old XUI-based
search interface, including LLFloaterDirectory, LLPanelDir*, a global
variable event hack, and the associated XUI file. The new web-based
search interface, LLFloaterSearch, is the way of the future.
Deleted 19 files and 5,838 lines of code.
This new Search floater replaces the current XUI-based search
interface with one that is implemented entirely as a web service.
This is currently pointing toward a temporary search URL. The URL will
be updated when the stable version is available.
Added links to the Buy L$ floater to access payment method, local
currency settings, and exchange rate. Also included required text
about re-entering value in order to update exhance rate. And added a
notification on successful payment, as some foreign currency
transactions can take up to 20 mins to complete.
Worked with Ram on Erica on the design. The actual text may need some
tweaking once we hear back from Gisland. The URLs are placeholder for
now.
The bug was driven by the following sequence in llstartup.cpp:
if(reason_response == "update"
|| reason_response == "optional")
{
// used to resend status event still containing "update",
// erroneously instantiating a second forced-update
// LLAlertDialog
LLLoginInstance::getInstance()->disconnect();
// quit with an LLAlertDialog still on sModalStack used
// to result in LL_ERRS
LLAppViewer::instance()->forceQuit();
}
I hope to be able to introduce a test script to verify the fix. That
script would need to be able to call LLAppViewer::forceQuit() rather than
requestQuit(), which is already available via LLAppViewerListener.
At the same time, changed LLAppViewerListener to bind a functor to
retrieve an LLAppViewer instance (namely LLAppViewer::instance) rather
than an LLAppViewer*. Apparently the static instantiation of
LLAppViewerListener was calling LLAppViewer::instance() too early, before
things were ready, so the declaration was changed to pass NULL -- then
in each method, call LLAppViewer::instance() if the bound pointer is NULL.
Binding the LLAppViewer* is a Feathers tactic intended to avoid the need
to reference the singleton. Binding a functor still leaves it up to the
instantiating code to reference LLAppViewer::instance, while deferring
the actual call to that method.
Based on discussion with James and Richard, this operation should allow an
automation script to locate a visible LLFloater and simulate clicking any one
of its LLButton children by name. As yet untested.
The logic was redundantly expressed in LLFloaterReg -- and would be
useful elsewhere -- so was introduced as LLFloater::isShown(). Thanks to
Richard and James for suggesting the terminology.
For DEV-32867 : Avatar Pipeline Project - Multi-Attachments
This is a viewer-side-only, infrastructure-only merge for multi-attachments. This should not lead to any new functionality; it simply provides backwards compatibility for when multi-attachments are enabled in viewer2.1, so that viewer2.0 users can see viewer2.1 avatars correctly.
Reviewed by: Vir.
svn merge -r 136489:136510 svn+ssh://svn.lindenlab.com/svn/linden/branches/avatar-pipeline/multiple-textures-12 .
Progress can be tracked in DEV-32551.
-Nyx
parsing in text editors. Any time we are looking up segment start/end
ranges we should do this on a wide string.
Also added a convenience LLUrlRegistry::hasUrl() method to easily
determine if a string contains a valid SLURL.