[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49598] trunk/blender/source/blender: fix for node clipboard leak on exit, also use blenders convention for function naming with BKE clipboard funcs.

Campbell Barton ideasman42 at gmail.com
Mon Aug 6 10:25:25 CEST 2012


Revision: 49598
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49598
Author:   campbellbarton
Date:     2012-08-06 08:25:24 +0000 (Mon, 06 Aug 2012)
Log Message:
-----------
fix for node clipboard leak on exit, also use blenders convention for function naming with BKE clipboard funcs.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_node.h
    trunk/blender/source/blender/blenkernel/intern/node.c
    trunk/blender/source/blender/editors/space_node/node_edit.c
    trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c

Modified: trunk/blender/source/blender/blenkernel/BKE_node.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_node.h	2012-08-06 08:02:08 UTC (rev 49597)
+++ trunk/blender/source/blender/blenkernel/BKE_node.h	2012-08-06 08:25:24 UTC (rev 49598)
@@ -386,11 +386,11 @@
 void            nodeSocketSetType(struct bNodeSocket *sock, int type);
 
 /* Node Clipboard */
-void nodeClipboardClear(void);
-void nodeClipboardAddNode(struct bNode *node);
-void nodeClipboardAddLink(struct bNodeLink *link);
-const struct ListBase *nodeClipboardGetNodes(void);
-const struct ListBase *nodeClipboardGetLinks(void);
+void BKE_node_clipboard_clear(void);
+void BKE_node_clipboard_add_node(struct bNode *node);
+void BKE_node_clipboard_add_link(struct bNodeLink *link);
+const struct ListBase *BKE_node_clipboard_get_nodes(void);
+const struct ListBase *BKE_node_clipboard_get_links(void);
 
 /* ************** NODE TYPE ACCESS *************** */
 

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2012-08-06 08:02:08 UTC (rev 49597)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2012-08-06 08:25:24 UTC (rev 49598)
@@ -1432,7 +1432,7 @@
 
 bNodeClipboard node_clipboard;
 
-void nodeClipboardClear(void)
+void BKE_node_clipboard_clear(void)
 {
 	bNode *node, *node_next;
 	bNodeLink *link, *link_next;
@@ -1450,22 +1450,22 @@
 	node_clipboard.nodes.first = node_clipboard.nodes.last = NULL;
 }
 
-void nodeClipboardAddNode(bNode *node)
+void BKE_node_clipboard_add_node(bNode *node)
 {
 	BLI_addtail(&node_clipboard.nodes, node);
 }
 
-void nodeClipboardAddLink(bNodeLink *link)
+void BKE_node_clipboard_add_link(bNodeLink *link)
 {
 	BLI_addtail(&node_clipboard.links, link);
 }
 
-const ListBase *nodeClipboardGetNodes(void)
+const ListBase *BKE_node_clipboard_get_nodes(void)
 {
 	return &node_clipboard.nodes;
 }
 
-const ListBase *nodeClipboardGetLinks(void)
+const ListBase *BKE_node_clipboard_get_links(void)
 {
 	return &node_clipboard.links;
 }

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2012-08-06 08:02:08 UTC (rev 49597)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2012-08-06 08:25:24 UTC (rev 49598)
@@ -1917,7 +1917,7 @@
 	ED_preview_kill_jobs(C);
 
 	/* clear current clipboard */
-	nodeClipboardClear();
+	BKE_node_clipboard_clear();
 
 	/* get group node offset */
 	if (gnode)
@@ -1926,7 +1926,7 @@
 	for (node = ntree->nodes.first; node; node = node->next) {
 		if (node->flag & SELECT) {
 			new_node = nodeCopyNode(NULL, node);
-			nodeClipboardAddNode(new_node);
+			BKE_node_clipboard_add_node(new_node);
 		}
 	}
 
@@ -1968,7 +1968,7 @@
 			newlink->fromnode = link->fromnode->new_node;
 			newlink->fromsock = link->fromsock->new_sock;
 
-			nodeClipboardAddLink(newlink);
+			BKE_node_clipboard_add_link(newlink);
 		}
 	}
 
@@ -2015,7 +2015,7 @@
 	/* calculate "barycenter" for placing on mouse cursor */
 	num_nodes = 0;
 	centerx = centery = 0.0f;
-	for (node = nodeClipboardGetNodes()->first; node; node = node->next) {
+	for (node = BKE_node_clipboard_get_nodes()->first; node; node = node->next) {
 		++num_nodes;
 		centerx += 0.5f * (node->totr.xmin + node->totr.xmax);
 		centery += 0.5f * (node->totr.ymin + node->totr.ymax);
@@ -2024,7 +2024,7 @@
 	centery /= num_nodes;
 
 	/* copy nodes from clipboard */
-	for (node = nodeClipboardGetNodes()->first; node; node = node->next) {
+	for (node = BKE_node_clipboard_get_nodes()->first; node; node = node->next) {
 		bNode *new_node = nodeCopyNode(ntree, node);
 
 		/* pasted nodes are selected */
@@ -2032,7 +2032,7 @@
 	}
 	
 	/* reparent copied nodes */
-	for (node = nodeClipboardGetNodes()->first; node; node = node->next) {
+	for (node = BKE_node_clipboard_get_nodes()->first; node; node = node->next) {
 		bNode *new_node = node->new_node;
 		if (new_node->parent)
 			new_node->parent = new_node->parent->new_node;
@@ -2045,7 +2045,7 @@
 		}
 	}
 
-	for (link = nodeClipboardGetLinks()->first; link; link = link->next) {
+	for (link = BKE_node_clipboard_get_links()->first; link; link = link->next) {
 		nodeAddLink(ntree, link->fromnode->new_node, link->fromsock->new_sock,
 		            link->tonode->new_node, link->tosock->new_sock);
 	}

Modified: trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c	2012-08-06 08:02:08 UTC (rev 49597)
+++ trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c	2012-08-06 08:25:24 UTC (rev 49598)
@@ -58,6 +58,7 @@
 #include "BKE_library.h"
 #include "BKE_main.h"
 #include "BKE_mball.h"
+#include "BKE_node.h"
 #include "BKE_report.h"
 
 #include "BKE_packedFile.h"
@@ -334,10 +335,10 @@
 /* bad stuff*/
 
 // XXX copy/paste buffer stuff...
-extern void free_anim_copybuf(void); 
-extern void free_anim_drivers_copybuf(void); 
-extern void free_fmodifiers_copybuf(void); 
-extern void free_posebuf(void); 
+extern void free_anim_copybuf(void);
+extern void free_anim_drivers_copybuf(void);
+extern void free_fmodifiers_copybuf(void);
+extern void free_posebuf(void);
 
 #if WIN32
 /* Read console events until there is a key event.  Also returns on any error. */
@@ -419,6 +420,7 @@
 	free_anim_drivers_copybuf();
 	free_fmodifiers_copybuf();
 	free_posebuf();
+	BKE_node_clipboard_clear();
 
 	BLF_exit();
 




More information about the Bf-blender-cvs mailing list