aboutsummaryrefslogtreecommitdiffstats
path: root/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp')
-rw-r--r--devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp b/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp
new file mode 100644
index 000000000000..cadd284f3d60
--- /dev/null
+++ b/devel/ice37/files/patch-cpp-src-IceGrid-PluginFacadeI.cpp
@@ -0,0 +1,23 @@
+--- cpp/src/IceGrid/PluginFacadeI.cpp.orig 2018-04-20 15:02:08 UTC
++++ cpp/src/IceGrid/PluginFacadeI.cpp
+@@ -34,10 +34,16 @@ public:
+ IceGrid::setRegistryPluginFacade(new RegistryPluginFacadeI);
+ }
+
+- ~Init()
+- {
+- IceGrid::setRegistryPluginFacade(0);
+- }
++/* This is a bad idea, see
++ * https://isocpp.org/wiki/faq/ctors#construct-on-first-use-v2
++ * That's why we disabled it and make sure the registrypluginfacace
++ * is reset somwhere else. Construction is still here, so that
++ * registry plugins work as expected.
++ * ~Init()
++ * {
++ * IceGrid::setRegistryPluginFacade(0);
++ * }
++ */
+ };
+
+ Init init;