[vlma-devel] commit: Fix a weird bug (sometimes a program references the wrong media). ( Adrien Grand )

git version control git at videolan.org
Sun Jan 25 05:30:34 CET 2009


vlma | branch: master | Adrien Grand <jpountz at videolan.org> | Sun Jan 25 03:42:34 2009 +0100| [a2f7d0b16112e8e73a94d1b913643a325de8e574] | committer: Adrien Grand 

Fix a weird bug (sometimes a program references the wrong media).

> http://git.videolan.org/gitweb.cgi/vlma.git/?a=commit;h=a2f7d0b16112e8e73a94d1b913643a325de8e574
---

 .../java/org/videolan/vlma/dao/VLMaDaoImpl.java    |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/vlma-core/src/main/java/org/videolan/vlma/dao/VLMaDaoImpl.java b/vlma-core/src/main/java/org/videolan/vlma/dao/VLMaDaoImpl.java
index 028d649..bbc99fe 100644
--- a/vlma-core/src/main/java/org/videolan/vlma/dao/VLMaDaoImpl.java
+++ b/vlma-core/src/main/java/org/videolan/vlma/dao/VLMaDaoImpl.java
@@ -278,6 +278,11 @@ public class VLMaDaoImpl implements VLMaDao {
             if (media instanceof FilesChannel && ((FilesChannel) media).getServer() != null) {
                 ((FilesChannel) media).setServer(getServer(((FilesChannel) media).getServer().getId()));
             }
+            // Should not be necessary, but I've seen some weird cases where
+            // the program referenced the wrong media
+            for (Program program : media.getPrograms()) {
+                program.setMedia(media);
+            }
             if (medias.containsKey(id)) {
                 medias.put(id, media);
                 saveToDisk();
@@ -318,9 +323,9 @@ public class VLMaDaoImpl implements VLMaDao {
     }
 
     private static class DataContainer {
-        public List<Satellite> satellites;
-        public List<Server> servers;
-        public List<Media> medias;
+        protected List<Satellite> satellites;
+        protected List<Server> servers;
+        protected List<Media> medias;
     }
 
     synchronized public void saveToDisk(){



More information about the vlma-devel mailing list