File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -563,6 +563,16 @@ fn update<Message: Clone>(
563563 state. last_position = position_in;
564564 }
565565
566+ if state. drag_initiated . is_some ( )
567+ && matches ! (
568+ event,
569+ Event :: Mouse ( mouse:: Event :: CursorMoved { .. } )
570+ | Event :: Touch ( touch:: Event :: FingerMoved { .. } )
571+ )
572+ {
573+ shell. request_redraw ( ) ;
574+ }
575+
566576 if let Event :: Mouse ( mouse:: Event :: CursorMoved { position } ) = event {
567577 let virtual_position = Point :: new (
568578 viewport. x - layout_bounds. x + position. x ,
@@ -639,6 +649,7 @@ fn update<Message: Clone>(
639649 {
640650 state. drag_initiated = None ;
641651 state. prev_click = None ;
652+ shell. request_redraw ( ) ;
642653 if let Some ( message) = widget. on_drag_end . as_ref ( ) {
643654 shell. publish ( message ( cursor. position_in ( layout_bounds) ) ) ;
644655 }
@@ -658,7 +669,9 @@ fn update<Message: Clone>(
658669 state. prev_click = None ;
659670 return ;
660671 }
661- state. drag_initiated = None ;
672+ if state. drag_initiated . take ( ) . is_some ( ) {
673+ shell. request_redraw ( ) ;
674+ }
662675 if let Some ( message) = widget. on_release . as_ref ( ) {
663676 shell. publish ( message ( cursor. position_in ( layout_bounds) ) ) ;
664677
You can’t perform that action at this time.
0 commit comments