[mapguide-commits] r4448 - trunk/MgDev/Common/MapGuideCommon/Services

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Dec 17 11:09:01 EST 2009


Author: waltweltonlair
Date: 2009-12-17 11:08:59 -0500 (Thu, 17 Dec 2009)
New Revision: 4448

Modified:
   trunk/MgDev/Common/MapGuideCommon/Services/SiteManager.cpp
Log:
Fix ref-count issue introduced with revision 4447.


Modified: trunk/MgDev/Common/MapGuideCommon/Services/SiteManager.cpp
===================================================================
--- trunk/MgDev/Common/MapGuideCommon/Services/SiteManager.cpp	2009-12-17 08:25:27 UTC (rev 4447)
+++ trunk/MgDev/Common/MapGuideCommon/Services/SiteManager.cpp	2009-12-17 16:08:59 UTC (rev 4448)
@@ -471,7 +471,7 @@
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
-    MgSiteInfo* matchingSiteInfo = NULL;
+    Ptr<MgSiteInfo> matchingSiteInfo;
 
     for (INT32 i = 0; i < (INT32)m_sites.size(); i++)
     {
@@ -482,12 +482,12 @@
                 siteInfo->GetPort(MgSiteInfo::Client) == port ||
                 siteInfo->GetPort(MgSiteInfo::Admin)  == port))
         {
-            matchingSiteInfo = siteInfo;
+            matchingSiteInfo = SAFE_ADDREF(siteInfo);
             break;
         }
     }
 
-    return SAFE_ADDREF(matchingSiteInfo);
+    return matchingSiteInfo.Detach();
 }
 
 ///----------------------------------------------------------------------------
@@ -498,7 +498,7 @@
 ///----------------------------------------------------------------------------
 MgSiteInfo* MgSiteManager::GetSiteInfo(CREFSTRING hexString)
 {
-    MgSiteInfo* matchingSiteInfo = NULL;
+    Ptr<MgSiteInfo> matchingSiteInfo;
 
     if(hexString.length() >= MgSiteInfo::HexStringLength)
     {
@@ -526,7 +526,7 @@
                     siteInfo->GetPort(MgSiteInfo::Client) == clientPort ||
                     siteInfo->GetPort(MgSiteInfo::Admin)  == adminPort))
             {
-                matchingSiteInfo = siteInfo;
+                matchingSiteInfo = SAFE_ADDREF(siteInfo);
                 break;
             }
         }
@@ -535,7 +535,7 @@
     if (matchingSiteInfo == NULL)
         matchingSiteInfo = new MgSiteInfo(hexString);
 
-    return SAFE_ADDREF(matchingSiteInfo);
+    return matchingSiteInfo.Detach();
 }
 
 MgSiteVector* MgSiteManager::GetSites()



More information about the mapguide-commits mailing list