Merge remote-tracking branch 'singu/master' into curlthreading2
Conflicts: indra/llcommon/CMakeLists.txt indra/llmessage/llcurl.cpp indra/llmessage/llcurl.h indra/llmessage/llhttpclient.cpp indra/llmessage/llhttpclient.h indra/llmessage/llpumpio.cpp indra/llmessage/llpumpio.h indra/llmessage/llurlrequest.cpp indra/llmessage/llurlrequest.h indra/newview/hipporestrequest.cpp indra/newview/llappviewer.cpp indra/newview/llspatialpartition.cpp indra/newview/llviewermedia.cpp indra/newview/llxmlrpctransaction.cpp Conflicts resolved by choosing curlthreading2 for any llmessage file regardless (which looks correct upon investigation); the rest also turned out to need to use curlthreading2, except in one line where I added a semi-colon after an assert(), and the assert was changed in singu/master.
This commit is contained in:
@@ -143,6 +143,7 @@
|
||||
#include "llfloaterperms.h"
|
||||
#include "llfloaterpostprocess.h"
|
||||
#include "llfloaterpreference.h"
|
||||
#include "llfloaterregiondebugconsole.h"
|
||||
#include "llfloaterregioninfo.h"
|
||||
#include "llfloaterreporter.h"
|
||||
#include "llfloaterscriptdebug.h"
|
||||
@@ -245,7 +246,6 @@
|
||||
#include "lltexlayer.h"
|
||||
|
||||
// <edit>
|
||||
#include "dofloaterhex.h"
|
||||
#include "hgfloatertexteditor.h"
|
||||
#include "llfloatervfs.h"
|
||||
#include "llfloatervfsexplorer.h"
|
||||
@@ -260,6 +260,7 @@
|
||||
#include "slfloatermediafilter.h"
|
||||
#include "llviewerobjectbackup.h"
|
||||
#include "llagentui.h"
|
||||
#include "llpathfindingmanager.h"
|
||||
|
||||
#include "hippogridmanager.h"
|
||||
|
||||
@@ -374,7 +375,6 @@ void near_sit_object();
|
||||
BOOL is_selection_buy_not_take();
|
||||
S32 selection_price();
|
||||
BOOL enable_take();
|
||||
void handle_take();
|
||||
bool confirm_take(const LLSD& notification, const LLSD& response, LLObjectSelectionHandle selection_handle);
|
||||
|
||||
void handle_buy_object(LLSaleInfo sale_info);
|
||||
@@ -419,6 +419,21 @@ void handle_god_mode(void*);
|
||||
// God menu
|
||||
void handle_leave_god_mode(void*);
|
||||
|
||||
//Generic handler for singleton-based floaters.
|
||||
template<typename T>
|
||||
BOOL handle_singleton_check(void *)
|
||||
{
|
||||
return T::instanceExists();
|
||||
}
|
||||
template<typename T>
|
||||
void handle_singleton_toggle(void *)
|
||||
{
|
||||
if(!T::instanceExists())
|
||||
T::getInstance();
|
||||
else
|
||||
T::getInstance()->close();
|
||||
}
|
||||
|
||||
// <edit>
|
||||
void handle_fake_away_status(void*);
|
||||
void handle_area_search(void*);
|
||||
@@ -474,7 +489,6 @@ void handle_force_ground_sit(void*);
|
||||
void handle_phantom_avatar(void*);
|
||||
void handle_hide_typing_notification(void*);
|
||||
void handle_close_all_notifications(void*);
|
||||
void handle_reopen_with_hex_editor(void*);
|
||||
//void handle_open_message_log(void*);
|
||||
void handle_edit_ao(void*);
|
||||
void handle_local_assets(void*);
|
||||
@@ -549,7 +563,6 @@ BOOL get_visibility(void*);
|
||||
void request_friendship(const LLUUID& agent_id);
|
||||
|
||||
// Tools menu
|
||||
void handle_force_unlock(void*);
|
||||
void handle_selected_texture_info(void*);
|
||||
void handle_dump_image_list(void*);
|
||||
|
||||
@@ -812,7 +825,7 @@ void init_menus()
|
||||
menu->addChild(new LLMenuItemCallGL( "Asset Blacklist",
|
||||
&handle_blacklist, NULL));
|
||||
menu->addChild(new LLMenuItemCheckGL( "Streaming Audio Display",
|
||||
&handle_ticker_toggle, &handle_ticker_enabled, &handle_ticker_check, NULL ));
|
||||
&handle_ticker_toggle, &handle_ticker_enabled, &handle_singleton_check<SHFloaterMediaTicker>, NULL ));
|
||||
|
||||
|
||||
|
||||
@@ -1283,6 +1296,7 @@ void init_debug_ui_menu(LLMenuGL* menu)
|
||||
(void*)"DoubleClickTeleport"));
|
||||
menu->addSeparator();
|
||||
// menu->addChild(new LLMenuItemCallGL( "Print Packets Lost", &print_packets_lost, NULL, NULL, 'L', MASK_SHIFT ));
|
||||
menu->addChild(new LLMenuItemCheckGL("Region Debug", handle_singleton_toggle<LLFloaterRegionDebugConsole>, NULL, handle_singleton_check<LLFloaterRegionDebugConsole>,NULL,'`', MASK_CONTROL|MASK_SHIFT));
|
||||
menu->addChild(new LLMenuItemCheckGL("Debug SelectMgr", menu_toggle_control, NULL, menu_check_control, (void*)"DebugSelectMgr"));
|
||||
menu->addChild(new LLMenuItemToggleGL("Debug Clicks", &gDebugClicks));
|
||||
menu->addChild(new LLMenuItemToggleGL("Debug Views", &LLView::sDebugRects));
|
||||
@@ -2686,48 +2700,51 @@ class LLObjectMeasure : public view_listener_t
|
||||
{
|
||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||
{
|
||||
LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
|
||||
if(object)
|
||||
static LLVector3 startMeasurePoint = LLVector3::zero;
|
||||
static bool startpoint_set = false;
|
||||
|
||||
LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getFirstObject();
|
||||
if(!object)
|
||||
return false;
|
||||
|
||||
LLVector3 position = object->getPositionEdit();
|
||||
|
||||
LLChat chat;
|
||||
chat.mSourceType = CHAT_SOURCE_SYSTEM;
|
||||
|
||||
if (!startpoint_set)
|
||||
{
|
||||
LLChat chat;
|
||||
chat.mSourceType = CHAT_SOURCE_SYSTEM;
|
||||
|
||||
if (LLAgent::exlStartMeasurePoint.isExactlyZero())
|
||||
{
|
||||
LLAgent::exlStartMeasurePoint = object->getPosition();
|
||||
startMeasurePoint = position;
|
||||
startpoint_set = true;
|
||||
|
||||
chat.mText = llformat("Start point set");
|
||||
LLFloaterChat::addChat(chat);
|
||||
}
|
||||
else if (LLAgent::exlEndMeasurePoint.isExactlyZero())
|
||||
{
|
||||
LLAgent::exlEndMeasurePoint = object->getPosition();
|
||||
|
||||
chat.mText = llformat("End point set");
|
||||
LLFloaterChat::addChat(chat);
|
||||
}
|
||||
else
|
||||
{
|
||||
LLAgent::exlStartMeasurePoint = LLVector3::zero;
|
||||
LLAgent::exlEndMeasurePoint = LLVector3::zero;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!LLAgent::exlStartMeasurePoint.isExactlyZero() && !LLAgent::exlEndMeasurePoint.isExactlyZero())
|
||||
{
|
||||
F32 fdist = dist_vec(LLAgent::exlStartMeasurePoint, LLAgent::exlEndMeasurePoint);
|
||||
LLAgent::exlStartMeasurePoint = LLVector3::zero;
|
||||
LLAgent::exlEndMeasurePoint = LLVector3::zero;
|
||||
|
||||
chat.mText = llformat("Distance: %fm", fdist);
|
||||
LLFloaterChat::addChat(chat);
|
||||
}
|
||||
chat.mText = llformat("Start point set");
|
||||
LLFloaterChat::addChat(chat);
|
||||
}
|
||||
else
|
||||
{
|
||||
chat.mText = llformat("End point set");
|
||||
LLFloaterChat::addChat(chat);
|
||||
|
||||
F32 fdist = dist_vec(startMeasurePoint, position);
|
||||
|
||||
chat.mText = llformat("Distance: %fm", fdist);
|
||||
LLFloaterChat::addChat(chat);
|
||||
startpoint_set = false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
bool enable_object_select_in_pathfinding_linksets()
|
||||
{
|
||||
return LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLSelectMgr::getInstance()->selectGetEditableLinksets();
|
||||
}
|
||||
|
||||
bool enable_object_select_in_pathfinding_characters()
|
||||
{
|
||||
return LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLSelectMgr::getInstance()->selectGetViewableCharacters();
|
||||
}
|
||||
|
||||
class LLAvatarAnims : public view_listener_t
|
||||
{
|
||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||
@@ -3639,11 +3656,6 @@ void process_grant_godlike_powers(LLMessageSystem* msg, void**)
|
||||
|
||||
// <edit>
|
||||
|
||||
void handle_reopen_with_hex_editor(void*)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*void handle_open_message_log(void*)
|
||||
{
|
||||
LLFloaterMessageLog::show();
|
||||
@@ -4509,8 +4521,9 @@ static bool get_derezzable_objects(
|
||||
{
|
||||
case DRD_TAKE_INTO_AGENT_INVENTORY:
|
||||
case DRD_TRASH:
|
||||
if( (node->mPermissions->allowTransferTo(gAgent.getID()) && object->permModify())
|
||||
|| (node->allowOperationOnNode(PERM_OWNER, GP_OBJECT_MANIPULATE)) )
|
||||
if (!object->isPermanentEnforced() &&
|
||||
((node->mPermissions->allowTransferTo(gAgent.getID()) && object->permModify())
|
||||
|| (node->allowOperationOnNode(PERM_OWNER, GP_OBJECT_MANIPULATE))))
|
||||
{
|
||||
can_derez_current = TRUE;
|
||||
}
|
||||
@@ -4930,9 +4943,10 @@ BOOL enable_take()
|
||||
return TRUE;
|
||||
}
|
||||
# endif
|
||||
if((node->mPermissions->allowTransferTo(gAgent.getID())
|
||||
if(!object->isPermanentEnforced() &&
|
||||
((node->mPermissions->allowTransferTo(gAgent.getID())
|
||||
&& object->permModify())
|
||||
|| (node->mPermissions->getOwner() == gAgent.getID()))
|
||||
|| (node->mPermissions->getOwner() == gAgent.getID())))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
@@ -5176,6 +5190,7 @@ class LLToolsSaveToInventory : public view_listener_t
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class LLToolsSaveToObjectInventory : public view_listener_t
|
||||
{
|
||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||
@@ -5190,6 +5205,22 @@ class LLToolsSaveToObjectInventory : public view_listener_t
|
||||
}
|
||||
};
|
||||
|
||||
class LLToolsEnablePathfinding : public view_listener_t
|
||||
{
|
||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||
{
|
||||
return (LLPathfindingManager::getInstance() != NULL) && LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion();
|
||||
}
|
||||
};
|
||||
|
||||
class LLToolsEnablePathfindingView : public view_listener_t
|
||||
{
|
||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||
{
|
||||
return (LLPathfindingManager::getInstance() != NULL) && LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLPathfindingManager::getInstance()->isPathfindingViewEnabled();
|
||||
}
|
||||
};
|
||||
|
||||
// Round the position of all root objects to the grid
|
||||
class LLToolsSnapObjectXY : public view_listener_t
|
||||
{
|
||||
@@ -6321,30 +6352,6 @@ void dump_inventory(void*)
|
||||
gInventory.dumpInventory();
|
||||
}
|
||||
|
||||
// forcibly unlock an object
|
||||
void handle_force_unlock(void*)
|
||||
{
|
||||
// First, make it public.
|
||||
LLSelectMgr::getInstance()->sendOwner(LLUUID::null, LLUUID::null, TRUE);
|
||||
|
||||
// Second, lie to the viewer and mark it editable and unowned
|
||||
|
||||
struct f : public LLSelectedObjectFunctor
|
||||
{
|
||||
virtual bool apply(LLViewerObject* object)
|
||||
{
|
||||
object->mFlags |= FLAGS_OBJECT_MOVE;
|
||||
object->mFlags |= FLAGS_OBJECT_MODIFY;
|
||||
object->mFlags |= FLAGS_OBJECT_COPY;
|
||||
|
||||
object->mFlags &= ~FLAGS_OBJECT_ANY_OWNER;
|
||||
object->mFlags &= ~FLAGS_OBJECT_YOU_OWNER;
|
||||
return true;
|
||||
}
|
||||
} func;
|
||||
LLSelectMgr::getInstance()->getSelection()->applyToObjects(&func);
|
||||
}
|
||||
|
||||
void handle_dump_followcam(void*)
|
||||
{
|
||||
LLFollowCamMgr::dump();
|
||||
@@ -7305,6 +7312,7 @@ BOOL object_selected_and_point_valid(void *user_data)
|
||||
return (selection->getRootObjectCount() == 1) &&
|
||||
(selection->getFirstRootObject()->getPCode() == LL_PCODE_VOLUME) &&
|
||||
selection->getFirstRootObject()->permYouOwner() &&
|
||||
!selection->getFirstRootObject()->flagObjectPermanent() &&
|
||||
!((LLViewerObject*)selection->getFirstRootObject()->getRoot())->isAvatar() &&
|
||||
(selection->getFirstRootObject()->getNVPair("AssetContainer") == NULL);
|
||||
}
|
||||
@@ -7980,8 +7988,8 @@ BOOL enable_save_into_inventory(void*)
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
BOOL enable_save_into_task_inventory(void*)
|
||||
@@ -9387,6 +9395,9 @@ void initialize_menus()
|
||||
addMenu(new LLToolsEnableTakeCopy(), "Tools.EnableTakeCopy");
|
||||
addMenu(new LLToolsEnableSaveToObjectInventory(), "Tools.SaveToObjectInventory");
|
||||
|
||||
addMenu(new LLToolsEnablePathfinding(), "Tools.EnablePathfinding");
|
||||
addMenu(new LLToolsEnablePathfindingView(), "Tools.EnablePathfindingView");
|
||||
|
||||
/*addMenu(new LLToolsVisibleBuyObject(), "Tools.VisibleBuyObject");
|
||||
addMenu(new LLToolsVisibleTakeObject(), "Tools.VisibleTakeObject");*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user