| Summary: | Crash when panning by clicking map edges | ||
|---|---|---|---|
| Product: | [Applications] marble | Reporter: | Jaime Silva <jaimes> |
| Component: | general | Assignee: | marble-bugs |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | Ch.Ehrlicher, jensmh, nienhueser, rahn, shentey |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | 1.2 (KDE 4.7) | ||
| Platform: | Microsoft Windows | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Jaime Silva
2011-04-26 19:28:07 UTC
Seems to be this one:
#ifdef Q_CC_MSVC
# ifndef KDEWIN_MATH_H
static long double sqrt( int a ) { return sqrt( (long double)a ); }
# endif
#endif
Looks like a wrong attempt to fix a compiler error to me. I'll CC everyone who "git blame" thinks touched that part. I don't have a MSVC system around atm.
From what I can tell MSVC2008 seems to work fine without that bit of code. Perhaps it was added to address a bug in an older version of the compiler.
What's a little puzzling is that the compiler chooses to use that sqrt function instead of one of the versions in cmath which are a better match.
Adding 'std::' here to the sqrt call seems to work as well but I'm not sure how an older version of the compiler would behave.
#ifdef Q_CC_MSVC
# ifndef KDEWIN_MATH_H
static long double sqrt( int a ) { return std::sqrt( (long double)a ); }
# endif
#endif
|