From 39c078202d6441fad4de1c92d0b61d05937595be Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Sat, 10 May 2014 23:32:22 +0900 Subject: Added BKE_freestyle_lineset_delete() by generalizing FRS_delete_active_lineset(). --- source/blender/blenkernel/BKE_freestyle.h | 1 + source/blender/blenkernel/intern/freestyle.c | 15 +++++++++++++++ .../freestyle/intern/blender_interface/FRS_freestyle.cpp | 9 +-------- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/source/blender/blenkernel/BKE_freestyle.h b/source/blender/blenkernel/BKE_freestyle.h index 84a4bc255af..e3e73cddbc0 100644 --- a/source/blender/blenkernel/BKE_freestyle.h +++ b/source/blender/blenkernel/BKE_freestyle.h @@ -51,6 +51,7 @@ void BKE_freestyle_module_move_down(FreestyleConfig *config, FreestyleModuleConf /* FreestyleConfig.linesets */ FreestyleLineSet *BKE_freestyle_lineset_add(FreestyleConfig *config); +bool BKE_freestyle_lineset_delete(FreestyleConfig *config, FreestyleLineSet *lineset); FreestyleLineSet *BKE_freestyle_lineset_get_active(FreestyleConfig *config); short BKE_freestyle_lineset_get_active_index(FreestyleConfig *config); void BKE_freestyle_lineset_set_active_index(FreestyleConfig *config, short index); diff --git a/source/blender/blenkernel/intern/freestyle.c b/source/blender/blenkernel/intern/freestyle.c index f5a9ba4e241..2ab49538ba2 100644 --- a/source/blender/blenkernel/intern/freestyle.c +++ b/source/blender/blenkernel/intern/freestyle.c @@ -195,6 +195,21 @@ FreestyleLineSet *BKE_freestyle_lineset_add(FreestyleConfig *config) return lineset; } +bool BKE_freestyle_lineset_delete(FreestyleConfig *config, FreestyleLineSet *lineset) +{ + if (BLI_findindex(&config->linesets, lineset) == -1) + return false; + if (lineset->group) { + lineset->group->id.us--; + } + if (lineset->linestyle) { + lineset->linestyle->id.us--; + } + BLI_remlink(&config->linesets, lineset); + MEM_freeN(lineset); + return true; +} + FreestyleLineSet *BKE_freestyle_lineset_get_active(FreestyleConfig *config) { FreestyleLineSet *lineset; diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp index b592c1152b1..a0e2fc90641 100644 --- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp +++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp @@ -711,14 +711,7 @@ void FRS_delete_active_lineset(FreestyleConfig *config) FreestyleLineSet *lineset = BKE_freestyle_lineset_get_active(config); if (lineset) { - if (lineset->group) { - lineset->group->id.us--; - } - if (lineset->linestyle) { - lineset->linestyle->id.us--; - } - BLI_remlink(&config->linesets, lineset); - MEM_freeN(lineset); + BKE_freestyle_lineset_delete(config, lineset); BKE_freestyle_lineset_set_active_index(config, 0); } } -- cgit v1.2.3