Revision: 46587
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46587
Author:   campbellbarton
Date:     2012-05-12 21:29:25 +0000 (Sat, 12 May 2012)
Log Message:
-----------
replace GP_PAINTFLAG_STROKEADDED with a NULL check, saves worrying about 
keeping the flag correct after undo.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/gpencil/gpencil_paint.c

Modified: trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_paint.c        
2012-05-12 21:23:02 UTC (rev 46586)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_paint.c        
2012-05-12 21:29:25 UTC (rev 46587)
@@ -128,8 +128,7 @@
 
 /* Runtime flags */
 enum {
-       GP_PAINTFLAG_FIRSTRUN       = (1 << 0),   /* operator just started */
-       GP_PAINTFLAG_STROKEADDED    = (1 << 1)    /* stroke was already added 
during draw session */
+       GP_PAINTFLAG_FIRSTRUN       = (1 << 0)    /* operator just started */
 };
 
 /* ------ */
@@ -143,6 +142,11 @@
 /* minimum length of new segment before new point can be added */
 #define MIN_EUCLIDEAN_PX    (U.gp_euclideandist)
 
+static int gp_stroke_is_added(tGPsdata *p)
+{
+       return (p->gpf && p->gpf->strokes.last);
+}
+
 /* ------ */
 /* Forward defines for some functions... */
 
@@ -322,11 +326,6 @@
        bGPdata *gpd = p->gpd;
        tGPspoint *pt;
 
-       /* sanity check, can happen after undo [#31427] */
-       if (p->flags & GP_PAINTFLAG_STROKEADDED && p->gpf->strokes.last == 
NULL) {
-               p->flags &= ~GP_PAINTFLAG_STROKEADDED;
-       }
-
        /* check painting mode */
        if (p->paintmode == GP_PAINTMODE_DRAW_STRAIGHT) {
                /* straight lines only - i.e. only store start and end point in 
buffer */
@@ -395,7 +394,7 @@
                 * to stroke. This allows to draw lines more interactively (see 
new segment
                 * during mouse slide, i.e.) 
                 */
-               if (p->flags & GP_PAINTFLAG_STROKEADDED) {
+               if (gp_stroke_is_added(p)) {
                        bGPDstroke *gps = p->gpf->strokes.last;
                        bGPDspoint *pts;
 
@@ -583,8 +582,9 @@
         * coordinates are getting added to stroke immediately to allow more
         * interactive behavior */
        if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
-               if (p->flags & GP_PAINTFLAG_STROKEADDED)
+               if (gp_stroke_is_added(p)) {
                        return;
+               }
        }
 
        /* allocate memory for a new stroke */
@@ -715,8 +715,6 @@
                if (depth_arr)
                        MEM_freeN(depth_arr);
        }
-       
-       p->flags |= GP_PAINTFLAG_STROKEADDED;
 
        /* add stroke to frame */
        BLI_addtail(&p->gpf->strokes, gps);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to