aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneGraph.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneGraph.cs')
-rwxr-xr-xOpenSim/Region/Framework/Scenes/SceneGraph.cs60
1 files changed, 2 insertions, 58 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 3f6a7f8..c9c88d3 100755
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1928,7 +1928,7 @@ namespace OpenSim.Region.Framework.Scenes
1928 SceneObjectGroupsByLocalPartID[part.LocalId] = parentGroup; 1928 SceneObjectGroupsByLocalPartID[part.LocalId] = parentGroup;
1929 } 1929 }
1930*/ 1930*/
1931 parentGroup.AdjustChildPrimPermissions(); 1931 parentGroup.AdjustChildPrimPermissions(false);
1932 parentGroup.HasGroupChanged = true; 1932 parentGroup.HasGroupChanged = true;
1933 parentGroup.ProcessBackup(m_parentScene.SimulationDataService, true); 1933 parentGroup.ProcessBackup(m_parentScene.SimulationDataService, true);
1934 parentGroup.ScheduleGroupForFullUpdate(); 1934 parentGroup.ScheduleGroupForFullUpdate();
@@ -2066,7 +2066,7 @@ namespace OpenSim.Region.Framework.Scenes
2066 // return unless the root is deleted. This will remove them 2066 // return unless the root is deleted. This will remove them
2067 // from the database. They will be rewritten immediately, 2067 // from the database. They will be rewritten immediately,
2068 // minus the rows for the unlinked child prims. 2068 // minus the rows for the unlinked child prims.
2069 g.AdjustChildPrimPermissions(); 2069 g.AdjustChildPrimPermissions(false);
2070 m_parentScene.SimulationDataService.RemoveObject(g.UUID, m_parentScene.RegionInfo.RegionID); 2070 m_parentScene.SimulationDataService.RemoveObject(g.UUID, m_parentScene.RegionInfo.RegionID);
2071 g.TriggerScriptChangedEvent(Changed.LINK); 2071 g.TriggerScriptChangedEvent(Changed.LINK);
2072 g.HasGroupChanged = true; // Persist 2072 g.HasGroupChanged = true; // Persist
@@ -2154,13 +2154,8 @@ namespace OpenSim.Region.Framework.Scenes
2154 if (m_parentScene.Permissions.CanDuplicateObject( 2154 if (m_parentScene.Permissions.CanDuplicateObject(
2155 original.PrimCount, original.UUID, AgentID, original.AbsolutePosition)) 2155 original.PrimCount, original.UUID, AgentID, original.AbsolutePosition))
2156 { 2156 {
2157<<<<<<< HEAD
2158 m_log.WarnFormat(
2159 "[SCENEGRAPH]: Attempt to duplicate nonexistent prim id {0} by {1}", originalPrimID, AgentID);
2160=======
2161 SceneObjectGroup copy = original.Copy(true); 2157 SceneObjectGroup copy = original.Copy(true);
2162 copy.AbsolutePosition = copy.AbsolutePosition + offset; 2158 copy.AbsolutePosition = copy.AbsolutePosition + offset;
2163>>>>>>> avn/ubitvar
2164 2159
2165 if (original.OwnerID != AgentID) 2160 if (original.OwnerID != AgentID)
2166 { 2161 {
@@ -2197,63 +2192,12 @@ namespace OpenSim.Region.Framework.Scenes
2197 2192
2198 // PROBABLE END OF FIXME 2193 // PROBABLE END OF FIXME
2199 2194
2200<<<<<<< HEAD
2201 // FIXME: This section needs to be refactored so that it just calls AddSceneObject()
2202 Entities.Add(copy);
2203
2204 lock (SceneObjectGroupsByFullID)
2205 SceneObjectGroupsByFullID[copy.UUID] = copy;
2206
2207 SceneObjectPart[] children = copy.Parts;
2208
2209 lock (SceneObjectGroupsByFullPartID)
2210 {
2211 SceneObjectGroupsByFullPartID[copy.UUID] = copy;
2212 foreach (SceneObjectPart part in children)
2213 SceneObjectGroupsByFullPartID[part.UUID] = copy;
2214 }
2215
2216 lock (SceneObjectGroupsByLocalPartID)
2217 {
2218 SceneObjectGroupsByLocalPartID[copy.LocalId] = copy;
2219 foreach (SceneObjectPart part in children)
2220 SceneObjectGroupsByLocalPartID[part.LocalId] = copy;
2221 }
2222 // PROBABLE END OF FIXME
2223
2224 // Since we copy from a source group that is in selected
2225 // state, but the copy is shown deselected in the viewer,
2226 // We need to clear the selection flag here, else that
2227 // prim never gets persisted at all. The client doesn't
2228 // think it's selected, so it will never send a deselect...
2229 copy.IsSelected = false;
2230
2231 m_numTotalPrim += copy.Parts.Length;
2232
2233 // Go through all parts (primitives and meshes) of this Scene Object
2234 foreach (SceneObjectPart part in copy.Parts)
2235 {
2236 // Keep track of the total number of meshes or geometric primitives now in the scene;
2237 // determine which object this is based on its primitive type: sculpted (sculpt) prim refers to
2238 // a mesh and all other prims (i.e. box, sphere, etc) are geometric primitives
2239 if (part.GetPrimType() == PrimType.SCULPT)
2240 m_numMesh++;
2241 else
2242 m_numPrim++;
2243 }
2244
2245 if (rot != Quaternion.Identity)
2246 {
2247 copy.UpdateGroupRotationR(rot);
2248 }
2249=======
2250 // Since we copy from a source group that is in selected 2195 // Since we copy from a source group that is in selected
2251 // state, but the copy is shown deselected in the viewer, 2196 // state, but the copy is shown deselected in the viewer,
2252 // We need to clear the selection flag here, else that 2197 // We need to clear the selection flag here, else that
2253 // prim never gets persisted at all. The client doesn't 2198 // prim never gets persisted at all. The client doesn't
2254 // think it's selected, so it will never send a deselect... 2199 // think it's selected, so it will never send a deselect...
2255 copy.IsSelected = false; 2200 copy.IsSelected = false;
2256>>>>>>> avn/ubitvar
2257 2201
2258 m_numPrim += copy.Parts.Length; 2202 m_numPrim += copy.Parts.Length;
2259 2203