You've already forked lazarus-ccr
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:
@ -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"/>
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Reference in New Issue
Block a user