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:
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_paint.c')
-rw-r--r--source/blender/editors/gpencil/gpencil_paint.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 59c9150fc14..c4df1bde1c2 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -1096,7 +1096,20 @@ static void gp_paint_initstroke (tGPsdata *p, short paintmode)
#endif
case SPACE_IMAGE:
{
- p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE;
+ SpaceImage *sima= (SpaceImage *)p->sa->spacedata.first;
+
+ /* only set these flags if the image editor doesn't have an image active,
+ * otherwise user will be confused by strokes not appearing after they're drawn
+ *
+ * Admittedly, this is a bit hacky, but it works much nicer from an ergonomic standpoint!
+ */
+ if ELEM(NULL, sima, sima->image) {
+ /* make strokes be drawn in screen space */
+ p->gpd->sbuffer_sflag &= ~GP_STROKE_2DSPACE;
+ p->gpd->flag &= ~GP_DATA_VIEWALIGN;
+ }
+ else
+ p->gpd->sbuffer_sflag |= GP_STROKE_2DSPACE;
}
break;
}