Permalink
Browse files

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

  • Loading branch information...
2 parents 583ea76 + 1f53b80 commit 9dbdf75c1448ccb8d1990adc672e533a9f31c76a @Shyotl Shyotl committed Aug 23, 2016
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.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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;
@@ -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.