diff --git a/tools/source/generic/fract.cxx b/tools/source/generic/fract.cxx index b5db1e02607a..72ce43d954f8 100644 --- a/tools/source/generic/fract.cxx +++ b/tools/source/generic/fract.cxx @@ -384,6 +384,12 @@ SvStream& WriteFraction( SvStream& rOStream, const Fraction& rFract ) rOStream.WriteInt32( 0 ); rOStream.WriteInt32( -1 ); } else { +#if OSL_DEBUG_LEVEL > 0 + // can only write 32 bits - check that no data is lost! + boost::rational copy(rFract.mpImpl->value); + rational_ReduceInaccurate(copy, 32); + assert(copy == rFract.mpImpl->value && "data loss in WriteFraction!"); +#endif rOStream.WriteInt32( rFract.mpImpl->value.numerator() ); rOStream.WriteInt32( rFract.mpImpl->value.denominator() ); }