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)
by , 13 years ago
Attachment: | declarative.diff added |
---|
comment:1 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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. I choose qdclview...
comment:6 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Updated patch