Merge branch 'master' of git://github.com/siana/SingularityViewer
This commit is contained in:
@@ -44,19 +44,22 @@
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
namespace {
|
||||
inline DWORD getpid() {
|
||||
return GetCurrentProcessId();
|
||||
}
|
||||
static U32 getPID() {
|
||||
return GetCurrentProcessId();
|
||||
}
|
||||
|
||||
bool isProcessAlive(U32 pid)
|
||||
static bool isProcessAlive(U32 pid)
|
||||
{
|
||||
return (bool) GetProcessVersion((DWORD)pid);
|
||||
}
|
||||
|
||||
#else //Everyone Else
|
||||
bool isProcessAlive(U32 pid)
|
||||
|
||||
static U32 getPID() {
|
||||
return getpid();
|
||||
}
|
||||
|
||||
static bool isProcessAlive(U32 pid)
|
||||
{
|
||||
return (bool) kill( (pid_t)pid, 0);
|
||||
}
|
||||
@@ -71,7 +74,7 @@ class LLPidLockFile
|
||||
mAutosave(false),
|
||||
mSaving(false),
|
||||
mWaiting(false),
|
||||
mPID(getpid()),
|
||||
mPID(getPID()),
|
||||
mNameTable(NULL),
|
||||
mClean(true)
|
||||
{
|
||||
|
||||
@@ -47,19 +47,19 @@ namespace LLPidLock
|
||||
|
||||
bool requestLock( LLNameTable<void *> *name_table=NULL, bool autosave=TRUE,
|
||||
bool force_immediate=FALSE, F32 timeout=300.0);
|
||||
bool checkLock();
|
||||
void releaseLock();
|
||||
bool isClean();
|
||||
bool checkLock();
|
||||
void releaseLock();
|
||||
bool isClean();
|
||||
|
||||
//getters
|
||||
LLNameTable<void *> * getNameTable();
|
||||
bool getAutosave();
|
||||
bool getClean();
|
||||
std::string getSaveName();
|
||||
LLNameTable<void *> * getNameTable();
|
||||
bool getAutosave();
|
||||
bool getClean();
|
||||
std::string getSaveName();
|
||||
|
||||
//setters
|
||||
void setClean(bool clean);
|
||||
void setSaveName(std::string savename);
|
||||
void setClean(bool clean);
|
||||
void setSaveName(std::string savename);
|
||||
};
|
||||
|
||||
#endif // LL_PIDLOCK_H
|
||||
|
||||
@@ -1096,7 +1096,7 @@ bool RlvFolderLocks::getLockedFolders(const folderlock_source_t& lockSource, LLI
|
||||
case ST_WEARABLETYPE:
|
||||
{
|
||||
RLV_ASSERT( ((ST_ATTACHMENTPOINT == lockSource.first) && (typeid(S32) == lockSource.second.type())) ||
|
||||
((ST_WEARABLETYPE == lockSource.first) && (typeid(EWearableType) == lockSource.second.type())) );
|
||||
((ST_WEARABLETYPE == lockSource.first) && (typeid(LLWearableType::EType) == lockSource.second.type())) );
|
||||
|
||||
uuid_vec_t idItems;
|
||||
if (ST_ATTACHMENTPOINT == lockSource.first)
|
||||
@@ -1286,6 +1286,9 @@ void RlvFolderLocks::refreshLockedLookups() const
|
||||
case LLAssetType::AT_OBJECT:
|
||||
m_LockedAttachmentRem.push_back(pItem->getLinkedUUID());
|
||||
break;
|
||||
default:
|
||||
RLV_ASSERT(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -568,7 +568,7 @@ inline bool RlvWearableLocks::isLockedWearable(const LLWearable* pWearable) cons
|
||||
RLV_ASSERT(pWearable);
|
||||
return
|
||||
(pWearable) &&
|
||||
( (isLockedWearableType(pWearable->getType(), RLV_LOCK_REMOVE)) || (RlvFolderLocks::instance().isLockedWearable(pWearable->getItemID())) );
|
||||
( (isLockedWearableType(pWearable->getType(), RLV_LOCK_REMOVE)) || (RlvFolderLocks::instance().isLockedWearable(pWearable->getItemID())) );
|
||||
}
|
||||
|
||||
// Checked: 2010-03-19 (RLVa-1.2.0c) | Added: RLVa-1.2.0a
|
||||
@@ -630,12 +630,13 @@ inline bool RlvFolderLocks::canRemoveFolder(const LLUUID& idFolder) const
|
||||
// Checked: 2011-03-29 (RLVa-1.3.0g) | Added: RLVa-1.3.0g
|
||||
inline bool RlvFolderLocks::canRenameFolder(const LLUUID& idFolder) const
|
||||
{
|
||||
// Block renaming a folder if:
|
||||
/* Block renaming a folder if:
|
||||
// - the folder (or one of its descendents) is explicitly locked by:
|
||||
// -> a "shared path" => renaming the folder would change the shared path and hence invalidate the lock
|
||||
// -> an attachment point \
|
||||
// -> an attachment |--> renaming the folder to a "dot" (=invisible) folder would invalidate the lock
|
||||
// -> a wearable type /
|
||||
*/
|
||||
return !hasLockedFolderDescendent(idFolder, ST_SHAREDPATH | ST_ATTACHMENT | ST_ATTACHMENTPOINT | ST_WEARABLETYPE, PERM_MASK_ANY, RLV_LOCK_ANY, true);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user