diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java
index 3770bc13e738c967518031dcfc265ba3a88bcfd8..3a87b0672bc49e5607f99a09fbfbee78bb850ada 100644
--- a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java
+++ b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java
@@ -1,12 +1,11 @@
 package Presentacion.ListaDeReproduccion;
 
 import Logica.DataType.*;
-import Logica.Clases.*;
 import Logica.Enumerados.Privacidad;
 import Logica.Enumerados.TipoListaDeReproduccion;
-import java.util.ArrayList;
 import Logica.Fabrica;
 import Logica.Interfaces.IAdmin;
+import java.util.ArrayList;
 import javax.swing.DefaultListModel;
 import javax.swing.JOptionPane;
 
@@ -185,7 +184,11 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog {
     }// </editor-fold>//GEN-END:initComponents
 
     private void btnCancelarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnCancelarMouseClicked
-        Sys.liberarMemoriaUsuario();
+        try {
+            Sys.liberarMemoriaUsuario();
+        } catch (Exception e) {
+            JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
+        }
         dispose();
     }//GEN-LAST:event_btnCancelarMouseClicked
 
@@ -212,19 +215,8 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog {
     }//GEN-LAST:event_rbPorDefectoItemStateChanged
 
     private void txtNombreKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyReleased
-        if (rbParticular.isSelected()) {
-            if (!txtNombre.getText().isEmpty() && !lstUsuarios.getSelectedValue().isEmpty()) {
-                btnAceptar.setEnabled(true);
-            } else {
-                btnAceptar.setEnabled(false);
-            }
-        } else {
-            if (!txtNombre.getText().isEmpty()) {
-                btnAceptar.setEnabled(true);
-            } else {
-                btnAceptar.setEnabled(false);
-            }
-        }
+        // mientras se escrbe el nombre de la lista
+        habilitarDeshabilitarBotonAceptar();
     }//GEN-LAST:event_txtNombreKeyReleased
 
     private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed
@@ -235,11 +227,6 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog {
             JOptionPane.showMessageDialog(null, "El nombre de la lista de reproduccion no puede ser vacio", "Avertencia:", JOptionPane.WARNING_MESSAGE);
             return;
         }
-        if (lstUsuarios.getSelectedValue().isEmpty()) {
-            JOptionPane.showMessageDialog(null, "Deve seleccionar un usuario para continuar", "Avertencia:", JOptionPane.WARNING_MESSAGE);
-            return;
-        }
-
         if (rbPrivada.isSelected() == true) {
             Priv = Privacidad.PRIVADO;
         }
