diff options
Resolve merge failure
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 4f6bc52..ffe2094 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1629,7 +1629,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1629 | ScheduleGroupForFullUpdate(); | 1629 | ScheduleGroupForFullUpdate(); |
1630 | } | 1630 | } |
1631 | 1631 | ||
1632 | public override void SetText(string text, Vector3 color, double alpha) | 1632 | public void SetText(string text, Vector3 color, double alpha) |
1633 | { | 1633 | { |
1634 | Color = Color.FromArgb(0xff - (int) (alpha * 0xff), | 1634 | Color = Color.FromArgb(0xff - (int) (alpha * 0xff), |
1635 | (int) (color.X * 0xff), | 1635 | (int) (color.X * 0xff), |
@@ -1868,10 +1868,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1868 | dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true); | 1868 | dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true); |
1869 | } | 1869 | } |
1870 | 1870 | ||
1871 | List<SceneObjectPart> partList; | ||
1872 | |||
1873 | lockPartsForRead(true); | 1871 | lockPartsForRead(true); |
1874 | 1872 | ||
1873 | List<SceneObjectPart> partList; | ||
1874 | |||
1875 | partList = new List<SceneObjectPart>(m_parts.Values); | 1875 | partList = new List<SceneObjectPart>(m_parts.Values); |
1876 | 1876 | ||
1877 | lockPartsForRead(false); | 1877 | lockPartsForRead(false); |
@@ -1890,8 +1890,26 @@ namespace OpenSim.Region.Framework.Scenes | |||
1890 | 1890 | ||
1891 | newPart.LinkNum = part.LinkNum; | 1891 | newPart.LinkNum = part.LinkNum; |
1892 | } | 1892 | } |
1893 | } | ||
1894 | 1893 | ||
1894 | // Need to duplicate the physics actor as well | ||
1895 | if (part.PhysActor != null && userExposed) | ||
1896 | { | ||
1897 | PrimitiveBaseShape pbs = part.Shape; | ||
1898 | |||
1899 | part.PhysActor | ||
1900 | = m_scene.PhysicsScene.AddPrimShape( | ||
1901 | part.Name, | ||
1902 | pbs, | ||
1903 | part.AbsolutePosition, | ||
1904 | part.Scale, | ||
1905 | part.RotationOffset, | ||
1906 | part.PhysActor.IsPhysical); | ||
1907 | |||
1908 | part.PhysActor.LocalID = part.LocalId; | ||
1909 | part.DoPhysicsPropertyUpdate(part.PhysActor.IsPhysical, true); | ||
1910 | } | ||
1911 | |||
1912 | } | ||
1895 | if (userExposed) | 1913 | if (userExposed) |
1896 | { | 1914 | { |
1897 | dupe.UpdateParentIDs(); | 1915 | dupe.UpdateParentIDs(); |
@@ -1900,6 +1918,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1900 | 1918 | ||
1901 | ScheduleGroupForFullUpdate(); | 1919 | ScheduleGroupForFullUpdate(); |
1902 | } | 1920 | } |
1921 | |||
1903 | } | 1922 | } |
1904 | finally | 1923 | finally |
1905 | { | 1924 | { |