diff options
author | Melanie Thielker | 2014-06-21 00:39:55 +0200 |
---|---|---|
committer | Melanie Thielker | 2014-06-21 00:39:55 +0200 |
commit | 159fcbf150b7da0e229b29aa7b94793484543d12 (patch) | |
tree | b8c0ff3b4c758a3fba8315b556c923ef4c02a185 /OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |
parent | Merge commit '68c8633ba18f0a11cfc0ed04d1d0c7c59e6cec76' (diff) | |
parent | Merge branch 'master' into careminster (diff) | |
download | opensim-SC_OLD-159fcbf150b7da0e229b29aa7b94793484543d12.zip opensim-SC_OLD-159fcbf150b7da0e229b29aa7b94793484543d12.tar.gz opensim-SC_OLD-159fcbf150b7da0e229b29aa7b94793484543d12.tar.bz2 opensim-SC_OLD-159fcbf150b7da0e229b29aa7b94793484543d12.tar.xz |
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | 61 |
1 files changed, 35 insertions, 26 deletions
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 834fd77..47390e7 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -576,7 +576,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
576 | if (!Scene.TeleportClientHome(user, s.ControllingClient)) | 576 | if (!Scene.TeleportClientHome(user, s.ControllingClient)) |
577 | { | 577 | { |
578 | s.ControllingClient.Kick("Your access to the region was revoked and TP home failed - you have been logged out."); | 578 | s.ControllingClient.Kick("Your access to the region was revoked and TP home failed - you have been logged out."); |
579 | s.ControllingClient.Close(); | 579 | Scene.CloseAgent(s.UUID, false); |
580 | } | 580 | } |
581 | } | 581 | } |
582 | } | 582 | } |
@@ -716,7 +716,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
716 | } | 716 | } |
717 | } | 717 | } |
718 | 718 | ||
719 | public void handleOnEstateManageTelehub(IClientAPI client, UUID invoice, UUID senderID, string cmd, uint param1) | 719 | public void HandleOnEstateManageTelehub(IClientAPI client, UUID invoice, UUID senderID, string cmd, uint param1) |
720 | { | 720 | { |
721 | SceneObjectPart part; | 721 | SceneObjectPart part; |
722 | 722 | ||
@@ -756,7 +756,9 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
756 | default: | 756 | default: |
757 | break; | 757 | break; |
758 | } | 758 | } |
759 | SendTelehubInfo(client); | 759 | |
760 | if (client != null) | ||
761 | SendTelehubInfo(client); | ||
760 | } | 762 | } |
761 | 763 | ||
762 | private void SendSimulatorBlueBoxMessage( | 764 | private void SendSimulatorBlueBoxMessage( |
@@ -811,7 +813,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
811 | if (!Scene.TeleportClientHome(prey, s.ControllingClient)) | 813 | if (!Scene.TeleportClientHome(prey, s.ControllingClient)) |
812 | { | 814 | { |
813 | s.ControllingClient.Kick("You were teleported home by the region owner, but the TP failed - you have been logged out."); | 815 | s.ControllingClient.Kick("You were teleported home by the region owner, but the TP failed - you have been logged out."); |
814 | s.ControllingClient.Close(); | 816 | Scene.CloseAgent(s.UUID, false); |
815 | } | 817 | } |
816 | } | 818 | } |
817 | } | 819 | } |
@@ -834,7 +836,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
834 | if (!Scene.TeleportClientHome(p.UUID, p.ControllingClient)) | 836 | if (!Scene.TeleportClientHome(p.UUID, p.ControllingClient)) |
835 | { | 837 | { |
836 | p.ControllingClient.Kick("You were teleported home by the region owner, but the TP failed - you have been logged out."); | 838 | p.ControllingClient.Kick("You were teleported home by the region owner, but the TP failed - you have been logged out."); |
837 | p.ControllingClient.Close(); | 839 | Scene.CloseAgent(p.UUID, false); |
838 | } | 840 | } |
839 | } | 841 | } |
840 | } | 842 | } |
@@ -843,26 +845,23 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
843 | 845 | ||
844 | private void AbortTerrainXferHandler(IClientAPI remoteClient, ulong XferID) | 846 | private void AbortTerrainXferHandler(IClientAPI remoteClient, ulong XferID) |
845 | { | 847 | { |
846 | if (TerrainUploader != null) | 848 | lock (this) |
847 | { | 849 | { |
848 | lock (TerrainUploader) | 850 | if ((TerrainUploader != null) && (XferID == TerrainUploader.XferID)) |
849 | { | 851 | { |
850 | if (XferID == TerrainUploader.XferID) | 852 | remoteClient.OnXferReceive -= TerrainUploader.XferReceive; |
851 | { | 853 | remoteClient.OnAbortXfer -= AbortTerrainXferHandler; |
852 | remoteClient.OnXferReceive -= TerrainUploader.XferReceive; | 854 | TerrainUploader.TerrainUploadDone -= HandleTerrainApplication; |
853 | remoteClient.OnAbortXfer -= AbortTerrainXferHandler; | ||
854 | TerrainUploader.TerrainUploadDone -= HandleTerrainApplication; | ||
855 | 855 | ||
856 | TerrainUploader = null; | 856 | TerrainUploader = null; |
857 | remoteClient.SendAlertMessage("Terrain Upload aborted by the client"); | 857 | remoteClient.SendAlertMessage("Terrain Upload aborted by the client"); |
858 | } | ||
859 | } | 858 | } |
860 | } | 859 | } |
861 | |||
862 | } | 860 | } |
861 | |||
863 | private void HandleTerrainApplication(string filename, byte[] terrainData, IClientAPI remoteClient) | 862 | private void HandleTerrainApplication(string filename, byte[] terrainData, IClientAPI remoteClient) |
864 | { | 863 | { |
865 | lock (TerrainUploader) | 864 | lock (this) |
866 | { | 865 | { |
867 | remoteClient.OnXferReceive -= TerrainUploader.XferReceive; | 866 | remoteClient.OnXferReceive -= TerrainUploader.XferReceive; |
868 | remoteClient.OnAbortXfer -= AbortTerrainXferHandler; | 867 | remoteClient.OnAbortXfer -= AbortTerrainXferHandler; |
@@ -921,22 +920,32 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
921 | 920 | ||
922 | private void handleUploadTerrain(IClientAPI remote_client, string clientFileName) | 921 | private void handleUploadTerrain(IClientAPI remote_client, string clientFileName) |
923 | { | 922 | { |
924 | if (TerrainUploader == null) | 923 | lock (this) |
925 | { | 924 | { |
926 | 925 | if (TerrainUploader == null) | |
927 | TerrainUploader = new EstateTerrainXferHandler(remote_client, clientFileName); | ||
928 | lock (TerrainUploader) | ||
929 | { | 926 | { |
927 | m_log.DebugFormat("Starting to receive uploaded terrain"); | ||
928 | TerrainUploader = new EstateTerrainXferHandler(remote_client, clientFileName); | ||
930 | remote_client.OnXferReceive += TerrainUploader.XferReceive; | 929 | remote_client.OnXferReceive += TerrainUploader.XferReceive; |
931 | remote_client.OnAbortXfer += AbortTerrainXferHandler; | 930 | remote_client.OnAbortXfer += AbortTerrainXferHandler; |
932 | TerrainUploader.TerrainUploadDone += HandleTerrainApplication; | 931 | TerrainUploader.TerrainUploadDone += HandleTerrainApplication; |
932 | TerrainUploader.RequestStartXfer(remote_client); | ||
933 | } | ||
934 | else | ||
935 | { | ||
936 | remote_client.SendAlertMessage("Another Terrain Upload is in progress. Please wait your turn!"); | ||
933 | } | 937 | } |
934 | TerrainUploader.RequestStartXfer(remote_client); | ||
935 | |||
936 | } | 938 | } |
937 | else | 939 | } |
940 | |||
941 | public bool IsTerrainXfer(ulong xferID) | ||
942 | { | ||
943 | lock (this) | ||
938 | { | 944 | { |
939 | remote_client.SendAlertMessage("Another Terrain Upload is in progress. Please wait your turn!"); | 945 | if (TerrainUploader == null) |
946 | return false; | ||
947 | else | ||
948 | return TerrainUploader.XferID == xferID; | ||
940 | } | 949 | } |
941 | } | 950 | } |
942 | 951 | ||
@@ -1221,7 +1230,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
1221 | client.OnEstateRestartSimRequest += handleEstateRestartSimRequest; | 1230 | client.OnEstateRestartSimRequest += handleEstateRestartSimRequest; |
1222 | client.OnEstateChangeCovenantRequest += handleChangeEstateCovenantRequest; | 1231 | client.OnEstateChangeCovenantRequest += handleChangeEstateCovenantRequest; |
1223 | client.OnEstateChangeInfo += handleEstateChangeInfo; | 1232 | client.OnEstateChangeInfo += handleEstateChangeInfo; |
1224 | client.OnEstateManageTelehub += handleOnEstateManageTelehub; | 1233 | client.OnEstateManageTelehub += HandleOnEstateManageTelehub; |
1225 | client.OnUpdateEstateAccessDeltaRequest += handleEstateAccessDeltaRequest; | 1234 | client.OnUpdateEstateAccessDeltaRequest += handleEstateAccessDeltaRequest; |
1226 | client.OnSimulatorBlueBoxMessageRequest += SendSimulatorBlueBoxMessage; | 1235 | client.OnSimulatorBlueBoxMessageRequest += SendSimulatorBlueBoxMessage; |
1227 | client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; | 1236 | client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; |