@@ -251,25 +238,36 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog {
 
             if (rbParticular.isSelected() == true) {
 
-                lst = new DtListaDeReproduccion(ListaDeReproduccion.getNuevoId(), txtNombre.getText(), Priv, TipoListaDeReproduccion.PARTICULAR, lstCategorias.getSelectedValue());
+                if (lstUsuarios.getSelectedValue().isEmpty()) {
+                    JOptionPane.showMessageDialog(null, "Debe seleccionar un usuario para continuar", "Avertencia:", JOptionPane.WARNING_MESSAGE);
+                    return;
+                }
+                
                 Sys.seleccionarUsuario(lstUsuarios.getSelectedValue());
+                
+                if (Sys.obtenerCanalDeUsuario().getPrivacidad() == Privacidad.PRIVADO && rbPublica.isSelected() == true) {
+                    JOptionPane.showMessageDialog(null, "Un canal privado no puede tener una lista de reproducion publica", "Avertencia:", JOptionPane.WARNING_MESSAGE);
+                    return;
+                }
+                
+                lst = new DtListaDeReproduccion(0, txtNombre.getText(), Priv, TipoListaDeReproduccion.PARTICULAR, lstCategorias.getSelectedValue());
+                
 
                 if (!Sys.validarNuevaListaParticular(lst.getNombre())) {
-                    JOptionPane.showMessageDialog(null, "El nombre para la lista de reproduccion ya esta usado", "Error:", JOptionPane.WARNING_MESSAGE);
+                    JOptionPane.showMessageDialog(null, "El usuario ya posee una lista de reproduccion con ese nombre", "Avertencia:", JOptionPane.WARNING_MESSAGE);
                     return;
                 }
 
                 Sys.altaListaDeReproduccionParticular(lst);
                 JOptionPane.showMessageDialog(null, "Lista particular creada", "Informacion:", JOptionPane.INFORMATION_MESSAGE);
-
             }
 
             if (rbPorDefecto.isSelected() == true) {
 
-                lst = new DtListaDeReproduccion(ListaDeReproduccion.getNuevoId(), txtNombre.getText(), Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED");
+                lst = new DtListaDeReproduccion(0, txtNombre.getText(), Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED");
 
                 if (!Sys.validarNuevaListaPorDefecto(lst.getNombre())) {
-                    JOptionPane.showMessageDialog(null, "El nombre para la lista de reproduccion ya esta usado", "Error:", JOptionPane.WARNING_MESSAGE);
+                    JOptionPane.showMessageDialog(null, "El nombre para la lista de reproduccion ya esta usado", "Avertencia:", JOptionPane.WARNING_MESSAGE);
                     return;
                 }
 
@@ -279,34 +277,40 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog {
         } catch (Exception e) {
             JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
+
         try {
             Sys.liberarMemoriaUsuario();
             txtNombre.setText("");
             dispose();
         } catch (Exception e) {
-            JOptionPane.showMessageDialog(null, e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
-
-        Sys.liberarMemoriaUsuario();
-        dispose();
     }//GEN-LAST:event_btnAceptarActionPerformed
 
     private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged
+        // al seleccionar un usuario
+        habilitarDeshabilitarBotonAceptar();
+    }//GEN-LAST:event_lstUsuariosValueChanged
+
+    private void habilitarDeshabilitarBotonAceptar(){
+        // si se selecciono para crear lista particular
         if (rbParticular.isSelected()) {
-            if (!txtNombre.getText().isEmpty() && !lstUsuarios.getSelectedValue().isEmpty()) {
-                btnAceptar.setEnabled(true);
-            } else {
+            if (lstUsuarios.getSelectedIndex() < 0 || lstCategorias.getSelectedIndex() < 0 || txtNombre.getText().isEmpty()) {
                 btnAceptar.setEnabled(false);
+                return;
             }
-        } else {
-            if (!txtNombre.getText().isEmpty()) {
-                btnAceptar.setEnabled(true);
-            } else {
+            btnAceptar.setEnabled(true);
+        } else { // si se selecciono para crear lista particular
+            if (txtNombre.getText().isEmpty()) {
                 btnAceptar.setEnabled(false);
+                return;
             }
+            btnAceptar.setEnabled(true);
         }
-    }//GEN-LAST:event_lstUsuariosValueChanged
-
+    }
+    
+    
+    
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.ButtonGroup GrupoPublicoPrivado;
     private javax.swing.ButtonGroup GrupoTipo;
diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java
index ff59202583cdf78030bc59003c2b943fff953023..1984a7349640fdb5c18075a507c90ea58771a204 100644
--- a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java
+++ b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java
@@ -258,7 +258,9 @@ public class frmConsultaListaDeReproduccion extends javax.swing.JDialog {
         int indexSeleccionado = lstVideos.getSelectedIndex();
         int idVideo = Listavideos.get(indexSeleccionado).getId();
         
-        new frmConsultaVideo(this, true, lstUsuarios.getSelectedValue(), idVideo).setVisible(true);
+        DtUsuario Usu = Sys.obtenerPropietarioDeVideo(idVideo);
+        
+        new frmConsultaVideo(this, true, Usu.getNickname(), idVideo).setVisible(true);
     }//GEN-LAST:event_lstVideosMouseClicked
 
     // Variables declaration - do not modify//GEN-BEGIN:variables