Opened 13 years ago
Closed 13 years ago
#221 closed defect (fixed)
Add QtDeclarative
Reported by: | rudi | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | Qt 4.7 |
Component: | General | Version: | |
Severity: | medium | Keywords: | |
Cc: |
Description
In order to build QtCreator? we need the QtDeclarative library. I just learned that this library uses the same type of code, that caused the SIGFPE in Creator's QMLJS.DLL. Find my fix attached.
Attachments (1)
Change History (7)
Changed 13 years ago by
Attachment: | declarative.diff added |
---|
comment:1 Changed 13 years ago by
Arrgh ! There's another SIGFPE issue. I updated declarative.diff. With this one, QMLVIEWER will work when a *.qml is passed via command line. Also QtCreator?'s QmlDesigner? component doesn't crash anymore (at least not immediatly ;-).
comment:2 Changed 13 years ago by
Thinking a bit more about this issue, I come to the conclusion that these floating point exceptions should not be enabled here. I guess it's preferable to figure out why. I also filed a bug against VirtualBox?, because a SIGFPE should not cause the guest to trap...
comment:3 Changed 13 years ago by
I did some testing: When the program starts up, the FCW is 0x037f, which means that no exceptions will be generated. However, after instantiating a QApplication, the FCW changes to 0x367. This means, that the FPU will now create overflow and underflow exceptions ! The latter is causing the crash in QMLVIEWER. See #222 .
comment:4 Changed 13 years ago by
The workaround suggested in #222 makes this fix - besides TARGET_SHORT - obsolete. QMLJS.DLL will also work without any source code modifications, when the FCW is restored after WinCreateMsgQueue?().
comment:5 Changed 13 years ago by
I now have a full rebuild with QtDeclarative enabled via configure.cmd. Looks good so far. Note that besides QtDecl4.dll and qmlviewer.exe we now also get a new designer plugin, which needs it's name shortened.
comment:6 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Updated patch