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:
authorSybren A. Stüvel <sybren@blender.org>2019-07-16 16:06:25 +0300
committerSybren A. Stüvel <sybren@blender.org>2019-07-16 16:06:25 +0300
commite6e69a28ab28631b2b1b99f55fb618459e7671ad (patch)
tree42684562cb6bbf9ddf10ca3708f31147a500c653 /source/blender/editors/include/ED_screen.h
parentdd3e3474abcb9c07ba0bd26f6b8940fc906d97a5 (diff)
Fixed crash when adding/removing custom normals from pinned mesh
When a mesh is pinned in the properties panel, Blender crashes when you click the "Add Custom Split Normals Data". The code calls `ob = ED_object_context(C)` which returns NULL when the mesh is pinned in the properties panel, causing a segfault when trying to get the mesh via `ob->data`. A new function `ED_mesh_context(C)` avoids this by first checking whether a mesh was pinned in the context. If not, it checks the pinned object's data. If that's not there, or it's not a mesh, it returns the active object's mesh. Finally it returns NULL if there is no active object, or if the active object is not a mesh object. Reviewed By: brecht, mont29 Differential Revision: https://developer.blender.org/D5223
Diffstat (limited to 'source/blender/editors/include/ED_screen.h')
-rw-r--r--source/blender/editors/include/ED_screen.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index fc43144417a..e67a3b003fc 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -337,6 +337,7 @@ bool ED_operator_object_active(struct bContext *C);
bool ED_operator_object_active_editable(struct bContext *C);
bool ED_operator_object_active_editable_mesh(struct bContext *C);
bool ED_operator_object_active_editable_font(struct bContext *C);
+bool ED_operator_editable_mesh(struct bContext *C);
bool ED_operator_editmesh(struct bContext *C);
bool ED_operator_editmesh_view3d(struct bContext *C);
bool ED_operator_editmesh_region_view3d(struct bContext *C);