Przeglądaj źródła

app/menu: fix broken impl with motion_cv

jkds 2 tygodni temu
rodzic
commit
cdf30bd0d3
1 zmienionych plików z 3 dodań i 4 usunięć
  1. 3 4
      bin/app/src/ui/menu/mod.rs

+ 3 - 4
bin/app/src/ui/menu/mod.rs

@@ -535,15 +535,13 @@ impl Menu {
         let resist = self.scroll_resist.get();
 
         loop {
-            self.motion_cv.wait().await;
-            self.motion_cv.reset();
-
             let mut speed = self.speed.load(Ordering::Relaxed);
             if speed.abs() < EPSILON {
-                continue
+                break
             }
 
             while speed.abs() >= EPSILON {
+                speed = self.speed.load(Ordering::Relaxed);
                 let scroll = self.scroll.load(Ordering::Relaxed);
                 self.scrollview(scroll + speed);
                 self.redraw_scroll(&self.renderer);
@@ -553,6 +551,7 @@ impl Menu {
             }
 
             self.speed.store(0., Ordering::Relaxed);
+            break
         }
     }