diff options
author | Melanie | 2010-11-05 13:31:45 +0000 |
---|---|---|
committer | Melanie | 2010-11-05 13:31:45 +0000 |
commit | 1c8d19d714cf8595680a88930287e4da222535ee (patch) | |
tree | 45c4445ad54f890113aa638d0d756f0f7f519def /OpenSim | |
parent | Add lsClearWindlightScene() to the lightshare module to remove WL settings (diff) | |
download | opensim-SC-1c8d19d714cf8595680a88930287e4da222535ee.zip opensim-SC-1c8d19d714cf8595680a88930287e4da222535ee.tar.gz opensim-SC-1c8d19d714cf8595680a88930287e4da222535ee.tar.bz2 opensim-SC-1c8d19d714cf8595680a88930287e4da222535ee.tar.xz |
Delete existing presences for a user ID when they log in again.
WARNING!!! This changes a default. The old default is to allow multiple
presences, the new default disables this. As the feature currently has no users,
this should not present any difficulty and will alleviate the presence
issues somewhat.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Services/PresenceService/PresenceService.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Services/PresenceService/PresenceService.cs b/OpenSim/Services/PresenceService/PresenceService.cs index 09c31c3..c8ac38e 100644 --- a/OpenSim/Services/PresenceService/PresenceService.cs +++ b/OpenSim/Services/PresenceService/PresenceService.cs | |||
@@ -45,10 +45,20 @@ namespace OpenSim.Services.PresenceService | |||
45 | LogManager.GetLogger( | 45 | LogManager.GetLogger( |
46 | MethodBase.GetCurrentMethod().DeclaringType); | 46 | MethodBase.GetCurrentMethod().DeclaringType); |
47 | 47 | ||
48 | protected bool m_allowDuplicatePresences = false; | ||
49 | |||
48 | public PresenceService(IConfigSource config) | 50 | public PresenceService(IConfigSource config) |
49 | : base(config) | 51 | : base(config) |
50 | { | 52 | { |
51 | m_log.Debug("[PRESENCE SERVICE]: Starting presence service"); | 53 | m_log.Debug("[PRESENCE SERVICE]: Starting presence service"); |
54 | |||
55 | IConfig presenceConfig = config.Configs["PresenceService"]; | ||
56 | if (presenceConfig != null) | ||
57 | { | ||
58 | m_allowDuplicatePresences = | ||
59 | presenceConfig.GetBoolean("AllowDuplicatePresences", | ||
60 | m_allowDuplicatePresences); | ||
61 | } | ||
52 | } | 62 | } |
53 | 63 | ||
54 | public bool LoginAgent(string userID, UUID sessionID, | 64 | public bool LoginAgent(string userID, UUID sessionID, |
@@ -57,6 +67,9 @@ namespace OpenSim.Services.PresenceService | |||
57 | //PresenceData[] d = m_Database.Get("UserID", userID); | 67 | //PresenceData[] d = m_Database.Get("UserID", userID); |
58 | //m_Database.Get("UserID", userID); | 68 | //m_Database.Get("UserID", userID); |
59 | 69 | ||
70 | if (!m_allowDuplicatePresences) | ||
71 | m_Database.Delete("UserID", userID.ToString()); | ||
72 | |||
60 | PresenceData data = new PresenceData(); | 73 | PresenceData data = new PresenceData(); |
61 | 74 | ||
62 | data.UserID = userID; | 75 | data.UserID = userID; |