Merge branch 'opensim:master' into master

This commit is contained in:
Adil El Farissi 2024-09-15 20:03:27 +00:00 committed by GitHub
commit fbd0053581
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 42 additions and 6 deletions

View file

@ -1099,14 +1099,18 @@ namespace OpenSim.Framework
/// Is the platform Windows?
/// </summary>
/// <returns>true if so, false otherwise</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsWindows()
{
return RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
/*
PlatformID platformId = Environment.OSVersion.Platform;
return (platformId == PlatformID.Win32NT
|| platformId == PlatformID.Win32S
|| platformId == PlatformID.Win32Windows
|| platformId == PlatformID.WinCE);
*/
}
public static bool LoadArchSpecificWindowsDll(string libraryName)
@ -3100,6 +3104,39 @@ namespace OpenSim.Framework
return false;
}
[DllImport("winmm.dll")]
private static extern uint timeBeginPeriod(uint period);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TimeBeginPeriod(uint period)
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
timeBeginPeriod(period);
}
[DllImport("winmm.dll")]
private static extern uint timeEndPeriod(uint period);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TimeEndPeriod(uint period)
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
timeEndPeriod(period);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ThreadSleep(int period)
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
timeEndPeriod(1);
Thread.Sleep(period);
timeEndPeriod(1);
}
else
Thread.Sleep(period);
}
/// <summary>
/// Used to trigger an early library load on Windows systems.
/// </summary>

View file

@ -2336,9 +2336,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
return false;
}
bool notSameOwner = srcsog.OwnerID.NotEqual(destsog.OwnerID);
if(notSameOwner)
if(srcsog.OwnerID.NotEqual(destsog.OwnerID))
{
if((itperms & (uint)PermissionMask.Transfer) == 0)
return false;
@ -2350,7 +2348,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions
}
else
{
if((destsogEffectiveOwnerPerms & (uint)PermissionMask.Modify) == 0)
if((destsogEffectiveOwnerPerms & (uint)PermissionMask.Modify) == 0 &&
(destsog.RootPart.GetEffectiveObjectFlags() & (uint)PrimFlags.AllowInventoryDrop) == 0)
return false;
}

View file

@ -154,7 +154,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
while (++comma < str.Length)
{
c = Unsafe.Add(ref MemoryMarshal.GetReference(str), comma);
if (c == ' ' || c == '>')
if (c == '>')
break;
}
@ -575,7 +575,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
while (++comma < str.Length)
{
c = Unsafe.Add(ref MemoryMarshal.GetReference(str), comma);
if (c == ' ' || c == '>')
if (c == '>')
break;
}