SourceForge: k3d/k3d: changeset 2650:dcef4d4796a1
BUG: Ensure that k3d::ngui::selection::state::selected_nodes() never returns NULL pointers.
authorTimothy M. Shead <tshead@k-3d.com>
Mon Nov 02 22:07:16 2009 -0700 (3 weeks ago)
changeset 2650dcef4d4796a1
parent 26495406e5d48061
child 26515cb8489824f3
BUG: Ensure that k3d::ngui::selection::state::selected_nodes() never returns NULL pointers.
k3dsdk/ngui/selection.cpp
     1.1 --- a/k3dsdk/ngui/selection.cpp	Mon Nov 02 20:45:34 2009 -0700
     1.2 +++ b/k3dsdk/ngui/selection.cpp	Mon Nov 02 22:07:16 2009 -0700
     1.3 @@ -497,9 +497,14 @@
     1.4  
     1.5  	const nodes_t selected_nodes()
     1.6  	{
     1.7 -		return_val_if_fail(node_selection(), nodes_t());
     1.8 +		nodes_t result;
     1.9 +		return_val_if_fail(node_selection(), result);
    1.10 +		
    1.11  		const inode_selection::selected_nodes_t nodes = node_selection()->selected_nodes();
    1.12 -		return nodes_t(nodes.begin(), nodes.end());
    1.13 +		result.assign(nodes.begin(), nodes.end());
    1.14 +		result.erase(std::remove(result.begin(), result.end(), static_cast<inode*>(0)), result.end());
    1.15 +
    1.16 +		return result;
    1.17  	}
    1.18  
    1.19  	inode* rubber_band()