diff options
author | Leith Bade <leith@mapbox.com> | 2015-08-18 16:38:01 +1000 |
---|---|---|
committer | Leith Bade <leith@mapbox.com> | 2015-08-18 16:38:01 +1000 |
commit | a093182c278181c914b951edf7f8991e75714912 (patch) | |
tree | faaf347fe8aea19a3cdce9d4a45a4e09938656fb | |
parent | ea609df0c40c9e041726787c23746a6f5887aeb7 (diff) | |
parent | 9534d6256b370740b59102630dfb517399ca0fc7 (diff) | |
download | qtlocation-mapboxgl-a093182c278181c914b951edf7f8991e75714912.tar.gz |
Merge pull request #2030 from mapbox/2029-log-threadcontext
Fix ThreadContext to check for valid current pointer
-rw-r--r-- | src/mbgl/util/thread_context.hpp | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/src/mbgl/util/thread_context.hpp b/src/mbgl/util/thread_context.hpp index a2be0cd364..626925bdcd 100644 --- a/src/mbgl/util/thread_context.hpp +++ b/src/mbgl/util/thread_context.hpp @@ -36,27 +36,51 @@ public: } static std::string getName() { - return current.get()->name; + if (current.get() != nullptr) { + return current.get()->name; + } else { + return "Unknown"; + } } static ThreadPriority getPriority() { - return current.get()->priority; + if (current.get() != nullptr) { + return current.get()->priority; + } else { + return ThreadPriority::Regular; + } } static FileSource* getFileSource() { - return current.get()->fileSource; + if (current.get() != nullptr) { + return current.get()->fileSource; + } else { + return nullptr; + } } static void setFileSource(FileSource* fileSource) { - current.get()->fileSource = fileSource; + if (current.get() != nullptr) { + current.get()->fileSource = fileSource; + } else { + throw new std::runtime_error("Current thread has no current ThreadContext."); + } } static GLObjectStore* getGLObjectStore() { - return current.get()->glObjectStore; + if (current.get() != nullptr) { + return current.get()->glObjectStore; + } else { + return nullptr; + } } static void setGLObjectStore(GLObjectStore* glObjectStore) { - current.get()->glObjectStore = glObjectStore; + if (current.get() != nullptr) { + current.get()->glObjectStore = glObjectStore; + } else { + throw new std::runtime_error("Current thread has no current ThreadContext."); + } } private: |