@@ -184,23 +184,22 @@ impl MessageHandler<TransformLayerMessage, TransformData<'_>> for TransformLayer
184184 * selected. pivot = selected. mean_average_of_pivots ( ) ;
185185 self . local_pivot = document. metadata ( ) . document_to_viewport . inverse ( ) . transform_point2 ( * selected. pivot ) ;
186186 self . grab_target = document. metadata ( ) . document_to_viewport . inverse ( ) . transform_point2 ( selected. mean_average_of_pivots ( ) ) ;
187- } else {
188- match selected_layers. first ( ) . and_then ( |& layer| document. network_interface . compute_modified_vector ( layer) ) {
189- Some ( vector_data) => {
190- * selected. original_transforms = OriginalTransforms :: default ( ) ;
191-
192- let viewspace = document. metadata ( ) . transform_to_viewport ( selected_layers[ 0 ] ) ;
193- let selected_points = shape_editor. selected_points ( ) . collect :: < Vec < _ > > ( ) ;
194-
195- let get_location = |point : & & ManipulatorPointId | point. get_position ( & vector_data) . map ( |position| viewspace. transform_point2 ( position) ) ;
196- match calculate_pivot ( & selected_points, & vector_data, viewspace, |point : & ManipulatorPointId | get_location ( & point) ) {
197- Some ( ( new_pivot, grab_target) ) => {
198- * selected. pivot = new_pivot;
199-
200- self . local_pivot = document_to_viewport. inverse ( ) . transform_point2 ( * selected. pivot ) ;
201- self . grab_target = document_to_viewport. inverse ( ) . transform_point2 ( grab_target) ;
202- } else {
203- log : : warn ! ( "Failed to calculate pivot." ) ;
187+ } else if let Some ( vector_data) = selected_layers. first ( ) . and_then ( |& layer| document. network_interface . compute_modified_vector ( layer) ) {
188+ * selected. original_transforms = OriginalTransforms :: default ( ) ;
189+
190+ let viewspace = document. metadata ( ) . transform_to_viewport ( selected_layers[ 0 ] ) ;
191+ let selected_points = shape_editor. selected_points ( ) . collect :: < Vec < _ > > ( ) ;
192+
193+ let get_location = |point : & & ManipulatorPointId | point. get_position ( & vector_data) . map ( |position| viewspace. transform_point2 ( position) ) ;
194+ match calculate_pivot ( & selected_points, & vector_data, viewspace, |point : & ManipulatorPointId | get_location ( & point) ) {
195+ Some ( ( new_pivot, grab_target) ) => {
196+ * selected. pivot = new_pivot;
197+ self . local_pivot = document_to_viewport. inverse ( ) . transform_point2 ( * selected. pivot ) ;
198+ self . grab_target = document_to_viewport. inverse ( ) . transform_point2 ( grab_target) ;
199+ }
200+ _ => {
201+ log:: warn!( "Failed to calculate pivot." ) ;
202+ }
204203 }
205204 }
206205
0 commit comments