https://bugs.documentfoundation.org/show_bug.cgi?id=35595

--- Comment #9 from mrupio <[email protected]> ---
Hi.

Here's my opinion:

In basic/source/runtime/methods1.cxx in void Wait_Impl( bool bDurationBased,
SbxArray& rPar )
following part of this function:

if ( bDurationBased )
{
    double dWait = rPar.Get(1)->GetDouble();
    double dNow = Now_Impl();
    double dSecs = ( dWait - dNow ) * 24.0 * 3600.0;
    nWait = static_cast<tools::Long>( dSecs * 1000 ); // wait in thousands of
sec
}

should be corrected, and look like this:

if ( bDurationBased )
{
    double dWait = rPar.Get(1)->GetDouble();
    double dNow = Now_Impl();
    if (dWait < 1.0) dWait += trunc(dNow); // additional line
    double dSecs = ( dWait - dNow ) * 24.0 * 3600.0;
    nWait = static_cast<tools::Long>( dSecs * 1000 ); // wait in thousands of
sec
}

That is because TimeSerial returns only time part, without date, but Now_Impl()
return date and time part.

I don't now if MS Office Application.Wait implementation raises an exception as
LO implementation does in case its argument is from the past. If it doesn't -
there's another bug in LO implementation.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to