diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-04 19:35:07 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-04 19:58:55 +0300 |
commit | bd5394f6c0bec4eb969aa8bd24b072d7dd9ab04d (patch) | |
tree | de12a648b59fa06625a8206d1471c7f765aa2949 /source/blender/freestyle/intern/view_map | |
parent | 0d736d689671c4c28a8bda6ca1f8ab61726142b5 (diff) |
Fix T57890: freestyle rendering crash.
Depsgraph objects are deleted after conversion to Freestyle data structures,
so don't keep a pointer to their name strings.
Diffstat (limited to 'source/blender/freestyle/intern/view_map')
-rw-r--r-- | source/blender/freestyle/intern/view_map/Silhouette.h | 14 | ||||
-rw-r--r-- | source/blender/freestyle/intern/view_map/ViewMap.h | 4 |
2 files changed, 8 insertions, 10 deletions
diff --git a/source/blender/freestyle/intern/view_map/Silhouette.h b/source/blender/freestyle/intern/view_map/Silhouette.h index a18cf41797b..4276409190e 100644 --- a/source/blender/freestyle/intern/view_map/Silhouette.h +++ b/source/blender/freestyle/intern/view_map/Silhouette.h @@ -1415,8 +1415,8 @@ private: vector<SVertex*> _verticesList; // list of all vertices vector<FEdge*> _edgesList; // list of all edges Id _Id; - const char *_Name; - const char *_LibraryPath; + string _Name; + string _LibraryPath; BBox<Vec3r> _BBox; vector<FrsMaterial> _FrsMaterials; @@ -1436,8 +1436,6 @@ public: userdata = NULL; _importance = 0.0f; _ViewShape = NULL; - _Name = NULL; - _LibraryPath = NULL; } /*! Copy constructor */ @@ -1891,13 +1889,13 @@ public: } /*! Returns the name of the Shape. */ - inline const char *getName() const + inline const string& getName() const { return _Name; } /*! Returns the library path of the Shape. */ - inline const char *getLibraryPath() const + inline const string& getLibraryPath() const { return _LibraryPath; } @@ -1910,13 +1908,13 @@ public: } /*! Sets the name of the shape.*/ - inline void setName(const char *name) + inline void setName(const string& name) { _Name = name; } /*! Sets the library path of the shape.*/ - inline void setLibraryPath(const char *path) + inline void setLibraryPath(const string& path) { _LibraryPath = path; } diff --git a/source/blender/freestyle/intern/view_map/ViewMap.h b/source/blender/freestyle/intern/view_map/ViewMap.h index 0acc6ca39d8..87b59dc1b54 100644 --- a/source/blender/freestyle/intern/view_map/ViewMap.h +++ b/source/blender/freestyle/intern/view_map/ViewMap.h @@ -1566,13 +1566,13 @@ public: } /*! Returns the ViewShape name. */ - inline const char *getName() const + inline const string& getName() const { return _SShape->getName(); } /*! Returns the ViewShape library path. */ - inline const char *getLibraryPath() const + inline const string& getLibraryPath() const { return _SShape->getLibraryPath(); } |