From 4f52167a781b665d4ec1e9ed17018628c4498cf6 Mon Sep 17 00:00:00 2001 From: whitequark Date: Wed, 18 Jul 2018 23:49:51 +0000 Subject: [PATCH] Use std::shared_ptr instead of std::unique_ptr for Platform::TimerRef. We currently support MSVC 2013, and MSVC 2013 has weird bugs around std::unique_ptr; the one we hit is Connect ID 858243. You can't actually open the bug report anymore because Microsoft has shut down Microsoft Connect. We probably shouldn't support a compiler so old its bugtracker doesn't exist anymore, but there isn't any very good reason to use unique_ptr for TimerRef either, so let's change that for the time being. --- src/platform/gui.h | 2 +- src/platform/guigtk.cpp | 2 +- src/platform/guimac.mm | 2 +- src/platform/guinone.cpp | 2 +- src/platform/guiwin.cpp | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/platform/gui.h b/src/platform/gui.h index a2512a7..ecfc69f 100644 --- a/src/platform/gui.h +++ b/src/platform/gui.h @@ -140,7 +140,7 @@ public: virtual void RunAfterProcessingEvents() { RunAfter(0); } }; -typedef std::unique_ptr TimerRef; +typedef std::shared_ptr TimerRef; TimerRef CreateTimer(); diff --git a/src/platform/guigtk.cpp b/src/platform/guigtk.cpp index ec5df52..cf0c137 100644 --- a/src/platform/guigtk.cpp +++ b/src/platform/guigtk.cpp @@ -218,7 +218,7 @@ public: }; TimerRef CreateTimer() { - return std::unique_ptr(new TimerImplGtk); + return std::make_shared(); } //----------------------------------------------------------------------------- diff --git a/src/platform/guimac.mm b/src/platform/guimac.mm index 43e2b67..472087f 100644 --- a/src/platform/guimac.mm +++ b/src/platform/guimac.mm @@ -187,7 +187,7 @@ public: }; TimerRef CreateTimer() { - return std::unique_ptr(new TimerImplCocoa); + return std::make_shared(); } //----------------------------------------------------------------------------- diff --git a/src/platform/guinone.cpp b/src/platform/guinone.cpp index d415e4f..0307745 100644 --- a/src/platform/guinone.cpp +++ b/src/platform/guinone.cpp @@ -89,7 +89,7 @@ public: }; TimerRef CreateTimer() { - return std::unique_ptr(new TimerImplDummy); + return std::make_shared(); } //----------------------------------------------------------------------------- diff --git a/src/platform/guiwin.cpp b/src/platform/guiwin.cpp index 469e052..fa64175 100644 --- a/src/platform/guiwin.cpp +++ b/src/platform/guiwin.cpp @@ -258,7 +258,7 @@ public: }; TimerRef CreateTimer() { - return std::unique_ptr(new TimerImplWin32); + return std::make_shared(); } //-----------------------------------------------------------------------------