[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59444] trunk/blender/source/blender/ editors/gpencil/gpencil_edit.c: Related to [#36548] "Grease Pencil" Problems
Bastien Montagne
montagne29 at wanadoo.fr
Fri Aug 23 23:26:59 CEST 2013
Revision: 59444
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59444
Author: mont29
Date: 2013-08-23 21:26:59 +0000 (Fri, 23 Aug 2013)
Log Message:
-----------
Related to [#36548] "Grease Pencil" Problems
Use scene's GPencil when active object is deselected. Else it can be tricky and not user-friendly to access to the scene's GPencil once some objects have GPencil data (you have to select/active a non-gpencil object, or switch to a layout without active object...).
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-23 21:13:30 UTC (rev 59443)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_edit.c 2013-08-23 21:26:59 UTC (rev 59444)
@@ -106,8 +106,8 @@
/* TODO: we can include other data-types such as bones later if need be... */
- /* just in case no active object */
- if (ob) {
+ /* just in case no active/selected object */
+ if (ob && (ob->flag & SELECT)) {
/* for now, as long as there's an object, default to using that in 3D-View */
if (ptr) RNA_id_pointer_create(&ob->id, ptr);
return &ob->gpd;
@@ -193,14 +193,12 @@
bGPdata *gpencil_data_get_active_v3d(Scene *scene)
{
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;
- }
+ bGPdata *gpd = NULL;
+ /* We have to make sure active object is actually visible and selected, else we must use default scene gpd,
+ * to be consistent with gpencil_data_get_active's behavior.
+ */
+ if (base && (scene->lay & base->lay) && (base->object->flag & SELECT)) {
+ gpd = base->object->gpd;
}
return gpd ? gpd : scene->gpd;
}
More information about the Bf-blender-cvs
mailing list