[Bf-blender-cvs] [be98fcc6e27] blender2.8: Fix T59273: Text object disappears when Fill Mode is set to None
Jacques Lucke
noreply at git.blender.org
Wed Dec 19 15:56:31 CET 2018
Commit: be98fcc6e27e5e42aaf515d238ba6a1297f751a1
Author: Jacques Lucke
Date: Wed Dec 19 15:53:29 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBbe98fcc6e27e5e42aaf515d238ba6a1297f751a1
Fix T59273: Text object disappears when Fill Mode is set to None
Reviewers: fclem
Differential Revision: https://developer.blender.org/D4103
===================================================================
M source/blender/draw/modes/edit_text_mode.c
M source/blender/draw/modes/object_mode.c
===================================================================
diff --git a/source/blender/draw/modes/edit_text_mode.c b/source/blender/draw/modes/edit_text_mode.c
index cb87a015717..40cbd876473 100644
--- a/source/blender/draw/modes/edit_text_mode.c
+++ b/source/blender/draw/modes/edit_text_mode.c
@@ -337,7 +337,8 @@ static void EDIT_TEXT_cache_populate(void *vedata, Object *ob)
/* Get geometry cache */
struct GPUBatch *geom;
- if (cu->flag & CU_FAST) {
+ bool has_surface = (cu->flag & (CU_FRONT | CU_BACK)) || cu->ext1 != 0.0f || cu->ext2 != 0.0f;
+ if ((cu->flag & CU_FAST) || !has_surface) {
geom = DRW_cache_text_edge_wire_get(ob);
if (geom) {
DRW_shgroup_call_add(stl->g_data->wire_shgrp, geom, ob->obmat);
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index c51498b4368..91e41f75bed 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -2809,6 +2809,25 @@ static void OBJECT_cache_populate(void *vedata, Object *ob)
}
break;
}
+ case OB_FONT:
+ {
+ if (hide_object_extra) {
+ break;
+ }
+ Curve *cu = (Curve *)ob->data;
+ bool has_surface = (cu->flag & (CU_FRONT | CU_BACK)) || cu->ext1 != 0.0f || cu->ext2 != 0.0f;
+ if (!has_surface) {
+ struct GPUBatch *geom = DRW_cache_text_edge_wire_get(ob);
+ if (geom) {
+ if (theme_id == TH_UNDEFINED) {
+ theme_id = DRW_object_wire_theme_get(ob, view_layer, NULL);
+ }
+ DRWShadingGroup *shgroup = shgroup_theme_id_to_wire_or(sgl, theme_id, sgl->wire);
+ DRW_shgroup_call_object_add(shgroup, geom, ob);
+ }
+ }
+ break;
+ }
default:
break;
}
More information about the Bf-blender-cvs
mailing list