More elegant solution to keep fix for MAINT-2879
parent
79e09fa942
commit
27fd7fdee6
|
|
@ -63,6 +63,7 @@
|
|||
#include "llpaneltopinfobar.h"
|
||||
#include "llparcel.h"
|
||||
#include "llrendersphere.h"
|
||||
#include "llscriptruntimeperms.h"
|
||||
#include "llsdmessage.h"
|
||||
#include "llsdutil.h"
|
||||
#include "llsky.h"
|
||||
|
|
@ -4173,48 +4174,7 @@ void LLAgent::stopCurrentAnimations()
|
|||
if (mRegionp &&
|
||||
gSavedSettings.getBOOL("RevokePermsOnStopAnimation"))
|
||||
{
|
||||
typedef enum e_lscript_runtime_permissions
|
||||
{
|
||||
SCRIPT_PERMISSION_DEBIT,
|
||||
SCRIPT_PERMISSION_TAKE_CONTROLS,
|
||||
SCRIPT_PERMISSION_REMAP_CONTROLS,
|
||||
SCRIPT_PERMISSION_TRIGGER_ANIMATION,
|
||||
SCRIPT_PERMISSION_ATTACH,
|
||||
SCRIPT_PERMISSION_RELEASE_OWNERSHIP,
|
||||
SCRIPT_PERMISSION_CHANGE_LINKS,
|
||||
SCRIPT_PERMISSION_CHANGE_JOINTS,
|
||||
SCRIPT_PERMISSION_CHANGE_PERMISSIONS,
|
||||
SCRIPT_PERMISSION_TRACK_CAMERA,
|
||||
SCRIPT_PERMISSION_CONTROL_CAMERA,
|
||||
SCRIPT_PERMISSION_TELEPORT,
|
||||
SCRIPT_PERMISSION_EXPERIENCE,
|
||||
SCRIPT_PERMISSION_SILENT_ESTATE_MANAGEMENT,
|
||||
SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS,
|
||||
SCRIPT_PERMISSION_RETURN_OBJECTS,
|
||||
SCRIPT_PERMISSION_EOF
|
||||
} LSCRIPTRunTimePermissions;
|
||||
|
||||
const U32 LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_EOF] =
|
||||
{
|
||||
(0x1 << 1), // SCRIPT_PERMISSION_DEBIT,
|
||||
(0x1 << 2), // SCRIPT_PERMISSION_TAKE_CONTROLS,
|
||||
(0x1 << 3), // SCRIPT_PERMISSION_REMAP_CONTROLS,
|
||||
(0x1 << 4), // SCRIPT_PERMISSION_TRIGGER_ANIMATION,
|
||||
(0x1 << 5), // SCRIPT_PERMISSION_ATTACH,
|
||||
(0x1 << 6), // SCRIPT_PERMISSION_RELEASE_OWNERSHIP,
|
||||
(0x1 << 7), // SCRIPT_PERMISSION_CHANGE_LINKS,
|
||||
(0x1 << 8), // SCRIPT_PERMISSION_CHANGE_JOINTS,
|
||||
(0x1 << 9), // SCRIPT_PERMISSION_CHANGE_PERMISSIONS
|
||||
(0x1 << 10),// SCRIPT_PERMISSION_TRACK_CAMERA
|
||||
(0x1 << 11),// SCRIPT_PERMISSION_CONTROL_CAMERA
|
||||
(0x1 << 12),// SCRIPT_PERMISSION_TELEPORT
|
||||
(0x1 << 13),// SCRIPT_PERMISSION_EXPERIENCE
|
||||
(0x1 << 14),// SCRIPT_PERMISSION_SILENT_ESTATE_MANAGEMENT
|
||||
(0x1 << 15),// SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS
|
||||
(0x1 << 16),// SCRIPT_PERMISSION_RETURN_OBJECTS
|
||||
};
|
||||
|
||||
U32 permissions = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRIGGER_ANIMATION] | LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS];
|
||||
U32 permissions = SCRIPT_PERMISSIONS[SCRIPT_PERMISSION_TRIGGER_ANIMATION].permbit | SCRIPT_PERMISSIONS[SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS].permbit;
|
||||
sendRevokePermissions(mRegionp->getRegionID(), permissions);
|
||||
if (gAgentAvatarp->isSitting())
|
||||
{ // Also stand up, since auto-granted sit animation permission has been revoked
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
#ifndef LL_LLSCRIPTRUNTIME_PERMS_H
|
||||
#define LL_LLSCRIPTRUNTIME_PERMS_H
|
||||
|
||||
#include <boost/array.hpp>
|
||||
|
||||
typedef struct _script_perm {
|
||||
std::string question;
|
||||
U32 permbit;
|
||||
|
|
@ -37,6 +39,8 @@ typedef struct _script_perm {
|
|||
|
||||
const U32 NUM_SCRIPT_PERMISSIONS = 16;
|
||||
const S32 SCRIPT_PERMISSION_DEBIT = 0;
|
||||
const S32 SCRIPT_PERMISSION_TRIGGER_ANIMATION = 3;
|
||||
const S32 SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS = 14;
|
||||
|
||||
static const boost::array<script_perm_t, NUM_SCRIPT_PERMISSIONS> SCRIPT_PERMISSIONS = {{
|
||||
_script_perm("ScriptTakeMoney", (0x1 << 1), true),
|
||||
|
|
|
|||
Loading…
Reference in New Issue