Sound Explorer: Add correct name to blacklist
parent
3fc742382d
commit
a5dcfd4647
|
|
@ -55,6 +55,14 @@ NACLFloaterExploreSounds::NACLFloaterExploreSounds(const LLSD& key)
|
|||
|
||||
NACLFloaterExploreSounds::~NACLFloaterExploreSounds()
|
||||
{
|
||||
for (blacklist_avatar_name_cache_connection_map_t::iterator it = mBlacklistAvatarNameCacheConnections.begin(); it != mBlacklistAvatarNameCacheConnections.end(); ++it)
|
||||
{
|
||||
if (it->second.connected())
|
||||
{
|
||||
it->second.disconnect();
|
||||
}
|
||||
}
|
||||
mBlacklistAvatarNameCacheConnections.clear();
|
||||
}
|
||||
|
||||
BOOL NACLFloaterExploreSounds::postBuild()
|
||||
|
|
@ -393,18 +401,38 @@ void NACLFloaterExploreSounds::blacklistSound()
|
|||
continue;
|
||||
}
|
||||
|
||||
std::string entry_name;
|
||||
std::string agent;
|
||||
std::string region_name;
|
||||
|
||||
gCacheName->getFullName(item.mOwnerID, agent);
|
||||
LLViewerRegion* cur_region = gAgent.getRegion();
|
||||
|
||||
if (cur_region)
|
||||
{
|
||||
region_name = cur_region->getName();
|
||||
}
|
||||
|
||||
FSWSAssetBlacklist::getInstance()->addNewItemToBlacklist(item.mAssetID, agent, region_name, LLAssetType::AT_SOUND, true);
|
||||
blacklist_avatar_name_cache_connection_map_t::iterator it = mBlacklistAvatarNameCacheConnections.find(item.mOwnerID);
|
||||
if (it != mBlacklistAvatarNameCacheConnections.end())
|
||||
{
|
||||
if (it->second.connected())
|
||||
{
|
||||
it->second.disconnect();
|
||||
}
|
||||
mBlacklistAvatarNameCacheConnections.erase(it);
|
||||
}
|
||||
mBlacklistAvatarNameCacheConnections[item.mOwnerID] =
|
||||
LLAvatarNameCache::get(item.mOwnerID, boost::bind(&NACLFloaterExploreSounds::onBlacklistAvatarNameCacheCallback, this, _1, _2, item.mAssetID, region_name));
|
||||
}
|
||||
}
|
||||
|
||||
void NACLFloaterExploreSounds::onBlacklistAvatarNameCacheCallback(const LLUUID& av_id, const LLAvatarName& av_name, const LLUUID& asset_id, const std::string& region_name)
|
||||
{
|
||||
blacklist_avatar_name_cache_connection_map_t::iterator it = mBlacklistAvatarNameCacheConnections.find(av_id);
|
||||
if (it != mBlacklistAvatarNameCacheConnections.end())
|
||||
{
|
||||
if (it->second.connected())
|
||||
{
|
||||
it->second.disconnect();
|
||||
}
|
||||
mBlacklistAvatarNameCacheConnections.erase(it);
|
||||
}
|
||||
FSWSAssetBlacklist::getInstance()->addNewItemToBlacklist(asset_id, av_name.getCompleteName(), region_name, LLAssetType::AT_SOUND, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#include "llfloater.h"
|
||||
#include "lleventtimer.h"
|
||||
#include "llaudioengine.h"
|
||||
#include "llavatarnamecache.h"
|
||||
|
||||
class LLCheckBoxCtrl;
|
||||
class LLScrollListCtrl;
|
||||
|
|
@ -39,6 +40,11 @@ private:
|
|||
LLCheckBoxCtrl* mPaused;
|
||||
|
||||
std::list<LLSoundHistoryItem> mLastHistory;
|
||||
|
||||
typedef std::map<LLUUID, boost::signals2::connection> blacklist_avatar_name_cache_connection_map_t;
|
||||
blacklist_avatar_name_cache_connection_map_t mBlacklistAvatarNameCacheConnections;
|
||||
|
||||
void onBlacklistAvatarNameCacheCallback(const LLUUID& av_id, const LLAvatarName& av_name, const LLUUID& asset_id, const std::string& region_name);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue