[editor] Fixed TimeTableSet ui crash.

This commit is contained in:
Ilya Grechuhin 2016-01-27 15:26:38 +03:00 committed by Sergey Yershov
parent 22dcc0fc86
commit 139adb57d6
3 changed files with 6 additions and 2 deletions

View file

@ -305,9 +305,10 @@ TOpeningDays TimeTableSet::GetUnhandledDays() const
TimeTable TimeTableSet::GetComplementTimeTable() const
{
TimeTable tt;
TimeTable tt = TimeTable::GetUninitializedTimeTable();
// Set predefined opening time before set 24 hours, otherwise
// it has no effect.
tt.SetTwentyFourHours(false);
tt.SetOpeningTime(tt.GetPredefinedOpeningTime());
tt.SetTwentyFourHours(true);
tt.SetOpeningDays(GetUnhandledDays());

View file

@ -15,6 +15,7 @@ using TOpeningDays = set<osmoh::Weekday>;
class TimeTable
{
public:
static TimeTable GetUninitializedTimeTable() { return {}; }
static TimeTable GetPredefinedTimeTable();
bool IsTwentyFourHours() const { return m_isTwentyFourHours; }
@ -41,6 +42,8 @@ public:
osmoh::Timespan GetPredefinedExcludeTime() const;
private:
TimeTable() = default;
bool m_isTwentyFourHours;
TOpeningDays m_weekdays;
osmoh::Timespan m_openingTime;

View file

@ -188,7 +188,7 @@ bool MakeTimeTableSet(osmoh::OpeningHours const & oh, ui::TimeTableSet & tts)
bool first = true;
for (auto const & rulePart : oh.GetRule())
{
ui::TimeTable tt;
ui::TimeTable tt = ui::TimeTable::GetUninitializedTimeTable();
tt.SetOpeningTime(tt.GetPredefinedOpeningTime());
// TODO(mgsergio): We don't handle cases with speciffic time off.