@@ -566,10 +566,12 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphHandlerData<'a>> for NodeGrap
566566 responses. add ( DocumentMessage :: AddTransaction ) ;
567567
568568 let new_ids: HashMap < _ , _ > = data. iter ( ) . map ( |( id, _) | ( * id, NodeId :: new ( ) ) ) . collect ( ) ;
569+ let nodes: Vec < _ > = new_ids. iter ( ) . map ( |( _, id) | * id) . collect ( ) ;
569570 responses. add ( NodeGraphMessage :: AddNodes {
570571 nodes : data,
571572 new_ids : new_ids. clone ( ) ,
572573 } ) ;
574+ responses. add ( NodeGraphMessage :: SelectedNodesSet { nodes } )
573575 }
574576 NodeGraphMessage :: PointerDown {
575577 shift_click,
@@ -995,11 +997,13 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphHandlerData<'a>> for NodeGrap
995997 responses. add ( NodeGraphMessage :: TogglePreview { node_id : preview_node } ) ;
996998 self . preview_on_mouse_up = None ;
997999 }
998- if let Some ( node_to_deselect) = self . deselect_on_pointer_up {
999- let mut new_selected_nodes = selected_nodes. selected_nodes_ref ( ) . clone ( ) ;
1000- new_selected_nodes. remove ( node_to_deselect) ;
1001- responses. add ( NodeGraphMessage :: SelectedNodesSet { nodes : new_selected_nodes } ) ;
1002- self . deselect_on_pointer_up = None ;
1000+ if let Some ( node_to_deselect) = self . deselect_on_pointer_up . take ( ) {
1001+ if !self . drag_start . as_ref ( ) . is_some_and ( |t| t. 1 ) {
1002+ let mut new_selected_nodes = selected_nodes. selected_nodes_ref ( ) . clone ( ) ;
1003+ new_selected_nodes. remove ( node_to_deselect) ;
1004+ responses. add ( NodeGraphMessage :: SelectedNodesSet { nodes : new_selected_nodes } ) ;
1005+ return ;
1006+ }
10031007 }
10041008 let point = network_metadata
10051009 . persistent_metadata
0 commit comments