[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