<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git, branch v5.8.0</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Fix incorrect JavaScript evaluation with the JIT</title>
<updated>2017-01-06T10:09:42+00:00</updated>
<author>
<name>Simon Hausmann</name>
<email>simon.hausmann@qt.io</email>
</author>
<published>2017-01-06T08:22:27+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=fffb997e192a72b4dcd66edc2fbad5473dd359f3'/>
<id>fffb997e192a72b4dcd66edc2fbad5473dd359f3</id>
<content type='text'>
This is a regression from commit
7e14b531b294650733a61a9365eb9ef74f8a7a90, that replaced a QHash&lt;temp,
liveInterval&gt; with a vector of intervals. When an interval is split, it
may happen that during one interval a temp is stored in a register and
in the second interval it ends up in a different register or the stack.
The _liveIntervals variable, formerly the _intervalForTemp hash, tracked
the intervals per temp when going through the basic blocks and
statements during the renumbering phase. Indexing uniquely by temp is
important therefore for _liveIntervals and addNewIntervals violated that
by replacing the QHash replacement

    _intervalForTemp[i-&gt;temp()] = i;

with

    _liveIntervals.push_back(i);

This is how we may end up with multiple intervals for the same temp (in
different locations), and when doing the linear lookup we'd only find
the first. Restoring the replacement behavior and thus ensuring
uniqueness by temp fixes the miscompilations.

Task-number: QTBUG-57779
Change-Id: Ib8f53672b66750f68e16e47794dbc5f39989e1a2
Reviewed-by: Lars Knoll &lt;lars.knoll@qt.io&gt;
Reviewed-by: Robin Burchell &lt;robin.burchell@viroteck.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a regression from commit
7e14b531b294650733a61a9365eb9ef74f8a7a90, that replaced a QHash&lt;temp,
liveInterval&gt; with a vector of intervals. When an interval is split, it
may happen that during one interval a temp is stored in a register and
in the second interval it ends up in a different register or the stack.
The _liveIntervals variable, formerly the _intervalForTemp hash, tracked
the intervals per temp when going through the basic blocks and
statements during the renumbering phase. Indexing uniquely by temp is
important therefore for _liveIntervals and addNewIntervals violated that
by replacing the QHash replacement

    _intervalForTemp[i-&gt;temp()] = i;

with

    _liveIntervals.push_back(i);

This is how we may end up with multiple intervals for the same temp (in
different locations), and when doing the linear lookup we'd only find
the first. Restoring the replacement behavior and thus ensuring
uniqueness by temp fixes the miscompilations.

Task-number: QTBUG-57779
Change-Id: Ib8f53672b66750f68e16e47794dbc5f39989e1a2
Reviewed-by: Lars Knoll &lt;lars.knoll@qt.io&gt;
Reviewed-by: Robin Burchell &lt;robin.burchell@viroteck.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add changes file for 5.8.0</title>
<updated>2016-12-09T12:14:10+00:00</updated>
<author>
<name>Jani Heikkinen</name>
<email>jani.heikkinen@qt.io</email>
</author>
<published>2016-11-30T11:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=884d06db09bc6179baa3add42ff4ef5f3cd0e523'/>
<id>884d06db09bc6179baa3add42ff4ef5f3cd0e523</id>
<content type='text'>
Change-Id: I29311143b04cdd4d6a13980ccb57b7867bcf9c53
Reviewed-by: Robin Burchell &lt;robin.burchell@viroteck.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I29311143b04cdd4d6a13980ccb57b7867bcf9c53
Reviewed-by: Robin Burchell &lt;robin.burchell@viroteck.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>change type of QQuickPointerDevice::uniqueId to QPointingDeviceUniqueId</title>
<updated>2016-12-09T07:37:57+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2016-12-01T12:05:26+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c66e69efa0b95b3c0220a4ec7e1f6ea72c8a160b'/>
<id>c66e69efa0b95b3c0220a4ec7e1f6ea72c8a160b</id>
<content type='text'>
This will make it easier to change or extend further, in case some
future device has some sort of unique serial number which does not
fit in a quint64.

