Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.12.3
-
None
-
Windows 10, 1809, Visual Studio 2017, compile in x64 with option /EHa and e /fp:precise (for my application)
-
-
4d2ee7f358a5cea64e7093aa0ab54e6422f8915e (qt/qtbase/5.12)
Description
I have an application with run on Windows, compile with Visual Studio 2017, 64 bits and SEH exception enable (option /EHa and e /fp:precise).
Since I update to the Qt 5.12.3, I have "Floating-point invalid operation" exception through inside QIcon conversion, especially inside reciprocal_mul_ps() function. Before, in version Qt 5.9.4, I have no problem.
Here part of the call stack:
static inline void convertARGBFromARGB32PM_sse4(uint *buffer, const uint *src, int count) (Where the exception occured)
void QT_FASTCALL storeARGB32FromARGB32PM_sse4(...)
...
void convert_generic()
....
QPixmap QPixmapIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)
The exception occured on ligne "ia = _mm_sub_ps(_mm_add_ps(ia, ia), _mm_mul_ps(ia, _mm_mul_ps(ia, a)));" (line 101 of qdrawhelper_sse4.cpp)
As example, this exception occurred when I call QWidget::setWindowIcon() with a QIcon (.ico, .png, etc.).
It's very annoying, because it happen during painting also, so it's not possible to disable locally the FPE exception for part of code which call Qt.
Attachments
Issue Links
- is duplicated by
-
QTBUG-77743 PNG with transparancy used in setWindowIcon will cause FPE
- Closed
-
QTBUG-76575 EXCEPTION_FLT_INVALID_OPERATION when moving the mouse
- Closed