diff --git a/Duplicati/GUI/Datamodel/Datamodel.csproj b/Duplicati/GUI/Datamodel/Datamodel.csproj index 03000d2c9..ef3656f1d 100644 --- a/Duplicati/GUI/Datamodel/Datamodel.csproj +++ b/Duplicati/GUI/Datamodel/Datamodel.csproj @@ -1 +1,119 @@ -Local8.0.507272.0{B60D0993-B0C5-457A-90D9-DB6EEB33CE47}DebugAnyCPUDatamodelLightDatamodel.snkJScriptGridIE50falseLibraryDuplicati.DatamodelOnBuildSuccesstruebin\Debug\false285212672falseDEBUG;TRACEtrue4096falsefalsefalsefalsefalse4fullpromptbin\Release\false285212672falseTRACEfalse4096falsetruefalsefalsefalse4nonepromptSystemSystem.DataSystem.XML{CAE8433B-F013-474E-B7FC-4DE0D5933AD1}LightDatamodel{DE3E5D4C-51AB-4E5E-BEE8-E636CEBFBA65}Duplicati.Library.Core \ No newline at end of file + + + + Local + 8.0.50727 + 2.0 + {B60D0993-B0C5-457A-90D9-DB6EEB33CE47} + Debug + AnyCPU + + + Datamodel + LightDatamodel.snk + JScript + Grid + IE50 + false + Library + Duplicati.Datamodel + OnBuildSuccess + + + + true + + + bin\Debug\ + false + 285212672 + false + + + DEBUG;TRACE + + + true + 4096 + false + + + false + false + false + false + 4 + full + prompt + + + bin\Release\ + false + 285212672 + false + + + TRACE + + + false + 4096 + false + + + true + false + false + false + 4 + none + prompt + + + + System + + + System.Data + + + System.XML + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {CAE8433B-F013-474E-B7FC-4DE0D5933AD1} + LightDatamodel + + + {DE3E5D4C-51AB-4E5E-BEE8-E636CEBFBA65} + Duplicati.Library.Core + + + + \ No newline at end of file diff --git a/Duplicati/GUI/Duplicati.csproj b/Duplicati/GUI/Duplicati.csproj index b9122c406..ac118394e 100644 --- a/Duplicati/GUI/Duplicati.csproj +++ b/Duplicati/GUI/Duplicati.csproj @@ -35,7 +35,7 @@ False - Datamodel\System.Data.SQLite.DLL + ..\..\thirdparty\SQLite\Dll for .Net\System.Data.SQLite.DLL diff --git a/Duplicati/GUI/DuplicatiRunner.cs b/Duplicati/GUI/DuplicatiRunner.cs index 1e2917644..c47d0c075 100644 --- a/Duplicati/GUI/DuplicatiRunner.cs +++ b/Duplicati/GUI/DuplicatiRunner.cs @@ -131,7 +131,7 @@ namespace Duplicati.GUI task.RaiseTaskCompleted(results); if (task.Schedule != null) - ((System.Data.LightDatamodel.IDataFetcherCached)task.Schedule.DataParent).CommitRecursive(); + ((System.Data.LightDatamodel.IDataFetcherCached)task.Schedule.DataParent).CommitRecursiveWithRelations(); if (task.TaskType == DuplicityTaskType.FullBackup || task.TaskType == DuplicityTaskType.IncrementalBackup) { diff --git a/Duplicati/GUI/Program.cs b/Duplicati/GUI/Program.cs index 311b364b6..232beddb1 100644 --- a/Duplicati/GUI/Program.cs +++ b/Duplicati/GUI/Program.cs @@ -171,7 +171,8 @@ namespace Duplicati.GUI static void DataConnection_AfterDataConnection(object sender, DataActions action) { - Scheduler.Reschedule(); + if (action == DataActions.Insert || action == DataActions.Update) + Scheduler.Reschedule(); } static void WorkThread_StartingWork(object sender, EventArgs e) diff --git a/Duplicati/GUI/Scheduler.cs b/Duplicati/GUI/Scheduler.cs index 08f4ffed2..d10a3ab13 100644 --- a/Duplicati/GUI/Scheduler.cs +++ b/Duplicati/GUI/Scheduler.cs @@ -120,7 +120,7 @@ namespace Duplicati.GUI } } - System.Data.LightDatamodel.QueryModel.Operation op = System.Data.LightDatamodel.QueryModel.Parser.ParseQuery("ORDER BY When ASC"); + System.Data.LightDatamodel.QueryModel.OperationOrParameter op = System.Data.LightDatamodel.QueryModel.Parser.ParseQuery("ORDER BY When ASC"); lock(m_lock) m_schedule = op.EvaluateList(reps).ToArray(); diff --git a/Duplicati/GUI/WizardHandler.cs b/Duplicati/GUI/WizardHandler.cs index 8fb15f271..a623e5f4c 100644 --- a/Duplicati/GUI/WizardHandler.cs +++ b/Duplicati/GUI/WizardHandler.cs @@ -74,7 +74,11 @@ namespace Duplicati.GUI wrapper.UpdateSchedule(schedule); - con.CommitRecursiveWithRelations(schedule); + bool scheduleRun = wrapper.RunImmediately && wrapper.BackupTimeOffset > DateTime.Now; + + lock(Program.MainLock) + con.CommitRecursiveWithRelations(schedule); + schedule = Program.DataConnection.GetObjectById(schedule.ID); if (wrapper.UseEncryptionAsDefault) { @@ -85,7 +89,7 @@ namespace Duplicati.GUI Program.DataConnection.Commit(Program.DataConnection.GetObjects()); } - if (wrapper.RunImmediately) + if (scheduleRun) Program.WorkThread.AddTask(new IncrementalBackupTask(schedule)); } else if (m_form.CurrentPage is Wizard_pages.Restore.FinishedRestore) diff --git a/Installer/Duplicati.wxs b/Installer/Duplicati.wxs index 6761445a1..c91b29829 100644 --- a/Installer/Duplicati.wxs +++ b/Installer/Duplicati.wxs @@ -62,7 +62,7 @@ - + diff --git a/Installer/incBinFiles.wxs b/Installer/incBinFiles.wxs index c47e1868b..da4b3acf3 100644 --- a/Installer/incBinFiles.wxs +++ b/Installer/incBinFiles.wxs @@ -47,7 +47,6 @@ - @@ -120,7 +119,6 @@ - \ No newline at end of file diff --git a/thirdparty/LightDataModel/LightDatamodel.dll b/thirdparty/LightDataModel/LightDatamodel.dll index 41807e2e5..5e4aecafd 100644 Binary files a/thirdparty/LightDataModel/LightDatamodel.dll and b/thirdparty/LightDataModel/LightDatamodel.dll differ