quartz: add evil casting to make sure time wraps correctly on 32bit machines

get_time_from_ns_event(): apply patch from Michael Hutchinson which
makes sure the returned guint32 wraps correctly on 32 bit machines
when the uptime exceeds 2^32 ms.
This commit is contained in:
Michael Natterer 2012-08-23 09:28:13 +02:00
parent e486fb8118
commit 78506bd604

View File

@ -172,8 +172,11 @@ static guint32
get_time_from_ns_event (NSEvent *event)
{
double time = [event timestamp];
return time * 1000.0;
/* cast via double->uint64 conversion to make sure that it is
* wrapped on 32-bit machines when it overflows
*/
return (guint32) (guint64) (time * 1000.0);
}
static int