Task-number: QTBUG-54616
Change-Id: I8f20b13d75b937fce6a66653476d0d25f2abf34b
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will make it easier to change or extend further, in case some
future device has some sort of unique serial number which does not
fit in a quint64.

Task-number: QTBUG-54616
Change-Id: I8f20b13d75b937fce6a66653476d0d25f2abf34b
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rename QPointerUniqueId -&gt; QPointingDeviceUniqueId</title>
<updated>2016-12-09T07:37:49+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2016-12-01T12:02:34+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=2d6070355ca690e096f7740f7409d3e6e0a44b68'/>
<id>2d6070355ca690e096f7740f7409d3e6e0a44b68</id>
<content type='text'>
Several people agreed that the name was confusing and that this one
is better.

Task-number: QTBUG-54616
Change-Id: Ie9d24fc6e233949be36c8b6ee2650080a8a3506e
Reviewed-by: Sune Vuorela &lt;sune@vuorela.dk&gt;
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several people agreed that the name was confusing and that this one
is better.

Task-number: QTBUG-54616
Change-Id: Ie9d24fc6e233949be36c8b6ee2650080a8a3506e
Reviewed-by: Sune Vuorela &lt;sune@vuorela.dk&gt;
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Calqlatr Example: Pass the third arg to the mapToItem() calls</title>
<updated>2016-12-09T06:22:45+00:00</updated>
<author>
<name>Venugopal Shivashankar</name>
<email>Venugopal.Shivashankar@qt.io</email>
</author>
<published>2016-12-08T12:45:54+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=19f9cf8d2e3d9116aa19b1f988fc5490247add4c'/>
<id>19f9cf8d2e3d9116aa19b1f988fc5490247add4c</id>
<content type='text'>
Apparently the mapToItem version used in the example requires at
least three arguments, for some reason only two were provided,
the item and the mouseX coordinate. Without the third argument,
mouseY coordinate, the drag operation to move the display fails
with warnings on the console.

Task-number: QTBUG-57514
Change-Id: If1b16c27539bd90a2d20203dedc26f11ac2a0942
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Topi Reiniö &lt;topi.reinio@qt.io&gt;
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apparently the mapToItem version used in the example requires at
least three arguments, for some reason only two were provided,
the item and the mouseX coordinate. Without the third argument,
mouseY coordinate, the drag operation to move the display fails
with warnings on the console.

Task-number: QTBUG-57514
Change-Id: If1b16c27539bd90a2d20203dedc26f11ac2a0942
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Topi Reiniö &lt;topi.reinio@qt.io&gt;
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>V4 Interpreter: reset the exception handler for every catch block</title>
<updated>2016-12-08T05:34:38+00:00</updated>
<author>
<name>Erik Verbruggen</name>
<email>erik.verbruggen@qt.io</email>
</author>
<published>2016-12-07T10:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=96d057e6a5138918c9f8b92ce3320042fa6417fc'/>
<id>96d057e6a5138918c9f8b92ce3320042fa6417fc</id>
<content type='text'>
If an exception handler consists of multiple basic-blocks, and is then
followed by a finally block (for example: a catch block with a throw
followed by a return, and then a subsequent finally block), then the
finally block can be reached before the exception handler is reset by
skipping the second block of the catch handler with a throw. As the
finally block will then rethrow, and the old exception handler is still
there, it will end in an endless loop.

The fix is to reset the exception handler for every catch block. The
problem occurred in ch12/12.14/S12.14_A13_T3

Change-Id: I968b62c6c2af30af32e2717a9ce85f852523dbe8
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If an exception handler consists of multiple basic-blocks, and is then
followed by a finally block (for example: a catch block with a throw
followed by a return, and then a subsequent finally block), then the
finally block can be reached before the exception handler is reset by
skipping the second block of the catch handler with a throw. As the
finally block will then rethrow, and the old exception handler is still
there, it will end in an endless loop.

The fix is to reset the exception handler for every catch block. The
problem occurred in ch12/12.14/S12.14_A13_T3

