Permalink
Browse files

Merge branch 'Release' of https://github.com/Lirusaito/SingularityVie…

  • Loading branch information...
Shyotl committed Aug 23, 2016
2 parents 583ea76 + 1f53b80 commit 9dbdf75c1448ccb8d1990adc672e533a9f31c76a
Showing with 223 additions and 137 deletions.
  1. +5 −5 autobuild.xml
  2. +1 −1 indra/llprimitive/lldaeloader.cpp
  3. +1 −1 indra/llprimitive/llmodelloader.cpp
  4. +4 −0 indra/llui/ailist.h
  5. +22 −11 indra/newview/app_settings/settings.xml
  6. BIN indra/newview/icons/alpha/viewer.icns
  7. BIN indra/newview/icons/alpha/viewer.ico
  8. BIN indra/newview/icons/alpha/viewer.png
  9. BIN indra/newview/icons/alpha/viewer_256.BMP
  10. BIN indra/newview/icons/default/viewer_256.BMP
  11. +1 −1 indra/newview/linux_tools/refresh_desktop_app_entry.sh.in
  12. +2 −2 indra/newview/linux_tools/register_secondlifeprotocol.sh
  13. +3 −2 indra/newview/llcallingcard.cpp
  14. +6 −35 indra/newview/llfloateravatarlist.cpp
  15. +4 −4 indra/newview/llfloatermediafilter.cpp
  16. +1 −1 indra/newview/llfolderview.cpp
  17. +1 −1 indra/newview/llgiveinventory.cpp
  18. +8 −8 indra/newview/llmediafilter.cpp
  19. +3 −3 indra/newview/llnetmap.cpp
  20. +5 −5 indra/newview/llnotify.cpp
  21. +1 −1 indra/newview/lloverlaybar.cpp
  22. +1 −0 indra/newview/llpanelavatar.cpp
  23. +13 −0 indra/newview/llpanelmaininventory.cpp
  24. +1 −1 indra/newview/lltextureview.cpp
  25. +13 −8 indra/newview/lltooldraganddrop.cpp
  26. +19 −9 indra/newview/llviewermenu.cpp
  27. +6 −2 indra/newview/llviewermessage.cpp
  28. +12 −4 indra/newview/llviewerobject.cpp
  29. +14 −11 indra/newview/llviewerobject.h
  30. +2 −2 indra/newview/llviewerparcelmgr.cpp
  31. BIN indra/newview/skins/default/textures/noentrylines.j2c
  32. BIN indra/newview/skins/default/textures/noentrypasslines.j2c
  33. +4 −0 indra/newview/skins/default/textures/textures.xml
  34. +1 −1 indra/newview/skins/default/xui/en-us/floater_about.xml
  35. +17 −4 indra/newview/skins/default/xui/en-us/notifications.xml
  36. +52 −14 indra/newview/viewer_manifest.py
