BUG: Ensure that k3d::ngui::selection::state::selected_nodes() never returns NULL pointers.
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()