Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-04 19:35:07 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-04 19:58:55 +0300
commitbd5394f6c0bec4eb969aa8bd24b072d7dd9ab04d (patch)
treede12a648b59fa06625a8206d1471c7f765aa2949 /source/blender/freestyle/intern/view_map
parent0d736d689671c4c28a8bda6ca1f8ab61726142b5 (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.h14
-rw-r--r--source/blender/freestyle/intern/view_map/ViewMap.h4
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();
}