summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2016-05-10 11:57:20 -0400
committerBernard Normier <bernard@zeroc.com>2016-05-10 11:57:20 -0400
commit88ff7b818fa22e7be9f01725e79659e51b6e3b64 (patch)
treecbd343695642bc9e136be4e3d5022c470bea0a49 /cpp/src
parentFix for 7134 - disable OpenSSL initialization for IcePHP & Ubuntu (diff)
downloadice-88ff7b818fa22e7be9f01725e79659e51b6e3b64.tar.bz2
ice-88ff7b818fa22e7be9f01725e79659e51b6e3b64.tar.xz
ice-88ff7b818fa22e7be9f01725e79659e51b6e3b64.zip
Added back C++98 fix for AIX
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceGridLib/PluginFacadeI.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/cpp/src/IceGridLib/PluginFacadeI.cpp b/cpp/src/IceGridLib/PluginFacadeI.cpp
index 6bcd4f92358..19496104190 100644
--- a/cpp/src/IceGridLib/PluginFacadeI.cpp
+++ b/cpp/src/IceGridLib/PluginFacadeI.cpp
@@ -18,9 +18,12 @@ using namespace IceGrid;
namespace
{
-RegistryPluginFacadePtr pluginFacade;
-
-};
+#ifdef ICE_CPP11_MAPPING
+std::shared_ptr<RegistryPluginFacade> pluginFacade;
+#else
+RegistryPluginFacade* pluginFacade = 0;
+#endif
+}
namespace IceGrid
{
@@ -38,5 +41,17 @@ IceGrid::getRegistryPluginFacade()
void
IceGrid::setRegistryPluginFacade(const RegistryPluginFacadePtr& facade)
{
+#ifdef ICE_CPP11_MAPPING
pluginFacade = facade;
+#else
+ if(pluginFacade)
+ {
+ pluginFacade->__decRef();
+ }
+ pluginFacade = facade.get();
+ if(pluginFacade)
+ {
+ pluginFacade->__incRef();
+ }
+#endif
}