From fa27c3c38943ce9816e16fef3369513e73302800 Mon Sep 17 00:00:00 2001 From: "Michael J. Seiferling" Date: Mon, 7 Dec 2015 15:19:41 -0600 Subject: [PATCH] Fixed issue 23 --- GBM/Forms/frmMain.vb | 4 +++- GBM/Managers/mgrRestore.vb | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/GBM/Forms/frmMain.vb b/GBM/Forms/frmMain.vb index dbe6bc5..9c76128 100644 --- a/GBM/Forms/frmMain.vb +++ b/GBM/Forms/frmMain.vb @@ -163,6 +163,7 @@ Public Class frmMain Dim oGame As clsGame Dim oReadyList As New List(Of clsBackup) Dim oRestoreInfo As clsBackup + Dim bTriggerReload As Boolean = False eCurrentOperation = eOperation.Restore OperationStarted() @@ -171,7 +172,8 @@ Public Class frmMain For Each oGame In oRestoreList oRestoreInfo = oBackupData(oGame.Name) - If mgrRestore.CheckPath(oRestoreInfo, oGame) Then + If mgrRestore.CheckPath(oRestoreInfo, oGame, bTriggerReload) Then + If bTriggerReload Then LoadGameSettings() oReadyList.Add(oRestoreInfo) Else UpdateLog(oRestoreInfo.Name & " restore was cancelled due to unknown restore path.", False, ToolTipIcon.Error, True) diff --git a/GBM/Managers/mgrRestore.vb b/GBM/Managers/mgrRestore.vb index e25d263..09c9ea5 100644 --- a/GBM/Managers/mgrRestore.vb +++ b/GBM/Managers/mgrRestore.vb @@ -27,7 +27,7 @@ Public Class mgrRestore Public Event UpdateRestoreInfo(oRestoreInfo As clsBackup) Public Event SetLastAction(sMessage As String) - Public Shared Function CheckPath(ByRef oRestoreInfo As clsBackup, ByVal oGame As clsGame) As Boolean + Public Shared Function CheckPath(ByRef oRestoreInfo As clsBackup, ByVal oGame As clsGame, Optional ByRef bTriggerReload As Boolean = False) As Boolean Dim sProcess As String Dim sRestorePath As String Dim bNoAuto As Boolean @@ -41,6 +41,12 @@ Public Class mgrRestore sRestorePath = mgrPath.ProcessPathSearch(oRestoreInfo.Name, sProcess, oRestoreInfo.Name & " uses a relative path and has never been detected on this computer.", bNoAuto) If sRestorePath <> String.Empty Then + 'Update the process path in game object, save it, and make sure a monitor list reload is triggered + oGame.ProcessPath = sRestorePath + mgrMonitorList.DoListUpdate(oGame) + bTriggerReload = True + + 'Set path for restore oRestoreInfo.RelativeRestorePath = sRestorePath & "\" & oRestoreInfo.RestorePath Else Return False