From e7d6a0353005903fd393069890a1993f8ba07738 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Mon, 12 Jan 2015 13:40:25 +0100 Subject: [PATCH] Adjust new default perms for OpenSim: * Only use our old new object perms method if we are not in SL or using caps resulted in an error * Removed new object perms settings from Firestorm preferences panel as they are now set via the new default perms floater --- indra/newview/fscommon.cpp | 53 +++++++----- indra/newview/llfloaterperms.cpp | 15 +++- indra/newview/llfloaterperms.h | 5 ++ .../xui/de/panel_preferences_firestorm.xml | 15 ---- .../xui/en/panel_preferences_firestorm.xml | 85 +------------------ .../xui/es/panel_preferences_firestorm.xml | 15 ---- .../xui/fr/panel_preferences_firestorm.xml | 24 ------ .../xui/ja/panel_preferences_firestorm.xml | 17 ---- .../xui/pl/panel_preferences_firestorm.xml | 15 ---- 9 files changed, 48 insertions(+), 196 deletions(-) diff --git a/indra/newview/fscommon.cpp b/indra/newview/fscommon.cpp index 8276824216..26d560e8e8 100644 --- a/indra/newview/fscommon.cpp +++ b/indra/newview/fscommon.cpp @@ -32,6 +32,7 @@ #include "llagent.h" #include "llavataractions.h" #include "llavatarnamecache.h" +#include "llfloaterperms.h" #include "llinventorymodel.h" #include "llnotificationmanager.h" #include "llnotificationsutil.h" // reportToNearbyChat @@ -216,30 +217,36 @@ void FSCommon::applyDefaultBuildPreferences(LLViewerObject* object) } } } - + U32 object_local_id = object->getLocalID(); - gMessageSystem->newMessageFast(_PREHASH_ObjectPermissions); - gMessageSystem->nextBlockFast(_PREHASH_AgentData); - gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); - gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); - gMessageSystem->nextBlockFast(_PREHASH_HeaderData); - gMessageSystem->addBOOLFast(_PREHASH_Override, (BOOL)FALSE); - gMessageSystem->nextBlockFast(_PREHASH_ObjectData); - gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); - gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER); - gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("NextOwnerModify")); - gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_MODIFY); - gMessageSystem->nextBlockFast(_PREHASH_ObjectData); - gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); - gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER); - gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("NextOwnerCopy")); - gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_COPY); - gMessageSystem->nextBlockFast(_PREHASH_ObjectData); - gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); - gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER); - gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("NextOwnerTransfer")); - gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_TRANSFER); - gMessageSystem->sendReliable(object->getRegion()->getHost()); + +#ifdef OPENSIM + if (!LLGridManager::getInstance()->isInSecondLife() || !LLFloaterPermsDefault::getCapSent()) + { + gMessageSystem->newMessageFast(_PREHASH_ObjectPermissions); + gMessageSystem->nextBlockFast(_PREHASH_AgentData); + gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); + gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); + gMessageSystem->nextBlockFast(_PREHASH_HeaderData); + gMessageSystem->addBOOLFast(_PREHASH_Override, (BOOL)FALSE); + gMessageSystem->nextBlockFast(_PREHASH_ObjectData); + gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); + gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER); + gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("ObjectsNextOwnerModify")); + gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_MODIFY); + gMessageSystem->nextBlockFast(_PREHASH_ObjectData); + gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); + gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER); + gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("ObjectsNextOwnerCopy")); + gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_COPY); + gMessageSystem->nextBlockFast(_PREHASH_ObjectData); + gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); + gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER); + gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("ObjectsNextOwnerTransfer")); + gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_TRANSFER); + gMessageSystem->sendReliable(object->getRegion()->getHost()); + } +#endif gMessageSystem->newMessage(_PREHASH_ObjectFlagUpdate); gMessageSystem->nextBlockFast(_PREHASH_AgentData); diff --git a/indra/newview/llfloaterperms.cpp b/indra/newview/llfloaterperms.cpp index 0880a5f35a..1a666d7bf3 100755 --- a/indra/newview/llfloaterperms.cpp +++ b/indra/newview/llfloaterperms.cpp @@ -97,7 +97,10 @@ U32 LLFloaterPerms::getNextOwnerPermsInverted(std::string prefix) return flags; } -static bool mCapSent = false; +// Getter for CapSent +//static bool mCapSent = false; +bool LLFloaterPermsDefault::sCapSent = false; +// LLFloaterPermsDefault::LLFloaterPermsDefault(const LLSD& seed) : LLFloater(seed) @@ -196,7 +199,10 @@ private: void LLFloaterPermsDefault::sendInitialPerms() { - if(!mCapSent) + // Getter for CapSent + //if(!mCapSent) + if (!sCapSent) + // { updateCap(); } @@ -222,7 +228,10 @@ void LLFloaterPermsDefault::updateCap() void LLFloaterPermsDefault::setCapSent(bool cap_sent) { - mCapSent = cap_sent; + // Getter for CapSent + //mCapSent = cap_sent; + sCapSent = cap_sent; + // } void LLFloaterPermsDefault::ok() diff --git a/indra/newview/llfloaterperms.h b/indra/newview/llfloaterperms.h index 2bb0a19dc1..3333019580 100755 --- a/indra/newview/llfloaterperms.h +++ b/indra/newview/llfloaterperms.h @@ -62,6 +62,8 @@ public: static void sendInitialPerms(); static void updateCap(); static void setCapSent(bool cap_sent); + // Getter for CapSent + static bool getCapSent() { return sCapSent; } // Update instantiation of sCategoryNames in the .cpp file to match if you change this! enum Categories @@ -87,6 +89,9 @@ private: bool mNextOwnerCopy[CAT_LAST]; bool mNextOwnerModify[CAT_LAST]; bool mNextOwnerTransfer[CAT_LAST]; + + // Getter for CapSent + static bool sCapSent; }; #endif diff --git a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml index 3a111022c8..127e9cd171 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml @@ -300,21 +300,6 @@ Aktuell gesetzt: [ITEM] - - - Berechtigungen - - - Nächster Besitzer: - - - - - - Werden auch für neue - - - Uploads verwendet. Drehpunkt diff --git a/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml index 97feb54a7a..0f9c6ed55d 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml @@ -1980,90 +1980,7 @@ - Permissions - - - - Next Owner: - - - - - - - - - - This will also apply - - - to new uploads. - - - Actualmente establecido a: [ITEM] - - Permisos - - - Próximo propietario: - - - - - - También se aplicará - - - a las nuevas subidas. - Punto de pivotaje diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml index 875f1acc43..6ace3456b2 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml @@ -424,30 +424,6 @@ tool_tip="Item actuellement intégré."> Item actuel : [ITEM] - - - Droits - - - Proch. propriétaire : - - - - - - - - S'appliquera aussi à - - - tout nouv. télécharg. - Pivot diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml index 90c84235d1..75edbc3e92 100644 --- a/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/ja/panel_preferences_firestorm.xml @@ -354,23 +354,6 @@ - - 権限 - - - - 次のオーナー: - - - - - - この設定は新規アップ - - - ロードにも適用される - - 回転の中心 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml index 2f1e53ee5d..7653924cf1 100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml @@ -275,21 +275,6 @@ Obecnie: [ITEM] - - Zezwolenia - - - Nast. właściciel: - - - - - - To się także odnosi - - - do nowych importów. - Punkt obracania osi