diff options
-rw-r--r-- | OpenSim/Services/GridService/GridService.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs index 4f93ce5..6e2c0d7 100644 --- a/OpenSim/Services/GridService/GridService.cs +++ b/OpenSim/Services/GridService/GridService.cs | |||
@@ -99,6 +99,9 @@ namespace OpenSim.Services.GridService | |||
99 | if ((region != null) && (region.RegionID == regionInfos.RegionID) && | 99 | if ((region != null) && (region.RegionID == regionInfos.RegionID) && |
100 | ((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY))) | 100 | ((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY))) |
101 | { | 101 | { |
102 | if ((Convert.ToInt32(region.Data["flags"]) & (int)OpenSim.Data.RegionFlags.NoMove) != 0) | ||
103 | return false; | ||
104 | |||
102 | // Region reregistering in other coordinates. Delete the old entry | 105 | // Region reregistering in other coordinates. Delete the old entry |
103 | m_log.DebugFormat("[GRID SERVICE]: Region {0} ({1}) was previously registered at {2}-{3}. Deleting old entry.", | 106 | m_log.DebugFormat("[GRID SERVICE]: Region {0} ({1}) was previously registered at {2}-{3}. Deleting old entry.", |
104 | regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY); | 107 | regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY); |
@@ -119,10 +122,13 @@ namespace OpenSim.Services.GridService | |||
119 | 122 | ||
120 | if (region != null) | 123 | if (region != null) |
121 | { | 124 | { |
122 | if ((Convert.ToInt32(region.Data["flags"]) & (int)OpenSim.Data.RegionFlags.LockedOut) != 0) | 125 | int oldFlags = Convert.ToInt32(region.Data["flags"]); |
126 | if ((oldFlags & (int)OpenSim.Data.RegionFlags.LockedOut) != 0) | ||
123 | return false; | 127 | return false; |
124 | 128 | ||
125 | rdata.Data["flags"] = region.Data["flags"]; // Preserve fields | 129 | oldFlags &= ~(int)OpenSim.Data.RegionFlags.Reservation; |
130 | |||
131 | rdata.Data["flags"] = oldFlags.ToString(); // Preserve flags | ||
126 | } | 132 | } |
127 | else | 133 | else |
128 | { | 134 | { |