From dbade7f8547296c4c661c4b6ed5334b068fba1bd Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Sun, 17 Sep 2017 19:06:12 +0200
Subject: [PATCH] Fix crash when clicking video overlay after a playback error

---
 Core/Other/Management/VideoPlayer.cs | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/Core/Other/Management/VideoPlayer.cs b/Core/Other/Management/VideoPlayer.cs
index 4d35bff8..c18e1acb 100644
--- a/Core/Other/Management/VideoPlayer.cs
+++ b/Core/Other/Management/VideoPlayer.cs
@@ -147,7 +147,15 @@ private void owner_FormClosing(object sender, FormClosingEventArgs e){
         }
 
         private void process_Exited(object sender, EventArgs e){
-            switch(currentProcess.ExitCode){
+            int exitCode = currentProcess.ExitCode;
+
+            currentProcess.Dispose();
+            currentProcess = null;
+
+            currentPipe.Dispose();
+            currentPipe = null;
+
+            switch(exitCode){
                 case 3: // CODE_LAUNCH_FAIL
                     if (FormMessage.Error("Video Playback Error", "Error launching video player, this may be caused by missing Windows Media Player. Do you want to open the video in a browser?", FormMessage.Yes, FormMessage.No)){
                         BrowserUtils.OpenExternalBrowser(lastUrl);
@@ -162,12 +170,6 @@ private void process_Exited(object sender, EventArgs e){
 
                     break;
             }
-
-            currentProcess.Dispose();
-            currentProcess = null;
-
-            currentPipe.Dispose();
-            currentPipe = null;
             
             owner.InvokeAsyncSafe(TriggerProcessExitEventUnsafe);
         }