From 070c95dfe4c01985ed188739a075dc672c678746 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Thu, 11 Oct 2018 18:49:03 +0200 Subject: GP: Invert merge down if layer list is reversed --- source/blender/editors/gpencil/gpencil_data.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/gpencil/gpencil_data.c') 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"); -- cgit v1.2.3