[chronojump] Fixing encoder crash on too many open files



commit 4dbb4c63296b852a94d81f0924cc5cbe596b6ee5
Author: Xavier de Blas <xaviblas gmail com>
Date:   Wed Jul 23 14:03:19 2014 +0200

    Fixing encoder crash on too many open files

 src/gui/encoder.cs |    5 +++++
 src/utilEncoder.cs |   12 +++++++++---
 2 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 98d3ef4..7d5ebf2 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -1721,6 +1721,11 @@ public partial class ChronoJumpWindow
 
                        fileSaved = UtilEncoder.CopyTempToEncoderData (currentSession.UniqueID, 
currentPerson.UniqueID, 
                                        currentPerson.Name, encoderTimeStamp);
+                       
+                       //there was a problem copying
+                       if(fileSaved == "")
+                               return "";
+
                        path = UtilEncoder.GetEncoderSessionDataSignalDir(currentSession.UniqueID);
                }
 
diff --git a/src/utilEncoder.cs b/src/utilEncoder.cs
index 40365ff..71bdc27 100644
--- a/src/utilEncoder.cs
+++ b/src/utilEncoder.cs
@@ -130,9 +130,15 @@ public class UtilEncoder
                                fileName = uniqueID.ToString() + "-" + personName + "-" +
                                                timeStamp + ".txt";
                                
-                               File.Copy(GetEncoderDataTempFileName(), 
-                                               GetEncoderSessionDataSignalDir(sessionID) + 
-                                               Path.DirectorySeparatorChar + fileName, true);
+                               try {
+                                       File.Copy(GetEncoderDataTempFileName(), 
+                                                       GetEncoderSessionDataSignalDir(sessionID) + 
+                                                       Path.DirectorySeparatorChar + fileName, true);
+                               } catch {
+                                       new DialogMessage(Constants.MessageTypes.WARNING, 
Constants.FileCopyProblem);
+                                       Log.WriteLine(Constants.FileCopyProblem);
+                                       return "";
+                               }
 //                     }
                }
                return fileName;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]