diff options
author | Antonioya <blendergit@gmail.com> | 2018-10-31 13:00:02 +0300 |
---|---|---|
committer | Antonioya <blendergit@gmail.com> | 2018-10-31 13:00:28 +0300 |
commit | 14e1dfda4e145fb4d6975fd1531fad149b761bbb (patch) | |
tree | a6f4811ddf599540f871c77a1dd9d0c918e55951 /source/blender/blenkernel/intern/gpencil.c | |
parent | 7bc84559aa80841591f1ccf5c09f843931d6dabb (diff) |
GP: New Autolock Inactive Layer
This option locks any layer no active to avoid any accidental change.
Diffstat (limited to 'source/blender/blenkernel/intern/gpencil.c')
-rw-r--r-- | source/blender/blenkernel/intern/gpencil.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c index 97aed40e998..63d7f3697f0 100644 --- a/source/blender/blenkernel/intern/gpencil.c +++ b/source/blender/blenkernel/intern/gpencil.c @@ -996,11 +996,18 @@ void BKE_gpencil_layer_setactive(bGPdata *gpd, bGPDlayer *active) return; /* loop over layers deactivating all */ - for (gpl = gpd->layers.first; gpl; gpl = gpl->next) + for (gpl = gpd->layers.first; gpl; gpl = gpl->next) { gpl->flag &= ~GP_LAYER_ACTIVE; + if (gpd->flag & GP_DATA_AUTOLOCK_LAYERS) { + gpl->flag |= GP_LAYER_LOCKED; + } + } /* set as active one */ active->flag |= GP_LAYER_ACTIVE; + if (gpd->flag & GP_DATA_AUTOLOCK_LAYERS) { + active->flag &= ~GP_LAYER_LOCKED; + } } /* delete the active gp-layer */ |