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