diff options
Diffstat (limited to 'cpp/src/IceGridLib/PluginFacadeI.cpp')
-rw-r--r-- | cpp/src/IceGridLib/PluginFacadeI.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cpp/src/IceGridLib/PluginFacadeI.cpp b/cpp/src/IceGridLib/PluginFacadeI.cpp index 6bcd4f92358..0b1748a852b 100644 --- a/cpp/src/IceGridLib/PluginFacadeI.cpp +++ b/cpp/src/IceGridLib/PluginFacadeI.cpp @@ -18,7 +18,7 @@ using namespace IceGrid; namespace { -RegistryPluginFacadePtr pluginFacade; +RegistryPluginFacade* pluginFacade = 0; }; @@ -38,5 +38,13 @@ IceGrid::getRegistryPluginFacade() void IceGrid::setRegistryPluginFacade(const RegistryPluginFacadePtr& facade) { - pluginFacade = facade; + if(pluginFacade) + { + pluginFacade->__decRef(); + } + pluginFacade = facade.get(); + if(pluginFacade) + { + pluginFacade->__incRef(); + } } |