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)

declarative.diff (4.4 KB) - added by rudi 13 years ago.
Updated patch

Download all attachments as: .zip

Change History (7)

Changed 13 years ago by rudi

Attachment: declarative.diff added

Updated patch

comment:1 Changed 13 years ago by rudi

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 rudi

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 rudi

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 rudi

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 rudi

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.

Version 0, edited 13 years ago by rudi (next)

comment:6 Changed 13 years ago by Dmitry A. Kuminov

Resolution: fixed
Status: newclosed

Building of QtDecl?.dll is enabled in r874.

Note: See TracTickets for help on using tickets.