Merge branch 'ubitwork' of ssh://3dhosting.de/var/git/careminster into ubitwork
commit
bfd38ecad4
|
@ -268,6 +268,39 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
else if (im.dialog == (byte) InstantMessageDialog.InventoryAccepted ||
|
else if (im.dialog == (byte) InstantMessageDialog.InventoryAccepted ||
|
||||||
im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
|
im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
|
||||||
{
|
{
|
||||||
|
UUID inventoryID = new UUID(im.imSessionID); // The inventory item/folder, back from it's trip
|
||||||
|
IInventoryService invService = scene.InventoryService;
|
||||||
|
|
||||||
|
// Special case: folder redirect.
|
||||||
|
// RLV uses this
|
||||||
|
if (im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
|
||||||
|
{
|
||||||
|
InventoryFolderBase folder = new InventoryFolderBase(inventoryID, client.AgentId);
|
||||||
|
folder = invService.GetFolder(folder);
|
||||||
|
|
||||||
|
if (folder != null)
|
||||||
|
{
|
||||||
|
if (im.binaryBucket.Length >= 16)
|
||||||
|
{
|
||||||
|
UUID destFolderID = new UUID(im.binaryBucket, 0);
|
||||||
|
if (destFolderID != UUID.Zero)
|
||||||
|
{
|
||||||
|
InventoryFolderBase destFolder = new InventoryFolderBase(destFolderID, client.AgentId);
|
||||||
|
destFolder = invService.GetFolder(destFolder);
|
||||||
|
if (destFolder != null)
|
||||||
|
{
|
||||||
|
if (folder.ParentID != destFolder.ID)
|
||||||
|
{
|
||||||
|
folder.ParentID = destFolder.ID;
|
||||||
|
invService.MoveFolder(folder);
|
||||||
|
client.SendBulkUpdateInventory(folder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ScenePresence user = scene.GetScenePresence(new UUID(im.toAgentID));
|
ScenePresence user = scene.GetScenePresence(new UUID(im.toAgentID));
|
||||||
|
|
||||||
if (user != null) // Local
|
if (user != null) // Local
|
||||||
|
|
|
@ -263,7 +263,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
private bool m_occupied; // KF if any av is sitting on this prim
|
private bool m_occupied; // KF if any av is sitting on this prim
|
||||||
private string m_text = String.Empty;
|
private string m_text = String.Empty;
|
||||||
private string m_touchName = String.Empty;
|
private string m_touchName = String.Empty;
|
||||||
private UndoRedoState m_UndoRedo = new UndoRedoState(5);
|
private UndoRedoState m_UndoRedo = null;
|
||||||
|
|
||||||
private bool m_passTouches;
|
private bool m_passTouches;
|
||||||
|
|
||||||
|
@ -1706,7 +1706,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
dupe.Category = Category;
|
dupe.Category = Category;
|
||||||
dupe.m_rezzed = m_rezzed;
|
dupe.m_rezzed = m_rezzed;
|
||||||
|
|
||||||
dupe.m_UndoRedo = new UndoRedoState(5);
|
dupe.m_UndoRedo = null;
|
||||||
|
|
||||||
dupe.IgnoreUndoUpdate = false;
|
dupe.IgnoreUndoUpdate = false;
|
||||||
dupe.Undoing = false;
|
dupe.Undoing = false;
|
||||||
|
@ -3646,6 +3646,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public void StoreUndoState(ObjectChangeWhat what)
|
public void StoreUndoState(ObjectChangeWhat what)
|
||||||
{
|
{
|
||||||
|
if (m_UndoRedo == null)
|
||||||
|
m_UndoRedo = new UndoRedoState(5);
|
||||||
|
|
||||||
lock (m_UndoRedo)
|
lock (m_UndoRedo)
|
||||||
{
|
{
|
||||||
if (!Undoing && !IgnoreUndoUpdate && ParentGroup != null) // just to read better - undo is in progress, or suspended
|
if (!Undoing && !IgnoreUndoUpdate && ParentGroup != null) // just to read better - undo is in progress, or suspended
|
||||||
|
@ -3662,18 +3665,19 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
lock (m_UndoRedo)
|
if (m_UndoRedo == null)
|
||||||
|
return 0;
|
||||||
return m_UndoRedo.Count;
|
return m_UndoRedo.Count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Undo()
|
public void Undo()
|
||||||
{
|
{
|
||||||
lock (m_UndoRedo)
|
if (m_UndoRedo == null || Undoing || ParentGroup == null)
|
||||||
{
|
|
||||||
if (Undoing || ParentGroup == null)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
lock (m_UndoRedo)
|
||||||
|
{
|
||||||
Undoing = true;
|
Undoing = true;
|
||||||
m_UndoRedo.Undo(this);
|
m_UndoRedo.Undo(this);
|
||||||
Undoing = false;
|
Undoing = false;
|
||||||
|
@ -3682,11 +3686,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public void Redo()
|
public void Redo()
|
||||||
{
|
{
|
||||||
lock (m_UndoRedo)
|
if (m_UndoRedo == null || Undoing || ParentGroup == null)
|
||||||
{
|
|
||||||
if (Undoing || ParentGroup == null)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
lock (m_UndoRedo)
|
||||||
|
{
|
||||||
Undoing = true;
|
Undoing = true;
|
||||||
m_UndoRedo.Redo(this);
|
m_UndoRedo.Redo(this);
|
||||||
Undoing = false;
|
Undoing = false;
|
||||||
|
@ -3695,6 +3699,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public void ClearUndoState()
|
public void ClearUndoState()
|
||||||
{
|
{
|
||||||
|
if (m_UndoRedo == null || Undoing)
|
||||||
|
return;
|
||||||
|
|
||||||
lock (m_UndoRedo)
|
lock (m_UndoRedo)
|
||||||
{
|
{
|
||||||
m_UndoRedo.Clear();
|
m_UndoRedo.Clear();
|
||||||
|
|
|
@ -2487,6 +2487,16 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (!childPrim && Body != IntPtr.Zero && !m_disabled)
|
if (!childPrim && Body != IntPtr.Zero && !m_disabled)
|
||||||
d.BodyEnable(Body);
|
d.BodyEnable(Body);
|
||||||
|
|
||||||
|
if (m_isphantom && !m_isVolumeDetect)
|
||||||
|
{
|
||||||
|
m_collisionCategories = 0;
|
||||||
|
if(m_isphysical)
|
||||||
|
m_collisionFlags = CollisionCategories.Land;
|
||||||
|
else
|
||||||
|
m_collisionFlags = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
m_collisionCategories = CollisionCategories.Geom;
|
m_collisionCategories = CollisionCategories.Geom;
|
||||||
if (m_isphysical)
|
if (m_isphysical)
|
||||||
m_collisionCategories |= CollisionCategories.Body;
|
m_collisionCategories |= CollisionCategories.Body;
|
||||||
|
@ -2495,6 +2505,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
if (m_collidesWater)
|
if (m_collidesWater)
|
||||||
m_collisionFlags |= CollisionCategories.Water;
|
m_collisionFlags |= CollisionCategories.Water;
|
||||||
|
}
|
||||||
|
|
||||||
if (!childPrim)
|
if (!childPrim)
|
||||||
{
|
{
|
||||||
|
|
|
@ -128,6 +128,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
VolumeDtc,
|
VolumeDtc,
|
||||||
|
|
||||||
Physical,
|
Physical,
|
||||||
|
Phantom,
|
||||||
Selected,
|
Selected,
|
||||||
disabled,
|
disabled,
|
||||||
building,
|
building,
|
||||||
|
|
Loading…
Reference in New Issue