[mapguide-commits] r10158 - branches/4.0/MgDev/Server/src/Services/Mapping

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Jul 24 07:41:19 PDT 2025


Author: jng
Date: 2025-07-24 07:41:18 -0700 (Thu, 24 Jul 2025)
New Revision: 10158

Modified:
   branches/4.0/MgDev/Server/src/Services/Mapping/RSMgFeatureReader.cpp
Log:
Don't rethrow FdoExceptions from RSMgFeatureReader as the most direct parent catch handler (selection rendering) does not catch FdoExceptions meaning these will be rethrown as MgUnclassifiedExceptions and (more importantly) they will leak because the unclassified handler does not have logic to release caught FdoExceptions

Modified: branches/4.0/MgDev/Server/src/Services/Mapping/RSMgFeatureReader.cpp
===================================================================
--- branches/4.0/MgDev/Server/src/Services/Mapping/RSMgFeatureReader.cpp	2025-07-21 07:35:37 UTC (rev 10157)
+++ branches/4.0/MgDev/Server/src/Services/Mapping/RSMgFeatureReader.cpp	2025-07-24 14:41:18 UTC (rev 10158)
@@ -28,17 +28,13 @@
 //we want to catch the MgException and rethrow a FdoException which
 //the Stylizer knows how to catch and release. It does not know about
 //MgExceptions so it can't properly release them
-#define RSFR_TRY() try {
-#define RSFR_CATCH()   }                                                                    \
-                       catch (MgException* ex)                                              \
-                       {                                                                    \
-                           STRING message;                                                  \
-                           message = ex->GetExceptionMessage();                             \
-                           ex->Release();                                                   \
-                           throw FdoException::Create(message.c_str());                     \
-                       }
+//
+//UPDATE 25/07/2025: DefaultStylizer does not even catch! Meaning FDO exceptions rethrown
+//are leaking as its most direct parent catch handler is not set for catching FdoExceptions. As
+//a result, these macros are empty stubs until further notice
+#define RSFR_TRY()   {
+#define RSFR_CATCH() }
 
-
 RSMgFeatureReader::RSMgFeatureReader(MgFeatureReader* reader, MgFeatureService* svcFeature, MgResourceIdentifier* featResId, MgFeatureQueryOptions* options, const STRING& geomPropName)
 {
     _ASSERT(NULL != reader);



More information about the mapguide-commits mailing list