@@ -391,33 +391,40 @@ class _TransformableBoxState extends State<TransformableBox> {
391391 bool shouldRecalculatePosition = false ;
392392 bool shouldRecalculateSize = false ;
393393
394- if (oldWidget.rect != widget.rect) {
394+ if (oldWidget.rect != widget.rect || widget.rect != controller.rect ) {
395395 controller.setRect (widget.rect, notify: false );
396+ shouldRecalculatePosition = true ;
397+ shouldRecalculateSize = true ;
396398 }
397399
398- if (oldWidget.flip != widget.flip) {
400+ if (oldWidget.flip != widget.flip || widget.flip != controller.flip ) {
399401 controller.setFlip (widget.flip, notify: false );
400402 }
401403
402- if (oldWidget.resizeModeResolver != widget.resizeModeResolver) {
404+ if (oldWidget.resizeModeResolver != widget.resizeModeResolver ||
405+ widget.resizeModeResolver != controller.resizeModeResolver) {
403406 controller.setResizeModeResolver (
404407 widget.resizeModeResolver,
405408 notify: false ,
406409 );
407410 }
408411
409- if (oldWidget.clampingRect != widget.clampingRect) {
412+ if (oldWidget.clampingRect != widget.clampingRect ||
413+ widget.clampingRect != controller.clampingRect) {
410414 controller.setClampingRect (widget.clampingRect, notify: false );
411415 shouldRecalculatePosition = true ;
412416 }
413417
414- if (oldWidget.constraints != widget.constraints) {
418+ if (oldWidget.constraints != widget.constraints ||
419+ widget.constraints != controller.constraints) {
415420 controller.setConstraints (widget.constraints, notify: false );
416421 shouldRecalculateSize = true ;
417422 }
418423
419424 if (oldWidget.allowFlippingWhileResizing !=
420- widget.allowFlippingWhileResizing) {
425+ widget.allowFlippingWhileResizing ||
426+ widget.allowFlippingWhileResizing !=
427+ controller.allowFlippingWhileResizing) {
421428 controller.setAllowFlippingWhileResizing (
422429 widget.allowFlippingWhileResizing,
423430 notify: false ,
0 commit comments