View
@@ -2572,11 +2572,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>960953da9ab7c335a0f4f97e9bf8341c</string>
<string>a38ec464042e1d5e67231d9bcd181ae2</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>http://depot.alchemyviewer.org/pub/windows/lib-vc14/vcredist-14.0.23506.0-windows-201601191536.tar.bz2</string>
<string>https://depot.alchemyviewer.org/pub/windows/lib-vc14/vcredist-14.0.23918.0-windows-201606250656.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@@ -2586,18 +2586,18 @@
<key>archive</key>
<map>
<key>hash</key>
<string>918588215463f36836eeefd9d3891868</string>
<string>0d688527ab7d08f6b7c7a5f73175e4f8</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>http://depot.alchemyviewer.org/pub/windows64/lib-vc14/vcredist-14.0.23506.0-windows64-201601191536.tar.bz2</string>
<string>https://depot.alchemyviewer.org/pub/windows64/lib-vc14/vcredist-14.0.23918.0-windows64-201606250656.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
<string>14.0.23506.0</string>
<string>14.0.23918.0</string>
</map>
<key>xmlrpc-epi</key>
<map>
@@ -2248,7 +2248,7 @@ LLImportMaterial LLDAELoader::profileToMaterial(domProfile_COMMON* material, DAE
if (newparams.getCount())
{
for (S32 i = 0; i < newparams.getCount(); i++)
for (U32 i = 0; i < newparams.getCount(); i++)
{
domFx_surface_common* surface = newparams[i]->getSurface();
if (surface)
@@ -379,7 +379,7 @@ bool LLModelLoader::loadFromSLM(const std::string& filename)
{
if (!model[lod].empty())
{
if (idx >= model[lod].size())
if (idx >= (S32)model[lod].size())
{
if (model[lod].size())
{
View
@@ -253,7 +253,11 @@ class AIConstListIterator {
typedef AIConstListIterator<T> _Self;
typedef std::list<AINode<T> > _Container;
typedef typename _Container::iterator _Iterator;
#if LL_LINUX && GCC_VERSION <= 40899
typedef _Iterator _ConstIterator;
#else
typedef typename _Container::const_iterator _ConstIterator;
#endif
typedef AIListIterator<T> iterator;
_Container const* mContainer;
@@ -796,17 +796,6 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>LiruResizeRootWithScreen</key>
<map>
<key>Comment</key>
<string>When false, the ui view won't resize when the screen does (floaters won't move around without user interaction, but they also might be restricted from moving everywhere).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>LiruLegacyScrollToEnd</key>
<map>
<key>Comment</key>
@@ -978,6 +967,17 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>LiruOnlineNotificationBehavior</key>
<map>
<key>Comment</key>
<string>Determines if Friend is Online notifications will do anything when clicked. (0 does nothing, 1 starts an IM (default), 2 opens profile.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>LiruRegionRestartMinimized</key>
<map>
<key>Comment</key>
@@ -991,6 +991,17 @@
<key>IsCOA</key>
<integer>1</integer>
</map>
<key>LiruResizeRootWithScreen</key>
<map>
<key>Comment</key>
<string>When false, the ui view won't resize when the screen does (floaters won't move around without user interaction, but they also might be restricted from moving everywhere).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>LiruScriptErrorsStealFocus</key>
<map>
<key>Comment</key>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -15,7 +15,7 @@ function install_desktop_entry()
Name=@VIEWER_BRANDING_ID@\n\
Comment=Client for Online Virtual Worlds, such as Second Life\n\
Exec=${installation_prefix}/@VIEWER_BRANDING_ID@\n\
Icon=${installation_prefix}/@VIEWER_BRANDING_ID@_icon.png\n\
Icon=${installation_prefix}/viewer_icon.png\n\
Terminal=false\n\
Type=Application\n\
Categories=Application;Network;\n\
@@ -7,10 +7,10 @@
HANDLER="$1"
RUN_PATH=`dirname "$0" || echo .`
cd "${RUN_PATH}"
cd "${RUN_PATH}/.."
if [ -z "$HANDLER" ]; then
HANDLER=`pwd`/handle_secondlifeprotocol.sh
HANDLER=`pwd`/etc/handle_secondlifeprotocol.sh
fi
# Register handler for GNOME-aware apps
@@ -749,13 +749,14 @@ static void on_avatar_name_cache_notify(const LLUUID& agent_id,
// Popup a notify box with online status of this agent
LLNotificationPtr notification;
if (online)
static const LLCachedControl<S32> behavior(gSavedSettings, "LiruOnlineNotificationBehavior", 1);
if (online && behavior)
{
notification =
LLNotifications::instance().add("FriendOnlineOffline",
args,
payload,
boost::bind(&LLAvatarActions::startIM, agent_id));
behavior == 1 ? boost::bind(&LLAvatarActions::startIM, agent_id) : (LLNotificationResponder)boost::bind(LLAvatarActions::showProfile, agent_id, false));
}
else
{
@@ -1355,38 +1355,7 @@ void send_eject(const LLUUID& avatar_id, bool ban)
}
}
static void send_estate_message(
const char* request,
const LLUUID& target)
{
LLMessageSystem* msg = gMessageSystem;
LLUUID invoice;
// This seems to provide an ID so that the sim can say which request it's
// replying to. I think this can be ignored for now.
invoice.generate();
LL_INFOS() << "Sending estate request '" << request << "'" << LL_ENDL;
msg->newMessage("EstateOwnerMessage");
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgentID);
msg->addUUIDFast(_PREHASH_SessionID, gAgentSessionID);
msg->addUUIDFast(_PREHASH_TransactionID, LLUUID::null); //not used
msg->nextBlock("MethodData");
msg->addString("Method", request);
msg->addUUID("Invoice", invoice);
// Agent id
msg->nextBlock("ParamList");
msg->addString("Parameter", gAgentID.asString().c_str());
// Target
msg->nextBlock("ParamList");
msg->addString("Parameter", target.asString().c_str());
msg->sendReliable(gAgent.getRegion()->getHost());
}
void send_estate_message(const std::string request, const std::vector<std::string>& strings);
static void cmd_append_names(const LLAvatarListEntry* entry, std::string &str, std::string &sep)
{ if(!str.empty())str.append(sep);str.append(entry->getName()); }
@@ -1398,7 +1367,8 @@ static void cmd_freeze(const LLAvatarListEntry* entry) { send_freeze(entry->get
static void cmd_unfreeze(const LLAvatarListEntry* entry) { send_freeze(entry->getID(), false); }
static void cmd_eject(const LLAvatarListEntry* entry) { send_eject(entry->getID(), false); }
static void cmd_ban(const LLAvatarListEntry* entry) { send_eject(entry->getID(), true); }
static void cmd_estate_eject(const LLAvatarListEntry* entry){ send_estate_message("teleporthomeuser", entry->getID()); }
static void cmd_estate_eject(const LLAvatarListEntry* entry){ send_estate_message("kickestate", {entry->getID().asString()}); }
static void cmd_estate_tp_home(const LLAvatarListEntry* entry){ send_estate_message("teleporthomeuser", {gAgentID.asString(), entry->getID().asString()}); }
static void cmd_estate_ban(const LLAvatarListEntry* entry) { LLPanelEstateInfo::sendEstateAccessDelta(ESTATE_ACCESS_BANNED_AGENT_ADD | ESTATE_ACCESS_ALLOWED_AGENT_REMOVE | ESTATE_ACCESS_NO_REPLY, entry->getID()); }
void LLFloaterAvatarList::doCommand(avlist_command_t func, bool single/*=false*/) const
@@ -1469,8 +1439,9 @@ void LLFloaterAvatarList::callbackEjectFromEstate(const LLSD& notification, cons
{
if (!instanceExists()) return;
LLFloaterAvatarList& inst(instance());
if (!LLNotification::getSelectedOption(notification, response)) // if == 0
inst.doCommand(cmd_estate_eject);
S32 option = LLNotification::getSelectedOption(notification, response);
if (option != 2)
inst.doCommand(option ? cmd_estate_tp_home : cmd_estate_eject);
}
//static
@@ -77,11 +77,11 @@ void LLFloaterMediaFilter::updateLists(LLMediaFilter::EMediaList list_type)
const LLMediaFilter::string_list_t& list = white ? inst.getWhiteList() : inst.getBlackList();
LLScrollListCtrl* scroll(white ? mWhitelist : mBlacklist);
scroll->clearRows();
for (LLMediaFilter::string_list_t::const_iterator itr = list.begin(); itr != list.end(); ++itr)
for (const auto& value : list)
{
LLSD element;
element["columns"][0]["column"] = "list";
element["columns"][0]["value"] = (*itr);
element["columns"][0]["value"] = value;
scroll->addElement(element);
}
enableButton(getChildView(white ? "remove_whitelist" : "remove_blacklist"), scroll);
@@ -103,9 +103,9 @@ void LLFloaterMediaFilter::onRemoveFromList(bool white)
{
std::vector<LLScrollListItem*> selected = (white ? mWhitelist : mBlacklist)->getAllSelected();
LLMediaFilter::string_vec_t domains;
for (std::vector<LLScrollListItem*>::iterator itr = selected.begin(); itr != selected.end(); ++itr)
for (auto* item : selected)
{
domains.push_back((*itr)->getColumn(0)->getValue().asString());
domains.push_back(item->getColumn(0)->getValue().asString());
}
LLMediaFilter::getInstance()->removeFromMediaList(domains, white ? LLMediaFilter::WHITELIST : LLMediaFilter::BLACKLIST);
}
@@ -1572,7 +1572,7 @@ BOOL LLFolderView::handleKeyHere( KEY key, MASK mask )
{
LLFolderViewItem* last_selected = getCurSelectedItem();
bool shift_select = mask & MASK_SHIFT;
LLFolderViewItem* next = last_selected->getNextOpenNode();
LLFolderViewItem* next = last_selected->getNextOpenNode(!shift_select);
if (!mKeyboardSelection || (!shift_select && (!next || next == last_selected)))
{
@@ -331,7 +331,7 @@ void LLGiveInventory::logInventoryOffer(const LLUUID& to_agent, const LLUUID &im
(!RlvUIEnabler::hasOpenProfile(to_agent)) )
{
// Log to chat history if the user didn't drop on an IM session or a profile to avoid revealing the name of the recipient
std::string strMsgName = "inventory_item_offered"; LLSD args; LLAvatarName avName;
std::string strMsgName = "inventory_item_offered-im"; LLSD args; LLAvatarName avName;
if (LLAvatarNameCache::get(to_agent, &avName))
{
args["NAME"] = RlvStrings::getAnonym(avName);
@@ -161,9 +161,9 @@ void LLMediaFilter::addToMediaList(const std::string& in_url, EMediaList list, b
string_list_t& p_list(list == WHITELIST ? mWhiteList : mBlackList);
// Check for duplicates
for (string_list_t::const_iterator itr = p_list.begin(); itr != p_list.end(); ++itr)
for (const auto& p : p_list)
{
if (url == *itr)
if (url == p)
{
LL_INFOS("MediaFilter") << "URL " << url << " already in list!" << LL_ENDL;
return;
@@ -177,8 +177,8 @@ void LLMediaFilter::addToMediaList(const std::string& in_url, EMediaList list, b
void LLMediaFilter::removeFromMediaList(string_vec_t domains, EMediaList list)
{
if (domains.empty()) return;
for (string_vec_t::const_iterator itr = domains.begin(); itr != domains.end(); ++itr)
(list == WHITELIST ? mWhiteList : mBlackList).remove(*itr);
for (const auto& domain : domains)
(list == WHITELIST ? mWhiteList : mBlackList).remove(domain);
mMediaListUpdate(list);
saveMediaFilterToDisk();
}
@@ -221,10 +221,10 @@ void LLMediaFilter::loadMediaFilterFromDisk()
void medialist_to_llsd(const LLMediaFilter::string_list_t& list, LLSD& list_llsd, const LLSD& action)
{
for (LLMediaFilter::string_list_t::const_iterator itr = list.begin(); itr != list.end(); ++itr)
for (const auto& domain : list)
{
LLSD item;
item["domain"] = *itr;
item["domain"] = domain;
item["action"] = action;
list_llsd.append(item);
}
@@ -352,13 +352,13 @@ bool handle_media_filter_callback(const LLSD& notification, const LLSD& response
LLParcel* queue = inst.getQueuedMedia();
switch(option)
{
case 2: // Whitelist domain
case 3: // Whitelist domain
inst.addToMediaList(url, LLMediaFilter::WHITELIST);
case 0: // Allow
if (inst.getCurrentParcel() == LLViewerParcelMgr::getInstance()->getAgentParcel())
LLViewerParcelMedia::play(parcel);
break;
case 3: // Blacklist domain
case 2: // Blacklist domain
inst.addToMediaList(url, LLMediaFilter::BLACKLIST);
case 1: // Deny
break;
@@ -1128,7 +1128,7 @@ void LLNetMap::renderPropertyLinesForRegion(const LLViewerRegion* pRegion, const
// Draw the north and east region borders
//
const F32 real_width(pRegion->getWidth());
const S32 borderY = originY + ll_round(real_width * mObjectMapTPM);
const S32 borderY = originY + ll_round(real_width * mObjectMapTPM);
if ( (borderY >= 0) && (borderY < imgHeight) )
{
S32 curX = llclamp(originX, 0, imgWidth), endX = llclamp(originX + ll_round(real_width * mObjectMapTPM), 0, imgWidth - 1);
@@ -1146,8 +1146,8 @@ const S32 borderY = originY + ll_round(real_width * mObjectMapTPM);
//
// Render parcel lines
//
static const F32 GRID_STEP = PARCEL_GRID_STEP_METERS;
static const S32 GRIDS_PER_EDGE = real_width / GRID_STEP;
const F32 GRID_STEP = PARCEL_GRID_STEP_METERS;
const S32 GRIDS_PER_EDGE = real_width / GRID_STEP;
const U8* pOwnership = pRegion->getParcelOverlay()->getOwnership();
const U8* pCollision = (pRegion->getHandle() == LLViewerParcelMgr::instance().getCollisionRegionHandle()) ? LLViewerParcelMgr::instance().getCollisionBitmap() : NULL;
View
@@ -390,9 +390,9 @@ LLButton* LLNotifyBox::addButton(const std::string& name, const std::string& lab
if (layout_script_dialog)
{
// Add two "blank" option spaces, before the "Ignore" button
index = button_index + 2;
if (button_index == 0)
// Add one "blank" option space, before the "Block" and "Ignore" buttons
index = button_index + 1;
if (button_index == 0 || button_index == 1)
{
// Ignore button is smaller, less wide
btn_height = BTN_HEIGHT_SMALL;
@@ -625,9 +625,9 @@ LLRect LLNotifyBox::getNotifyRect(S32 num_options, bool layout_script_dialog, bo
if (num_options < 1)
num_options = 1;
// Add two "blank" option spaces.
// Add one "blank" option space.
if (layout_script_dialog)
num_options += 2;
num_options += 1;
S32 additional_lines = (num_options-1) / 3;
@@ -324,7 +324,7 @@ void LLOverlayBar::refresh()
}
buttons_changed |= updateButtonVisiblity(mNotBusy, gAgent.isDoNotDisturb()) != NULL;
buttons_changed |= updateButtonVisiblity(mFlyCam,LLViewerJoystick::getInstance()->getOverrideCamera()) != NULL;
buttons_changed |= updateButtonVisiblity(mMouseLook,gAgent.isControlGrabbed(CONTROL_ML_LBUTTON_DOWN_INDEX)||gAgent.isControlGrabbed(CONTROL_ML_LBUTTON_UP_INDEX)) != NULL;
buttons_changed |= updateButtonVisiblity(mMouseLook,gAgent.isControlBlocked(CONTROL_ML_LBUTTON_DOWN_INDEX)||gAgent.isControlBlocked(CONTROL_ML_LBUTTON_UP_INDEX)) != NULL;
// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g)
// buttons_changed |= updateButtonVisiblity("Stand Up", isAgentAvatarValid() && gAgentAvatarp->isSitting()) != NULL;
buttons_changed |= updateButtonVisiblity(mStandUp,isAgentAvatarValid() && gAgentAvatarp->isSitting() && !gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) != NULL;
@@ -1324,6 +1324,7 @@ void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id)
view = getChildView("Pay...");
view->setVisible(!own_avatar);
view->setEnabled(false);
getChildView("Log")->setVisible(!own_avatar);
getChild<LLNameEditor>("avatar_key")->setText(avatar_id.asString());
Oops, something went wrong.

0 comments on commit 9dbdf75

Please sign in to comment.