Revision: 59313
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59313
Author:   mont29
Date:     2013-08-19 22:46:32 +0000 (Mon, 19 Aug 2013)
Log Message:
-----------
Fix GPencil part of [#36101] BSurface Throw an Error When Press "Add Surface"

gpencil_data_get_active and gpencil_data_get_active_v3d did not have consistent 
behavior when we had an active object, but not on any visible layer (the first 
would return the default scene gpd in this case, while the first was still 
returning active object's one). Now they both return scene's one.

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

Modified: trunk/blender/source/blender/editors/gpencil/gpencil_edit.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_edit.c 2013-08-19 
20:09:02 UTC (rev 59312)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_edit.c 2013-08-19 
22:46:32 UTC (rev 59313)
@@ -192,7 +192,16 @@
 /* needed for offscreen rendering */
 bGPdata *gpencil_data_get_active_v3d(Scene *scene)
 {
-       bGPdata *gpd = scene->basact ? scene->basact->object->gpd : NULL;
+       Base *base = scene->basact;
+       bGPdata *gpd = base ? base->object->gpd : NULL;
+       if (base && gpd) {
+               /* We have to make sure active object is actually visible, else 
we must use default scene gpd,
+                * to be consistent with gpencil_data_get_active's behavior.
+                */
+               if ((scene->lay & base->lay) == 0) {
+                       gpd = NULL;
+               }
+       }
        return gpd ? gpd : scene->gpd;
 }
 

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to