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:
authorAntonioya <blendergit@gmail.com>2018-10-11 19:49:03 +0300
committerAntonioya <blendergit@gmail.com>2018-10-11 19:49:03 +0300
commit070c95dfe4c01985ed188739a075dc672c678746 (patch)
treeacff5e6589b0dd62142cfef5ef640e0fbbe14e47 /source/blender/editors/gpencil/gpencil_data.c
parentd6dc8cda8b7a70f23db745d63e8119ff67212909 (diff)
GP: Invert merge down if layer list is reversed
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_data.c')
-rw-r--r--source/blender/editors/gpencil/gpencil_data.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/editors/gpencil/gpencil_data.c b/source/blender/editors/gpencil/gpencil_data.c
index 068478af325..bfaf0ee2659 100644
--- a/source/blender/editors/gpencil/gpencil_data.c
+++ b/source/blender/editors/gpencil/gpencil_data.c
@@ -1083,8 +1083,18 @@ void GPENCIL_OT_layer_isolate(wmOperatorType *ot)
static int gp_merge_layer_exec(bContext *C, wmOperator *op)
{
bGPdata *gpd = ED_gpencil_data_get_active(C);
- bGPDlayer *gpl_current = BKE_gpencil_layer_getactive(gpd);
- bGPDlayer *gpl_next = gpl_current->next;
+ const bool reverse = (bool)(U.gp_settings & GP_PAINT_REVERSE_LAYERS);
+ bGPDlayer *gpl_current = NULL;
+ bGPDlayer *gpl_next = NULL;
+
+ if (!reverse) {
+ gpl_current = BKE_gpencil_layer_getactive(gpd);
+ gpl_next = gpl_current->next;
+ }
+ else {
+ gpl_next = BKE_gpencil_layer_getactive(gpd);
+ gpl_current = gpl_next->prev;
+ }
if (ELEM(NULL, gpd, gpl_current, gpl_next)) {
BKE_report(op->reports, RPT_ERROR, "No layers to merge");