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:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-05-10 18:32:22 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-05-11 12:57:40 +0400
commit39c078202d6441fad4de1c92d0b61d05937595be (patch)
tree6b289642ffa2edc6d3b6e5c16a8ece99c8e8785a
parentc88e65da61ff8a0aeaa2df0330e69654b08f7b7e (diff)
Added BKE_freestyle_lineset_delete() by generalizing FRS_delete_active_lineset().
-rw-r--r--source/blender/blenkernel/BKE_freestyle.h1
-rw-r--r--source/blender/blenkernel/intern/freestyle.c15
-rw-r--r--source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp9
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);
}
}