diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index c300250..2517a23 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -496,6 +496,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
496 | 496 | ||
497 | if (item != null) | 497 | if (item != null) |
498 | { | 498 | { |
499 | if (item.ID == UUID.Zero) | ||
500 | { | ||
501 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 1"); | ||
502 | } | ||
503 | |||
499 | AssetBase rezAsset = m_Scene.AssetService.Get(item.AssetID.ToString()); | 504 | AssetBase rezAsset = m_Scene.AssetService.Get(item.AssetID.ToString()); |
500 | 505 | ||
501 | if (rezAsset != null) | 506 | if (rezAsset != null) |
@@ -518,11 +523,19 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
518 | itemId = item.ID; | 523 | itemId = item.ID; |
519 | } | 524 | } |
520 | 525 | ||
526 | if (item.ID == UUID.Zero) | ||
527 | { | ||
528 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 2"); | ||
529 | } | ||
530 | |||
521 | string xmlData = Utils.BytesToString(rezAsset.Data); | 531 | string xmlData = Utils.BytesToString(rezAsset.Data); |
522 | SceneObjectGroup group | 532 | SceneObjectGroup group |
523 | = SceneObjectSerializer.FromOriginalXmlFormat(itemId, xmlData); | 533 | = SceneObjectSerializer.FromOriginalXmlFormat(itemId, xmlData); |
524 | Vector3 storedPosition = group.AbsolutePosition; | 534 | Vector3 storedPosition = group.AbsolutePosition; |
525 | 535 | if (group.UUID == UUID.Zero) | |
536 | { | ||
537 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 3"); | ||
538 | } | ||
526 | group.RootPart.FromFolderID = item.Folder; | 539 | group.RootPart.FromFolderID = item.Folder; |
527 | 540 | ||
528 | // If it's rezzed in world, select it. Much easier to | 541 | // If it's rezzed in world, select it. Much easier to |
@@ -548,9 +561,15 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
548 | remoteClient.SendBulkUpdateInventory(item); | 561 | remoteClient.SendBulkUpdateInventory(item); |
549 | return null; | 562 | return null; |
550 | } | 563 | } |
551 | 564 | if (group.UUID == UUID.Zero) | |
565 | { | ||
566 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 4"); | ||
567 | } | ||
552 | group.ResetIDs(); | 568 | group.ResetIDs(); |
553 | 569 | if (group.UUID == UUID.Zero) | |
570 | { | ||
571 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 5"); | ||
572 | } | ||
554 | if (attachment) | 573 | if (attachment) |
555 | { | 574 | { |
556 | group.RootPart.ObjectFlags |= (uint)PrimFlags.Phantom; | 575 | group.RootPart.ObjectFlags |= (uint)PrimFlags.Phantom; |
@@ -582,7 +601,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
582 | { | 601 | { |
583 | group.SetFromItemID(itemID); | 602 | group.SetFromItemID(itemID); |
584 | } | 603 | } |
585 | 604 | if (group.UUID == UUID.Zero) | |
605 | { | ||
606 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 6"); | ||
607 | } | ||
586 | SceneObjectPart rootPart = null; | 608 | SceneObjectPart rootPart = null; |
587 | try | 609 | try |
588 | { | 610 | { |
@@ -597,7 +619,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
597 | 619 | ||
598 | m_log.Error("[AGENT INVENTORY]: Error rezzing ItemID: " + itemID + " object has no rootpart." + isAttachment); | 620 | m_log.Error("[AGENT INVENTORY]: Error rezzing ItemID: " + itemID + " object has no rootpart." + isAttachment); |
599 | } | 621 | } |
600 | 622 | if (group.UUID == UUID.Zero) | |
623 | { | ||
624 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 7"); | ||
625 | } | ||
601 | // Since renaming the item in the inventory does not affect the name stored | 626 | // Since renaming the item in the inventory does not affect the name stored |
602 | // in the serialization, transfer the correct name from the inventory to the | 627 | // in the serialization, transfer the correct name from the inventory to the |
603 | // object itself before we rez. | 628 | // object itself before we rez. |
@@ -625,7 +650,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
625 | group.ApplyNextOwnerPermissions(); | 650 | group.ApplyNextOwnerPermissions(); |
626 | } | 651 | } |
627 | } | 652 | } |
628 | 653 | if (group.UUID == UUID.Zero) | |
654 | { | ||
655 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 8"); | ||
656 | } | ||
629 | foreach (SceneObjectPart part in partList) | 657 | foreach (SceneObjectPart part in partList) |
630 | { | 658 | { |
631 | if ((part.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0) | 659 | if ((part.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0) |
@@ -638,9 +666,15 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
638 | part.EveryoneMask = item.EveryOnePermissions; | 666 | part.EveryoneMask = item.EveryOnePermissions; |
639 | part.NextOwnerMask = item.NextPermissions; | 667 | part.NextOwnerMask = item.NextPermissions; |
640 | } | 668 | } |
641 | 669 | if (group.UUID == UUID.Zero) | |
670 | { | ||
671 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 9"); | ||
672 | } | ||
642 | rootPart.TrimPermissions(); | 673 | rootPart.TrimPermissions(); |
643 | 674 | if (group.UUID == UUID.Zero) | |
675 | { | ||
676 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 10"); | ||
677 | } | ||
644 | if (!attachment) | 678 | if (!attachment) |
645 | { | 679 | { |
646 | if (group.RootPart.Shape.PCode == (byte)PCode.Prim) | 680 | if (group.RootPart.Shape.PCode == (byte)PCode.Prim) |
@@ -674,8 +708,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
674 | } | 708 | } |
675 | } | 709 | } |
676 | } | 710 | } |
677 | 711 | if (group.UUID == UUID.Zero) | |
678 | return rootPart.ParentGroup; | 712 | { |
713 | m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 11"); | ||
714 | } | ||
715 | return group; | ||
679 | } | 716 | } |
680 | } | 717 | } |
681 | 718 | ||