fix HAM shuffler
[nihav.git] / src / codecs / mod.rs
index 426cb049f9dffea322999b8b66265594403cf13e..75f07c1b6bdcb816a125c2a46d3447952971cb51 100644 (file)
@@ -53,10 +53,12 @@ impl HAMShuffler {
     }
     #[allow(dead_code)]
     fn clone_ref(&mut self) -> Option<NAFrameRef> {
-        match self.lastframe {
-            Some(ref frm) => Some(Rc::new(RefCell::new(NAFrame::from_copy(&frm.borrow())))),
-            None => None,
-        }
+        if let None = self.lastframe { return None; }
+        if let Some(ref mut frm) = self.lastframe {
+            let newfrm = Rc::new(RefCell::new(NAFrame::from_copy(&frm.borrow())));
+            *frm = newfrm.clone();
+            Some(newfrm)
+        } else { None }
     }
     #[allow(dead_code)]
     fn get_output_frame(&mut self) -> Option<NAFrameRef> {