Correction

- Committed too many chunks in the last modification.
This commit is contained in:
Paul Beckingham 2010-10-23 11:29:00 -04:00
parent 79a4f666aa
commit 0a5e380bbf
4 changed files with 18 additions and 7 deletions

View file

@ -30,6 +30,7 @@ The following submitted code, packages or analysis, and deserve special thanks:
Kevin Owens
Mick Koch
Kathryn Andersen
Alexander Schremmer
Thanks to the following, who submitted detailed bug reports and excellent
suggestions:
@ -59,6 +60,5 @@ suggestions:
Seneca Cunningham
Dirk Deimeke
Michelle Crane
Alexander Schremmer
Elizabeth Maxson

View file

@ -77,15 +77,12 @@
worked.
+ Fixed bug #466, which gave the wrong error message when a custom report
was missing a direction indicator for the sort order.
+ Fixed bug #467, where recurring tasks were not honoring wait values.
+ Fixed bug #470, which caused task to not support the color 'none'.
+ Fixed bug #476, so that task now issues a warning when a wait date falls
after a due date (thanks to T. Charles Yun).
+ Fixed bug #480, which didn't properly support @ characters in tags. This
also now supports $ and #.
+ Fixed bug #489, which caused the filter 'tags.none:' to fail.
+ Fixed bug $493, which made waiting, recurring tasks invisible (thanks to
Alexander Schremmer).
+ Fixed bug #494, causing imported text files to ultimately lack uuids
(thanks to Elizabeth Maxson).
+ Fixed problem with command line configuration overrides that had no

View file

@ -647,7 +647,7 @@ void Task::validate () const
if (has ("wait"))
{
Date wait (::atoi (get ("wait").c_str ()));
if (wait > due)
if (wait < due)
throw std::string ("A 'wait' date must be after a 'due' date.");
}

View file

@ -95,18 +95,32 @@ void handleRecurrence ()
{
if (mask.length () <= i)
{
mask += '-';
changed = true;
Task rec (*t); // Clone the parent.
rec.set ("uuid", uuid ()); // New UUID.
rec.setStatus (Task::pending); // Shiny.
rec.set ("parent", t->get ("uuid")); // Remember mom.
char dueDate[16];
sprintf (dueDate, "%u", (unsigned int) d->toEpoch ());
rec.set ("due", dueDate); // Store generated due date.
if (t->get ("wait").size())
{
Date old_wait (atoi (t->get ("wait").c_str ()));
Date old_due (atoi (t->get ("due").c_str ()));
Date due (*d);
sprintf (dueDate, "%u", (unsigned int) (due + (old_wait - old_due)).toEpoch ());
rec.set ("wait", dueDate);
rec.setStatus (Task::waiting);
mask += 'W';
}
else
{
mask += '-';
rec.setStatus (Task::pending);
}
char indexMask[12];
sprintf (indexMask, "%u", (unsigned int) i);
rec.set ("imask", indexMask); // Store index into mask.