Change-Id: I968b62c6c2af30af32e2717a9ce85f852523dbe8
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't read members of the binding after it has been freed</title>
<updated>2016-12-06T11:48:55+00:00</updated>
<author>
<name>Lars Knoll</name>
<email>lars.knoll@qt.io</email>
</author>
<published>2016-12-05T09:52:57+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e0a3c6276a257aeb1cb3ef6d16a4dddcc65d8195'/>
<id>e0a3c6276a257aeb1cb3ef6d16a4dddcc65d8195</id>
<content type='text'>
Fixes a use after free valgrind error (and thus a potential
crash) in tst_qqmljavascript::selfDeletingBinding that got
introduced with change e7f28bd13b18cfcb36ef41804029b9b296117002

Change-Id: Ia6b69af199c0f2af1cc0d33d4f13a8593b2c6d51
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a use after free valgrind error (and thus a potential
crash) in tst_qqmljavascript::selfDeletingBinding that got
introduced with change e7f28bd13b18cfcb36ef41804029b9b296117002

Change-Id: Ia6b69af199c0f2af1cc0d33d4f13a8593b2c6d51
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>comment out all uses of QPointerUniqueId temporarily</title>
<updated>2016-12-04T07:45:24+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2016-12-01T12:01:28+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=53156ddf3811f27b265213596312ba11a725e062'/>
<id>53156ddf3811f27b265213596312ba11a725e062</id>
<content type='text'>
The next step is to rename it, but we do this first to avoid breaking
CI while it's renamed in qtbase.

Task-number: QTBUG-54616
Change-Id: Iae3a098b9ab5571599af838d19b1869b84b2165f
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The next step is to rename it, but we do this first to avoid breaking
CI while it's renamed in qtbase.

Task-number: QTBUG-54616
Change-Id: Iae3a098b9ab5571599af838d19b1869b84b2165f
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compilation error with ICC 17: it doesn't like auto and comma</title>
<updated>2016-12-04T07:40:48+00:00</updated>
<author>
<name>Thiago Macieira</name>
<email>thiago.macieira@intel.com</email>
</author>
<published>2016-12-03T07:52:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a0fd2539154dafdd512bf634658e361ca56d3004'/>
<id>a0fd2539154dafdd512bf634658e361ca56d3004</id>
<content type='text'>
The error is a warning upgraded via -Werror and the message doesn't even
make sense to me:

error #3373: nonstandard use of "auto" to both deduce the type from an
initializer and to announce a trailing return type

Intel-Issue-ID: 6000164202
Change-Id: I73fa1e59a4844c43a109fffd148caf09a1952e92
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The error is a warning upgraded via -Werror and the message doesn't even
make sense to me:

error #3373: nonstandard use of "auto" to both deduce the type from an
initializer and to announce a trailing return type

Intel-Issue-ID: 6000164202
Change-Id: I73fa1e59a4844c43a109fffd148caf09a1952e92
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build of QtQuick compiler generated code with popScope()</title>
<updated>2016-12-02T07:28:27+00:00</updated>
<author>
<name>Simon Hausmann</name>
<email>simon.hausmann@qt.io</email>
</author>
<published>2016-12-01T14:40:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a63e6ea1ccae744ed40d00aac97c4ce46e7ac6d4'/>
<id>a63e6ea1ccae744ed40d00aac97c4ce46e7ac6d4</id>
<content type='text'>
After commit 5e6bf607ee1e466eebabb7b8114c9f5e8fc40a9e we would not have
an exception check template matching anymore that sets NeedsCheck to
false, and consequently generated code that would try to call popScope()
with an ExecutionEngine instead of a NoThrowEngine.

Task-number: QTRD-2219
Change-Id: Iddf8218d1efb9af77c9a5f7ef84b9998fb167ef5
Reviewed-by: Erik Verbruggen &lt;erik.verbruggen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After commit 5e6bf607ee1e466eebabb7b8114c9f5e8fc40a9e we would not have
an exception check template matching anymore that sets NeedsCheck to
false, and consequently generated code that would try to call popScope()
with an ExecutionEngine instead of a NoThrowEngine.

Task-number: QTRD-2219
Change-Id: Iddf8218d1efb9af77c9a5f7ef84b9998fb167ef5
Reviewed-by: Erik Verbruggen &lt;erik.verbruggen@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
