aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2010-06-30 21:35:05 +0100
committerMelanie2010-06-30 21:35:05 +0100
commit46a531d8652ea935aaa10694df73e4b9a26ae829 (patch)
treeb1f54ccc7d44744d1c6f37fd93071b8eff2eaba4 /OpenSim
parentMerge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff)
parentMerge branch 'master' of melanie@opensimulator.org:/var/git/opensim (diff)
downloadopensim-SC_OLD-46a531d8652ea935aaa10694df73e4b9a26ae829.zip
opensim-SC_OLD-46a531d8652ea935aaa10694df73e4b9a26ae829.tar.gz
opensim-SC_OLD-46a531d8652ea935aaa10694df73e4b9a26ae829.tar.bz2
opensim-SC_OLD-46a531d8652ea935aaa10694df73e4b9a26ae829.tar.xz
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs7
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs13
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs13
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs37
-rw-r--r--OpenSim/Server/Base/ServicesServerBase.cs41
-rw-r--r--OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs4
-rw-r--r--OpenSim/Server/Handlers/Simulation/AgentHandlers.cs12
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs2
-rw-r--r--OpenSim/Services/GridService/HypergridLinker.cs6
-rw-r--r--OpenSim/Services/InventoryService/HGInventoryService.cs4
-rw-r--r--OpenSim/Services/InventoryService/XInventoryService.cs9
-rw-r--r--OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj4
15 files changed, 132 insertions, 31 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
index c6f8b88..ca0b7ad 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
@@ -769,8 +769,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
769 bool canEditObjectsChanged = ((rights ^ userFlags) & (int)FriendRights.CanModifyObjects) != 0; 769 bool canEditObjectsChanged = ((rights ^ userFlags) & (int)FriendRights.CanModifyObjects) != 0;
770 if (canEditObjectsChanged) 770 if (canEditObjectsChanged)
771 friendClient.SendChangeUserRights(userID, friendID, rights); 771 friendClient.SendChangeUserRights(userID, friendID, rights);
772
772 } 773 }
773 774
775 // update local cache
776 //m_Friends[friendID].Friends = m_FriendsService.GetFriends(friendID);
777 foreach (FriendInfo finfo in m_Friends[friendID].Friends)
778 if (finfo.Friend == userID.ToString())
779 finfo.TheirFlags = rights;
780
774 return true; 781 return true;
775 } 782 }
776 783
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
index 2ab46aa..b0555da 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
@@ -131,6 +131,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
131 return ret; 131 return ret;
132 } 132 }
133 133
134 // DO NOT OVERRIDE THIS METHOD
134 public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID, 135 public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID,
135 SceneObjectGroup objectGroup, IClientAPI remoteClient) 136 SceneObjectGroup objectGroup, IClientAPI remoteClient)
136 { 137 {
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 3035d88..12b6aa0 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -286,23 +286,15 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
286 { 286 {
287 // Deleting someone else's item 287 // Deleting someone else's item
288 // 288 //
289
290
291 if (remoteClient == null || 289 if (remoteClient == null ||
292 objectGroup.OwnerID != remoteClient.AgentId) 290 objectGroup.OwnerID != remoteClient.AgentId)
293 { 291 {
294 // Folder skeleton may not be loaded and we 292
295 // have to wait for the inventory to find
296 // the destination folder
297 //
298 folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.LostAndFoundFolder); 293 folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.LostAndFoundFolder);
299 } 294 }
300 else 295 else
301 { 296 {
302 // Assume inventory skeleton was loaded during login 297 folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.TrashFolder);
303 // and all folders can be found
304 //
305 folder = m_Scene.InventoryService.GetFolderForType(userID, AssetType.TrashFolder);
306 } 298 }
307 } 299 }
308 else if (action == DeRezAction.Return) 300 else if (action == DeRezAction.Return)
@@ -332,7 +324,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
332 324
333 if (folder == null) // None of the above 325 if (folder == null) // None of the above
334 { 326 {
335 //folder = userInfo.RootFolder.FindFolder(folderID);
336 folder = new InventoryFolderBase(folderID); 327 folder = new InventoryFolderBase(folderID);
337 328
338 if (folder == null) // Nowhere to put it 329 if (folder == null) // Nowhere to put it
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs
index ae03cdf..209cf0d 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs
@@ -96,7 +96,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory
96 96
97 Object[] args = new Object[] { m_Config, MainServer.Instance, "HGInventoryService" }; 97 Object[] args = new Object[] { m_Config, MainServer.Instance, "HGInventoryService" };
98 98
99 ServerUtils.LoadPlugin<IServiceConnector>("OpenSim.Server.Handlers.dll:HGInventoryServiceInConnector", args); 99 ServerUtils.LoadPlugin<IServiceConnector>("OpenSim.Server.Handlers.dll:XInventoryInConnector", args);
100 } 100 }
101 } 101 }
102 102
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
index 4d360f6..a1451ce 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
@@ -134,8 +134,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
134 134
135 foreach (KeyValuePair<UUID, AssetType> kvp in m_uuids) 135 foreach (KeyValuePair<UUID, AssetType> kvp in m_uuids)
136 { 136 {
137 if (kvp.Key != UUID.Zero) 137 m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback);
138 m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback);
139 } 138 }
140 139
141 m_requestCallbackTimer.Enabled = true; 140 m_requestCallbackTimer.Enabled = true;
@@ -270,7 +269,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
270 } 269 }
271 catch (Exception e) 270 catch (Exception e)
272 { 271 {
273 m_log.ErrorFormat("[ARCHIVER]: AssetRequestCallback failed with {0}{1}", e.Message, e.StackTrace); 272 m_log.ErrorFormat("[ARCHIVER]: AssetRequestCallback failed with {0}", e);
274 } 273 }
275 } 274 }
276 275
@@ -286,8 +285,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
286 catch (Exception e) 285 catch (Exception e)
287 { 286 {
288 m_log.ErrorFormat( 287 m_log.ErrorFormat(
289 "[ARCHIVER]: Terminating archive creation since asset requester callback failed with {0}{1}", 288 "[ARCHIVER]: Terminating archive creation since asset requster callback failed with {0}", e);
290 e.Message, e.StackTrace);
291 } 289 }
292 } 290 }
293 } 291 }
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index e61132e..0ac427f 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -1592,7 +1592,17 @@ namespace OpenSim.Region.Framework.Scenes
1592 // So that we know the database is upto date, 1592 // So that we know the database is upto date,
1593 // for when deleting the object from it 1593 // for when deleting the object from it
1594 ForceSceneObjectBackup(grp); 1594 ForceSceneObjectBackup(grp);
1595 if (remoteClient != null) 1595
1596 if (remoteClient == null)
1597 {
1598 // Autoreturn has a null client. Nothing else does. So
1599 // allow only returns
1600 if (action != DeRezAction.Return)
1601 return;
1602
1603 permissionToTakeCopy = false;
1604 }
1605 else
1596 { 1606 {
1597 if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId)) 1607 if (!Permissions.CanTakeCopyObject(grp.UUID, remoteClient.AgentId))
1598 permissionToTakeCopy = false; 1608 permissionToTakeCopy = false;
@@ -1601,7 +1611,6 @@ namespace OpenSim.Region.Framework.Scenes
1601 1611
1602 if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId)) 1612 if (!Permissions.CanDeleteObject(grp.UUID, remoteClient.AgentId))
1603 permissionToDelete = false; 1613 permissionToDelete = false;
1604
1605 } 1614 }
1606 } 1615 }
1607 1616
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index 30e127d..bbaf923 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -556,6 +556,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine
556 556
557 if (stateSource == (int)StateSource.ScriptedRez) 557 if (stateSource == (int)StateSource.ScriptedRez)
558 { 558 {
559 lock (m_CompileDict)
560 {
561 m_CompileDict[itemID] = 0;
562 }
563
559 DoOnRezScript(parms); 564 DoOnRezScript(parms);
560 } 565 }
561 else 566 else
@@ -1356,9 +1361,23 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1356 string xml = instance.GetXMLState(); 1361 string xml = instance.GetXMLState();
1357 1362
1358 XmlDocument sdoc = new XmlDocument(); 1363 XmlDocument sdoc = new XmlDocument();
1359 sdoc.LoadXml(xml); 1364 bool loadedState = true;
1360 XmlNodeList rootL = sdoc.GetElementsByTagName("ScriptState"); 1365 try
1361 XmlNode rootNode = rootL[0]; 1366 {
1367 sdoc.LoadXml(xml);
1368 }
1369 catch (System.Xml.XmlException e)
1370 {
1371 loadedState = false;
1372 }
1373
1374 XmlNodeList rootL = null;
1375 XmlNode rootNode = null;
1376 if (loadedState)
1377 {
1378 rootL = sdoc.GetElementsByTagName("ScriptState");
1379 rootNode = rootL[0];
1380 }
1362 1381
1363 // Create <State UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> 1382 // Create <State UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
1364 XmlDocument doc = new XmlDocument(); 1383 XmlDocument doc = new XmlDocument();
@@ -1374,8 +1393,18 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1374 stateData.Attributes.Append(engineName); 1393 stateData.Attributes.Append(engineName);
1375 doc.AppendChild(stateData); 1394 doc.AppendChild(stateData);
1376 1395
1396 XmlNode xmlstate = null;
1397
1377 // Add <ScriptState>...</ScriptState> 1398 // Add <ScriptState>...</ScriptState>
1378 XmlNode xmlstate = doc.ImportNode(rootNode, true); 1399 if (loadedState)
1400 {
1401 xmlstate = doc.ImportNode(rootNode, true);
1402 }
1403 else
1404 {
1405 xmlstate = doc.CreateElement("", "ScriptState", "");
1406 }
1407
1379 stateData.AppendChild(xmlstate); 1408 stateData.AppendChild(xmlstate);
1380 1409
1381 string assemName = instance.GetAssemblyName(); 1410 string assemName = instance.GetAssemblyName();
diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs
index a5bebb8..dee31bd 100644
--- a/OpenSim/Server/Base/ServicesServerBase.cs
+++ b/OpenSim/Server/Base/ServicesServerBase.cs
@@ -230,6 +230,12 @@ namespace OpenSim.Server.Base
230 "shutdown", 230 "shutdown",
231 "Quit the application", HandleQuit); 231 "Quit the application", HandleQuit);
232 232
233 // Register a command to read other commands from a file
234 MainConsole.Instance.Commands.AddCommand("base", false, "command-script",
235 "command-script <script>",
236 "Run a command script from file", HandleScript);
237
238
233 // Allow derived classes to perform initialization that 239 // Allow derived classes to perform initialization that
234 // needs to be done after the console has opened 240 // needs to be done after the console has opened
235 // 241 //
@@ -259,6 +265,41 @@ namespace OpenSim.Server.Base
259 m_log.Info("[CONSOLE] Quitting"); 265 m_log.Info("[CONSOLE] Quitting");
260 } 266 }
261 267
268 protected virtual void HandleScript(string module, string[] parms)
269 {
270 if (parms.Length != 2)
271 {
272 return;
273 }
274 RunCommandScript(parms[1]);
275 }
276
277 /// <summary>
278 /// Run an optional startup list of commands
279 /// </summary>
280 /// <param name="fileName"></param>
281 private void RunCommandScript(string fileName)
282 {
283 if (File.Exists(fileName))
284 {
285 m_log.Info("[COMMANDFILE]: Running " + fileName);
286
287 using (StreamReader readFile = File.OpenText(fileName))
288 {
289 string currentCommand;
290 while ((currentCommand = readFile.ReadLine()) != null)
291 {
292 if (currentCommand != String.Empty)
293 {
294 m_log.Info("[COMMANDFILE]: Running '" + currentCommand + "'");
295 MainConsole.Instance.RunCommand(currentCommand);
296 }
297 }
298 }
299 }
300 }
301
302
262 protected virtual void ReadConfig() 303 protected virtual void ReadConfig()
263 { 304 {
264 } 305 }
diff --git a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
index 6e580f1..ac6a3ab 100644
--- a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
+++ b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
@@ -44,6 +44,8 @@ namespace OpenSim.Server.Handlers.Asset
44{ 44{
45 public class XInventoryInConnector : ServiceConnector 45 public class XInventoryInConnector : ServiceConnector
46 { 46 {
47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48
47 private IInventoryService m_InventoryService; 49 private IInventoryService m_InventoryService;
48 private string m_ConfigName = "InventoryService"; 50 private string m_ConfigName = "InventoryService";
49 51
@@ -53,6 +55,8 @@ namespace OpenSim.Server.Handlers.Asset
53 if (configName != String.Empty) 55 if (configName != String.Empty)
54 m_ConfigName = configName; 56 m_ConfigName = configName;
55 57
58 m_log.DebugFormat("[XInventoryInConnector]: Starting with config name {0}", m_ConfigName);
59
56 IConfig serverConfig = config.Configs[m_ConfigName]; 60 IConfig serverConfig = config.Configs[m_ConfigName];
57 if (serverConfig == null) 61 if (serverConfig == null)
58 throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName)); 62 throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
index c4117f5..9739e5a 100644
--- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
+++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
@@ -277,7 +277,7 @@ namespace OpenSim.Server.Handlers.Simulation
277 //responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); ??? instead 277 //responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); ??? instead
278 } 278 }
279 279
280 // subclasses cab override this 280 // subclasses can override this
281 protected virtual bool UpdateAgent(GridRegion destination, AgentData agent) 281 protected virtual bool UpdateAgent(GridRegion destination, AgentData agent)
282 { 282 {
283 return m_SimulationService.UpdateAgent(destination, agent); 283 return m_SimulationService.UpdateAgent(destination, agent);
@@ -285,6 +285,16 @@ namespace OpenSim.Server.Handlers.Simulation
285 285
286 protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID) 286 protected virtual void DoAgentGet(Hashtable request, Hashtable responsedata, UUID id, UUID regionID)
287 { 287 {
288 if (m_SimulationService == null)
289 {
290 m_log.Debug("[AGENT HANDLER]: Agent GET called. Harmless but useless.");
291 responsedata["content_type"] = "application/json";
292 responsedata["int_response_code"] = HttpStatusCode.NotImplemented;
293 responsedata["str_response_string"] = string.Empty;
294
295 return;
296 }
297
288 GridRegion destination = new GridRegion(); 298 GridRegion destination = new GridRegion();
289 destination.RegionID = regionID; 299 destination.RegionID = regionID;
290 300
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
index 34bb8b3..7a420e4 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
@@ -371,7 +371,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
371 /// <returns></returns> 371 /// <returns></returns>
372 public bool Delete(string id) 372 public bool Delete(string id)
373 { 373 {
374 string errorMessage = String.Empty; 374 //string errorMessage = String.Empty;
375 string url = m_serverUrl + id; 375 string url = m_serverUrl + id;
376 376
377 if (m_cache != null) 377 if (m_cache != null)
diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs
index af603b2..ae80a8c 100644
--- a/OpenSim/Services/GridService/HypergridLinker.cs
+++ b/OpenSim/Services/GridService/HypergridLinker.cs
@@ -255,7 +255,11 @@ namespace OpenSim.Services.GridService
255 { 255 {
256 m_log.WarnFormat("[HYPERGRID LINKER]: Remote Gatekeeper at {0} provided malformed ExternalName {1}", regInfo.ExternalHostName, externalName); 256 m_log.WarnFormat("[HYPERGRID LINKER]: Remote Gatekeeper at {0} provided malformed ExternalName {1}", regInfo.ExternalHostName, externalName);
257 } 257 }
258 regInfo.RegionName = regInfo.ExternalHostName + ":" + regInfo.HttpPort + ":" + regInfo.RegionName; 258 string name = regInfo.RegionName;
259 regInfo.RegionName = regInfo.ExternalHostName + ":" + regInfo.HttpPort;
260 if (name != string.Empty)
261 regInfo.RegionName += ":" + name;
262
259 // Try get the map image 263 // Try get the map image
260 //regInfo.TerrainImage = m_GatekeeperConnector.GetMapImage(regionID, imageURL); 264 //regInfo.TerrainImage = m_GatekeeperConnector.GetMapImage(regionID, imageURL);
261 // I need a texture that works for this... the one I tried doesn't seem to be working 265 // I need a texture that works for this... the one I tried doesn't seem to be working
diff --git a/OpenSim/Services/InventoryService/HGInventoryService.cs b/OpenSim/Services/InventoryService/HGInventoryService.cs
index 061effe..6e6b019 100644
--- a/OpenSim/Services/InventoryService/HGInventoryService.cs
+++ b/OpenSim/Services/InventoryService/HGInventoryService.cs
@@ -108,13 +108,13 @@ namespace OpenSim.Services.InventoryService
108 // Warp! Root folder for travelers 108 // Warp! Root folder for travelers
109 XInventoryFolder[] folders = m_Database.GetFolders( 109 XInventoryFolder[] folders = m_Database.GetFolders(
110 new string[] { "agentID", "folderName"}, 110 new string[] { "agentID", "folderName"},
111 new string[] { principalID.ToString(), "Suitcase" }); 111 new string[] { principalID.ToString(), "My Suitcase" });
112 112
113 if (folders.Length > 0) 113 if (folders.Length > 0)
114 return ConvertToOpenSim(folders[0]); 114 return ConvertToOpenSim(folders[0]);
115 115
116 // make one 116 // make one
117 XInventoryFolder suitcase = CreateFolder(principalID, UUID.Zero, (int)AssetType.Folder, "Suitcase"); 117 XInventoryFolder suitcase = CreateFolder(principalID, UUID.Zero, (int)AssetType.Folder, "My Suitcase");
118 return ConvertToOpenSim(suitcase); 118 return ConvertToOpenSim(suitcase);
119 } 119 }
120 120
diff --git a/OpenSim/Services/InventoryService/XInventoryService.cs b/OpenSim/Services/InventoryService/XInventoryService.cs
index af831fd..f48bf60 100644
--- a/OpenSim/Services/InventoryService/XInventoryService.cs
+++ b/OpenSim/Services/InventoryService/XInventoryService.cs
@@ -200,7 +200,14 @@ namespace OpenSim.Services.InventoryService
200 if (folders.Length == 0) 200 if (folders.Length == 0)
201 return null; 201 return null;
202 202
203 return ConvertToOpenSim(folders[0]); 203 XInventoryFolder root = null;
204 foreach (XInventoryFolder folder in folders)
205 if (folder.folderName == "My Inventory")
206 root = folder;
207 if (folders == null) // oops
208 root = folders[0];
209
210 return ConvertToOpenSim(root);
204 } 211 }
205 212
206 public virtual InventoryFolderBase GetFolderForType(UUID principalID, AssetType type) 213 public virtual InventoryFolderBase GetFolderForType(UUID principalID, AssetType type)
diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
index f19e082..481b3f8 100644
--- a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
+++ b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
@@ -36,9 +36,9 @@
36 <SpecificVersion>False</SpecificVersion> 36 <SpecificVersion>False</SpecificVersion>
37 <HintPath>..\..\..\bin\log4net.dll</HintPath> 37 <HintPath>..\..\..\bin\log4net.dll</HintPath>
38 </Reference> 38 </Reference>
39 <Reference Include="OpenSim.Server, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 39 <Reference Include="Robust, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
40 <SpecificVersion>False</SpecificVersion> 40 <SpecificVersion>False</SpecificVersion>
41 <HintPath>..\..\..\bin\OpenSim.Server.exe</HintPath> 41 <HintPath>..\..\..\bin\Robust.exe</HintPath>
42 </Reference> 42 </Reference>
43 <Reference Include="System" /> 43 <Reference Include="System" />
44 <Reference Include="System.Core"> 44 <Reference Include="System.Core">