diff options
author | Mike Morris <michael.patrick.morris@gmail.com> | 2014-10-06 18:05:10 -0400 |
---|---|---|
committer | Mike Morris <michael.patrick.morris@gmail.com> | 2014-10-06 18:05:10 -0400 |
commit | 41dac96408a08e3ad2fca7bbe1e7572db85acd13 (patch) | |
tree | 89c667bc515c26bab90ba4111b3d3489e4a7bf16 /common | |
parent | 8b06b65f35445a1dc8490ede523a23fab46529fa (diff) | |
download | qtlocation-mapboxgl-41dac96408a08e3ad2fca7bbe1e7572db85acd13.tar.gz |
use shared_ptr for HeadlessDisplay in HeadlessView
Diffstat (limited to 'common')
-rw-r--r-- | common/headless_view.cpp | 12 | ||||
-rw-r--r-- | common/headless_view.hpp | 6 |
2 files changed, 10 insertions, 8 deletions
diff --git a/common/headless_view.cpp b/common/headless_view.cpp index cd8ee685d5..5e8770b7a7 100644 --- a/common/headless_view.cpp +++ b/common/headless_view.cpp @@ -5,18 +5,18 @@ namespace mbgl { -HeadlessView::HeadlessView() : display_(new HeadlessDisplay()) { +HeadlessView::HeadlessView() : display_ptr(std::make_shared<HeadlessDisplay>()) { createContext(); } -HeadlessView::HeadlessView(HeadlessDisplay *display) - : display_(display) { +HeadlessView::HeadlessView(HeadlessDisplay &display) + : display_ptr(std::make_shared<HeadlessDisplay>(display)) { createContext(); } void HeadlessView::createContext() { #if MBGL_USE_CGL - CGLError error = CGLCreateContext(display_->pixelFormat, NULL, &gl_context); + CGLError error = CGLCreateContext(display_ptr->pixelFormat, NULL, &gl_context); if (error) { fprintf(stderr, "Error creating GL context object\n"); return; @@ -30,8 +30,8 @@ void HeadlessView::createContext() { #endif #if MBGL_USE_GLX - x_display = display_->x_display; - x_info = display_->x_info; + x_display = display_ptr->x_display; + x_info = display_ptr->x_info; gl_context = glXCreateContext(x_display, x_info, 0, GL_TRUE); if (gl_context == nullptr) { diff --git a/common/headless_view.hpp b/common/headless_view.hpp index cef4213e90..5303f2c104 100644 --- a/common/headless_view.hpp +++ b/common/headless_view.hpp @@ -11,6 +11,8 @@ #include <mbgl/map/view.hpp> #include <mbgl/platform/gl.hpp> +#include <memory> + namespace mbgl { class HeadlessDisplay; @@ -18,7 +20,7 @@ class HeadlessDisplay; class HeadlessView : public View { public: HeadlessView(); - HeadlessView(HeadlessDisplay *display); + HeadlessView(HeadlessDisplay &display); ~HeadlessView(); void createContext(); @@ -36,7 +38,7 @@ private: private: - HeadlessDisplay *display_; + std::shared_ptr<HeadlessDisplay> display_ptr; #if MBGL_USE_CGL CGLContextObj gl_context; |