From 71a22861eb105759d9d387179eee71b7d7c9253e Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 20 Dec 2019 14:20:38 -0800 Subject: [PATCH] Use ManagedStatic for CameraServer (#2174) --- .../src/main/native/cpp/cameraserver/CameraServer.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cameraserver/src/main/native/cpp/cameraserver/CameraServer.cpp b/cameraserver/src/main/native/cpp/cameraserver/CameraServer.cpp index 2302b1abaf..f7647de362 100644 --- a/cameraserver/src/main/native/cpp/cameraserver/CameraServer.cpp +++ b/cameraserver/src/main/native/cpp/cameraserver/CameraServer.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -47,8 +48,14 @@ struct CameraServer::Impl { }; CameraServer* CameraServer::GetInstance() { - static CameraServer instance; - return &instance; + struct Creator { + static void* call() { return new CameraServer{}; } + }; + struct Deleter { + static void call(void* ptr) { delete static_cast(ptr); } + }; + static wpi::ManagedStatic instance; + return &(*instance); } static wpi::StringRef MakeSourceValue(CS_Source source,