Age | Commit message (Collapse) | Author |
|
|
|
|
|
For both the (so far unused) generic KEY form and the KEY = T* form, provide
key_iter, beginKeys(), endKeys().
Change instance_iter so that when dereferenced, it gives you a T& rather than
a T*, to be more harmonious with a typical STL container. (You parameterize
LLInstanceTracker with T, not with T*.)
Fix existing usage in llfasttimer.cpp and lltimer.cpp to agree.
For the KEY = T* specialization, add T* getInstance(T*) so client isn't forced
to know which variant was used.
Add unit tests for uniformity of public operations on both variants.
|
|
|
|
http://jira.secondlife.com/browse/EXT-2312
|
|
|
|
|
|
|
|
|
|
|
|
localized.
Notifications console was listed twice in the Develop>Console menu
|
|
|
|
Life", "1st Life", "SLURL"
|
|
public beta. Also it should test a sentence that wraps. Ideally it would also test a string with double-byte characters but I dont know how to do that.
|
|
|
|
|
|
media instance.
The active parcel media instance always gets priority over other inworld media.
|
|
LLMediaEntry::asLLSD() have a contract conflict
Review #31
So, here's what was happening, briefly:
- LLMediaEntry::setWhitelist() would be a no-op if given an LLSD that did not have a WHITELIST_KEY
- LLMediaEntry::asLLSD() would render the LLMediaEntry *without* a WHITELIST_KEY if the whitelist was empty
Therefore, when the viewer marshalled an LLMediaEntry for the server, it would send it without a WHITELIST_KEY. When the server got it, it would not erase the last value.
This is actually a workaround: it patches asLLSD() with an LLSD::emptyArray() if the key is not there. However, this should be fixed on the server: in either or both of the following ways:
1) LLMediaEntry::setWhitelist() should not be a no-op if the LLSD has no WHITELIST_KEY: it should erase the whitelist
2) LLMediaEntry::asLLSD() should render an empty whitelist in WHITELIST_KEY as an empty array
Note that both could be done and still work.
A unit test should and will be written next.
|
|
|
|
Created LLViewerMediaImpl::unload(), which unloads the media and clears internal state (such as the last-navigated URL) to keep it from getting reloaded.
LLViewerMedia::updateMediaImpl() now calls unload() on the impl instead of just using destroyMediaSource().
|
|
This change gets rid of the crufty (and confusing) "apply()"
functions from llpanelmediasettings*. Those functions were
never being called, yet changes were being made in them.
Instead, I added "preApply()" and "postApply()" to each of
these panels, which the floater (who really does the "apply()"ing)
now calls before and after it applies the changes to the
media data.
|
|
|
|
|
|
Made LLViewerMedia::updateMediaImpl() unload the impl's media plugin when the current URL goes empty.
Made LLVOVolume::syncMediaData() call removeMediaImpl() if the media data gets deleted.
|
|
The various People panels now have Call buttons that work. Currently
we only support single selection of users in lists for P2P voice chat.
Multiple selection for ad-hoc chat is next...
|
|
|
|
|
|
Sending now works.
Reviewed with Ambroff.
|
|
for months, it spams the logs, and it hits the disk.
Discussed with Q, the author.
|
|
Reviewed with Ambroff
|
|
|
|
|
|
These changes had been made last month, but got smooshed.
|
|
|
|
|
|
|
|
Added a version field at the beginning of inventory cache files. If version field is not found or does not match expectected value, then the cache is discarded. In 1.23, the version line triggers a warning but is otherwise ignored.
Reviewed by Seraph.
|
|
with invalid objectp->mType"
Trivial fix to just ignore reading in items that have unknown/none asset type.
|
|
|
|
problem was caused by triggering updateMeshTextures() every time visual params
or textures were changed on your base avatar object. The latest structure
makes the parameters and textures in the wearables authoritative, causing them
to be copied to the avatar on a regular basis. This resulted in way too many callbacks
to be registered while waiting for baked textures to be uploaded.
Fixed by removing many calls to updateMeshTextures() and ensuring that it gets called
every time an appropriate param or texture actually changes, or a wearable gets
added/removed. This appears to cut the number of callbacks to a reasonable level.
Code reviewed by Bigpapi.
|
|
|
|
As requested by the search team.
|
|
|
|
|
|
I've added a new LLAvatarActions::startCall() method to make it easy
to start a new P2P call. The Resident Profile "Call" button is now
hooked up to this.
I've also put back the "Call" menu in the avatar popup menu and hooked
this up too. While I was there I noticed that the "IM" popup menu code
could all be removed in favor of a call to LLAvatarActions::startIM().
|
|
|
|
|
|
|
|
|
|
|