Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
						commit
						ef63abe9b1
					
				| 
						 | 
					@ -416,6 +416,8 @@ namespace OpenSim.Region.Framework.Scenes
 | 
				
			||||||
//                        itemUpd.NextPermissions, itemUpd.GroupPermissions, itemUpd.EveryOnePermissions, item.Flags,
 | 
					//                        itemUpd.NextPermissions, itemUpd.GroupPermissions, itemUpd.EveryOnePermissions, item.Flags,
 | 
				
			||||||
//                        item.NextPermissions, item.GroupPermissions, item.EveryOnePermissions, item.CurrentPermissions);
 | 
					//                        item.NextPermissions, item.GroupPermissions, item.EveryOnePermissions, item.CurrentPermissions);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                bool sendUpdate = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (itemUpd.NextPermissions != 0) // Use this to determine validity. Can never be 0 if valid
 | 
					                if (itemUpd.NextPermissions != 0) // Use this to determine validity. Can never be 0 if valid
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    // Create a set of base permissions that will not include export if the user
 | 
					                    // Create a set of base permissions that will not include export if the user
 | 
				
			||||||
| 
						 | 
					@ -489,11 +491,13 @@ namespace OpenSim.Region.Framework.Scenes
 | 
				
			||||||
                    item.SalePrice = itemUpd.SalePrice;
 | 
					                    item.SalePrice = itemUpd.SalePrice;
 | 
				
			||||||
                    item.SaleType = itemUpd.SaleType;
 | 
					                    item.SaleType = itemUpd.SaleType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    InventoryService.UpdateItem(item);
 | 
					                    if (item.InvType == (int)InventoryType.Wearable && (item.Flags & 0xf) == 0 && (itemUpd.Flags & 0xf) != 0)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        item.Flags = (uint)(item.Flags & 0xfffffff0) | (itemUpd.Flags & 0xf);
 | 
				
			||||||
 | 
					                        sendUpdate = true;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    // We cannot send out a bulk update here, since this will cause editing of clothing to start 
 | 
					                    InventoryService.UpdateItem(item);
 | 
				
			||||||
                    // failing frequently.  Possibly this is a race with a separate transaction that uploads the asset.
 | 
					 | 
				
			||||||
//                    remoteClient.SendBulkUpdateInventory(item);
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (UUID.Zero != transactionID)
 | 
					                if (UUID.Zero != transactionID)
 | 
				
			||||||
| 
						 | 
					@ -503,6 +507,14 @@ namespace OpenSim.Region.Framework.Scenes
 | 
				
			||||||
                        AgentTransactionsModule.HandleItemUpdateFromTransaction(remoteClient, transactionID, item);
 | 
					                        AgentTransactionsModule.HandleItemUpdateFromTransaction(remoteClient, transactionID, item);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    // This MAY be problematic, if it is, another solution
 | 
				
			||||||
 | 
					                    // needs to be found. If inventory item flags are updated
 | 
				
			||||||
 | 
					                    // the viewer's notion of the item needs to be refreshed.
 | 
				
			||||||
 | 
					                    if (sendUpdate)
 | 
				
			||||||
 | 
					                        remoteClient.SendBulkUpdateInventory(item);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue