[Bf-blender-cvs] [39c0782] master: Added BKE_freestyle_lineset_delete() by generalizing FRS_delete_active_lineset().
Tamito Kajiyama
noreply at git.blender.org
Sun May 11 10:58:23 CEST 2014
Commit: 39c078202d6441fad4de1c92d0b61d05937595be
Author: Tamito Kajiyama
Date: Sat May 10 23:32:22 2014 +0900
https://developer.blender.org/rB39c078202d6441fad4de1c92d0b61d05937595be
Added BKE_freestyle_lineset_delete() by generalizing FRS_delete_active_lineset().
===================================================================
M source/blender/blenkernel/BKE_freestyle.h
M source/blender/blenkernel/intern/freestyle.c
M source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
===================================================================
diff --git a/source/blender/blenkernel/BKE_freestyle.h b/source/blender/blenkernel/BKE_freestyle.h
index 84a4bc2..e3e73cd 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 f5a9ba4..2ab4953 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 b592c11..a0e2fc9 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);
}
}
More information about the Bf-blender-cvs
mailing list