diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneGraph.cs')
-rwxr-xr-x | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 60 |
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 | ||