jvcllaz: Fix JvTimeFrame demo crashing at program end from week view after date was scrolled into a date range without appointments.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7110 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2019-08-09 21:03:29 +00:00
parent 42e82eee15
commit b7f5c7b4af
3 changed files with 18 additions and 2 deletions

View File

@ -114,6 +114,9 @@
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<Linking> <Linking>
<Debugging>
<UseHeaptrc Value="True"/>
</Debugging>
<Options> <Options>
<Win32> <Win32>
<GraphicApplication Value="True"/> <GraphicApplication Value="True"/>

View File

@ -385,12 +385,15 @@ end;
procedure TMainForm.PrevDateButtonClick(Sender: TObject); procedure TMainForm.PrevDateButtonClick(Sender: TObject);
begin begin
JvTFDays1.PrevDate; JvTFDays1.PrevDate;
JvTFMonths1.DisplayDate := JvTFDays1.CurrentDate;
JvTFWeeks1.DisplayDate := JvTFDays1.CurrentDate;
end; end;
procedure TMainForm.NextDateButtonClick(Sender: TObject); procedure TMainForm.NextDateButtonClick(Sender: TObject);
begin begin
JvTFDays1.NextDate; JvTFDays1.NextDate;
JvTFMonths1.DisplayDate := JvTFDays1.CurrentDate; JvTFMonths1.DisplayDate := JvTFDays1.CurrentDate;
JvTFWeeks1.DisplayDate := JvTFDays1.CurrentDate;
end; end;
procedure TMainForm.GotoDatePickerChange(Sender: TObject); procedure TMainForm.GotoDatePickerChange(Sender: TObject);
@ -398,7 +401,7 @@ begin
// GotoDatePicker.OnCloseUp should also point to this handler // GotoDatePicker.OnCloseUp should also point to this handler
JvTFDays1.GotoDate(GotoDatePicker.Date); JvTFDays1.GotoDate(GotoDatePicker.Date);
JvTFWeeks1.DisplayDate := GotoDatePicker.Date; JvTFWeeks1.DisplayDate := GotoDatePicker.Date;
JvTFWeeks1.DisplayDate := GotoDatePicker.Date; JvTFMonths1.DisplayDate := GotoDatePicker.Date;
end; end;
procedure TMainForm.GotoDatePickerUserInput(Sender: TObject; procedure TMainForm.GotoDatePickerUserInput(Sender: TObject;

View File

@ -4067,13 +4067,23 @@ procedure TJvTFControl.ReleaseSchedule(const SchedName: string;
var var
SchedID: string; SchedID: string;
begin begin
if Assigned(ScheduleManager) then begin
SchedID := TJvTFScheduleManager.GetScheduleID(SchedName, SchedDate);
if FSchedules.IndexOf(SchedID) > -1 then
ScheduleManager.ReleaseSchedule(Self, SchedName, SchedDate)
end;
{ wp:
original code - crashes sometimes at program end in GetScheduleID
when ScheduleManager is nil
SchedID := TJvTFScheduleManager.GetScheduleID(SchedName, SchedDate); SchedID := TJvTFScheduleManager.GetScheduleID(SchedName, SchedDate);
if FSchedules.IndexOf(SchedID) > -1 then if FSchedules.IndexOf(SchedID) > -1 then
if Assigned(ScheduleManager) then if Assigned(ScheduleManager) then
ScheduleManager.ReleaseSchedule(Self, SchedName, SchedDate) ScheduleManager.ReleaseSchedule(Self, SchedName, SchedDate)
else else
raise EJvTFScheduleManagerError.CreateRes(@RsECouldNotReleaseSchedule); raise EJvTFScheduleManagerError.CreateRes(@RsECouldNotReleaseSchedule);
}
end; end;
procedure TJvTFControl.ReleaseSchedules; procedure TJvTFControl.ReleaseSchedules;