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)

by rudi, 13 years ago

Attachment: declarative.diff added

Updated patch

comment:1 by rudi, 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 rudi, 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 rudi, 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 rudi, 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 rudi, 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.

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

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

Resolution: fixed
Status: newclosed

Building of QtDecl.dll is enabled in r874.

Note: See TracTickets for help on using tickets.