Merge lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-for-u-series-multiple-fixes into lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src
- qtdeclarative-for-u-series-multiple-fixes
- Merge into qtdeclarative-opensource-src
Status: | Merged | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Approved by: | Timo Jyrinki | ||||||||||||||||||||||||
Approved revision: | 151 | ||||||||||||||||||||||||
Merged at revision: | 144 | ||||||||||||||||||||||||
Proposed branch: | lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-for-u-series-multiple-fixes | ||||||||||||||||||||||||
Merge into: | lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src | ||||||||||||||||||||||||
Diff against target: |
931 lines (+684/-29) 13 files modified
debian/changelog (+50/-0) debian/control (+156/-26) debian/copyright (+20/-0) debian/libqt5qml5.symbols (+2/-1) debian/mark_private_symbols.sh (+20/-0) debian/patches/Fix-marking-of-prototype-objects-in-chain.patch (+89/-0) debian/patches/Implement-proper-support-for-layoutChange-in-QQmlDel.patch (+158/-0) debian/patches/QQuickItemView-QQuickPathView-Fix-creation-of-delega.patch (+128/-0) debian/patches/V4-regalloc-fix-register-spill-choice-under-high-pre.patch (+50/-0) debian/patches/series (+4/-0) debian/qml-module-qtquick-dialogs.install (+5/-1) debian/qml-module-qtquick-dialogs.lintian-overrides (+1/-1) debian/source/lintian-overrides (+1/-0) |
||||||||||||||||||||||||
To merge this branch: | bzr merge lp:~timo-jyrinki/kubuntu-packaging/qtdeclarative-for-u-series-multiple-fixes | ||||||||||||||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Approve | |
Kubuntu Packagers | Pending | ||
Review via email:
|
Commit message
* Depend conditionally on libgl1 (LP: #1278871)
* debian/
- Fix a crasher with deleted QQmlCompiledData as suggested by upstream
(LP: #1304248)
* debian/
- Fix "Carousel doesn't re-render properly after scrolling"
(LP: #1307578)
* debian/
- Fix a performance hit when editing sorted lists (LP: #1303746)
Description of the change

PS Jenkins bot (ps-jenkins) wrote : | # |
- 148. By Timo Jyrinki
-
* debian/
patches/ V4-regalloc- fix-register- spill-choice- under-high- pre.patch:
- Fix differing JS results on AMD64/i386 (LP: #1312571)

PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:148
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 149. By Timo Jyrinki
-
Updated symbols

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:149
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 150. By Timo Jyrinki
-
* Resync with Debian including renamed QML packages
* Rename QML modules as such, creating the proper transitional packages and
renaming the necessary files:
- qtdeclarative5-dialogs- plugin → qml-module- qtquick- dialogs.
- qtdeclarative5-folderlistmodel -plugin →
qml-module- qt-labs- folderlistmodel .
- qtdeclarative5-localstorage- plugin → qml-module- qtquick- localstorage.
- qtdeclarative5-models- plugin → qml-model- qtqml-models2.
- qtdeclarative5-particles- plugin → qml-module- qtquick- particles2.
- qtdeclarative5-privatewidgets- plugin →
qml-module- qtquick- privatewidgets.
- qtdeclarative5-qtquick2- plugin → qml-module- qtquick2.
- qtdeclarative5-settings- plugin → qml-module- qt-labs- settings.
- qtdeclarative5-test-plugin → qml-module-qttest.
- qtdeclarative5-window- plugin → qml-module- qtquick- window2.
- qtdeclarative5-xmllistmodel- plugin → qml-module- qtquick- xmllistmodel.
* Override lintian for duplicated long description on transitional packages.
* Add qml-module-qtquick2 as qml-module-qttest dependency.
* Update symbols files with buildd's logs.
* Upload to unstable.
* Add license to mark_private_symbols. sh and corresponding entry in
debian/copyright.
* Update symbols files with buildd's logs. - 151. By Timo Jyrinki
-
Add bug number.
Resync with Debian including renamed QML packages (LP: #1313547)

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:151
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Preview Diff
1 | === modified file 'debian/changelog' |
2 | --- debian/changelog 2014-04-10 06:00:35 +0000 |
3 | +++ debian/changelog 2014-04-28 07:48:46 +0000 |
4 | @@ -1,3 +1,53 @@ |
5 | +qtdeclarative-opensource-src (5.2.1-5ubuntu1) UNRELEASED; urgency=medium |
6 | + |
7 | + * Resync with Debian including renamed QML packages (LP: #1313547) |
8 | + * Depend conditionally on libgl1 (LP: #1278871) |
9 | + * debian/patches/Fix-marking-of-prototype-objects-in-chain.patch |
10 | + - Fix a crasher with deleted QQmlCompiledData as suggested by upstream |
11 | + (LP: #1304248) |
12 | + * debian/patches/QQuickItemView-QQuickPathView-Fix-creation-of-delega.patch: |
13 | + - Fix "Carousel doesn't re-render properly after scrolling" |
14 | + (LP: #1307578) |
15 | + * debian/patches/Implement-proper-support-for-layoutChange-in-QQmlDel.patch: |
16 | + - Fix a performance hit when editing sorted lists (LP: #1303746) |
17 | + * debian/patches/V4-regalloc-fix-register-spill-choice-under-high-pre.patch: |
18 | + - Fix differing JS results on AMD64/i386 (LP: #1312571) |
19 | + * Updated symbols |
20 | + |
21 | + -- Timo Jyrinki <timo-jyrinki@ubuntu.com> Mon, 28 Apr 2014 07:35:22 +0000 |
22 | + |
23 | +qtdeclarative-opensource-src (5.2.1-5) unstable; urgency=medium |
24 | + |
25 | + * Rename QML modules as such, creating the proper transitional packages and |
26 | + renaming the necessary files: |
27 | + - qtdeclarative5-dialogs-plugin → qml-module-qtquick-dialogs. |
28 | + - qtdeclarative5-folderlistmodel-plugin → |
29 | + qml-module-qt-labs-folderlistmodel. |
30 | + - qtdeclarative5-localstorage-plugin → qml-module-qtquick-localstorage. |
31 | + - qtdeclarative5-models-plugin → qml-model-qtqml-models2. |
32 | + - qtdeclarative5-particles-plugin → qml-module-qtquick-particles2. |
33 | + - qtdeclarative5-privatewidgets-plugin → |
34 | + qml-module-qtquick-privatewidgets. |
35 | + - qtdeclarative5-qtquick2-plugin → qml-module-qtquick2. |
36 | + - qtdeclarative5-settings-plugin → qml-module-qt-labs-settings. |
37 | + - qtdeclarative5-test-plugin → qml-module-qttest. |
38 | + - qtdeclarative5-window-plugin → qml-module-qtquick-window2. |
39 | + - qtdeclarative5-xmllistmodel-plugin → qml-module-qtquick-xmllistmodel. |
40 | + * Override lintian for duplicated long description on transitional packages. |
41 | + * Add qml-module-qtquick2 as qml-module-qttest dependency. |
42 | + * Update symbols files with buildd's logs. |
43 | + |
44 | + -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> Thu, 03 Apr 2014 10:04:59 -0300 |
45 | + |
46 | +qtdeclarative-opensource-src (5.2.1-4) unstable; urgency=medium |
47 | + |
48 | + * Upload to unstable. |
49 | + * Add license to mark_private_symbols.sh and corresponding entry in |
50 | + debian/copyright. |
51 | + * Update symbols files with buildd's logs. |
52 | + |
53 | + -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> Mon, 24 Mar 2014 21:45:21 -0300 |
54 | + |
55 | qtdeclarative-opensource-src (5.2.1-3ubuntu15) trusty; urgency=medium |
56 | |
57 | * Fix_QSmoothedAnimation_sometimes_getting_stuck.patch |
58 | |
59 | === modified file 'debian/control' |
60 | --- debian/control 2014-04-10 05:58:37 +0000 |
61 | +++ debian/control 2014-04-28 07:48:46 +0000 |
62 | @@ -74,112 +74,230 @@ |
63 | This package contains the Qt Quick Test library for QtDeclarative module. |
64 | |
65 | Package: qtdeclarative5-dialogs-plugin |
66 | +Architecture: all |
67 | +Section: oldlibs |
68 | +Depends: qml-module-qtquick-dialogs, ${misc:Depends} |
69 | +Description: transitional dummy package for Qt 5 Dialogs QML module |
70 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
71 | + is its rich set of widgets that provide standard GUI functionality. |
72 | + . |
73 | + This is a transitional dummy package which can be safely removed. |
74 | + |
75 | +Package: qml-module-qtquick-dialogs |
76 | Architecture: any |
77 | Multi-Arch: same |
78 | Pre-Depends: ${misc:Pre-Depends} |
79 | -Depends: qtdeclarative5-privatewidgets-plugin, |
80 | - ${misc:Depends}, |
81 | - ${shlibs:Depends} |
82 | -Description: Qt 5 Dialogs QML plugin |
83 | +Depends: qml-module-qtquick-privatewidgets, ${misc:Depends}, ${shlibs:Depends} |
84 | +Breaks: qtdeclarative5-dialogs-plugin (<< 5.2.1-5~) |
85 | +Replaces: qtdeclarative5-dialogs-plugin (<< 5.2.1-5~) |
86 | +Description: Qt 5 Dialogs QML module |
87 | Qt is a cross-platform C++ application framework. Qt's primary feature |
88 | is its rich set of widgets that provide standard GUI functionality. |
89 | . |
90 | The Dialogs module provides FileDialog and ColorDialog types. |
91 | |
92 | Package: qtdeclarative5-folderlistmodel-plugin |
93 | +Architecture: all |
94 | +Section: oldlibs |
95 | +Depends: qml-module-qt-labs-folderlistmodel, ${misc:Depends} |
96 | +Description: transitional dummy package for Qt 5 folderlistmodel QML module |
97 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
98 | + is its rich set of widgets that provide standard GUI functionality. |
99 | + . |
100 | + This is a transitional dummy package which can be safely removed. |
101 | + |
102 | +Package: qml-module-qt-labs-folderlistmodel |
103 | Architecture: any |
104 | Multi-Arch: same |
105 | Pre-Depends: ${misc:Pre-Depends} |
106 | Depends: ${misc:Depends}, ${shlibs:Depends} |
107 | -Description: Qt 5 folderlistmodel QML plugin |
108 | +Breaks: qtdeclarative5-folderlistmodel-plugin (<< 5.2.1-5~) |
109 | +Replaces: qtdeclarative5-folderlistmodel-plugin (<< 5.2.1-5~) |
110 | +Description: Qt 5 folderlistmodel QML module |
111 | Qt is a cross-platform C++ application framework. Qt's primary feature |
112 | is its rich set of widgets that provide standard GUI functionality. |
113 | . |
114 | The FolderListModel provides a model of the contents of a file system folder. |
115 | |
116 | Package: qtdeclarative5-localstorage-plugin |
117 | +Architecture: all |
118 | +Section: oldlibs |
119 | +Depends: qml-module-qtquick-localstorage, ${misc:Depends} |
120 | +Description: transitional dummy package for Qt 5 localstorage QML module |
121 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
122 | + is its rich set of widgets that provide standard GUI functionality. |
123 | + . |
124 | + This is a transitional dummy package which can be safely removed. |
125 | + |
126 | +Package: qml-module-qtquick-localstorage |
127 | Architecture: any |
128 | Multi-Arch: same |
129 | Pre-Depends: ${misc:Pre-Depends} |
130 | Depends: libqt5sql5-sqlite, ${misc:Depends}, ${shlibs:Depends} |
131 | -Description: Qt 5 localstorage QML plugin |
132 | +Breaks: qtdeclarative5-localstorage-plugin (<< 5.2.1-5~) |
133 | +Replaces: qtdeclarative5-localstorage-plugin (<< 5.2.1-5~) |
134 | +Description: Qt 5 localstorage QML module |
135 | Qt is a cross-platform C++ application framework. Qt's primary feature |
136 | is its rich set of widgets that provide standard GUI functionality. |
137 | . |
138 | This is a singleton type for reading and writing to SQLite databases. |
139 | |
140 | Package: qtdeclarative5-models-plugin |
141 | +Architecture: all |
142 | +Section: oldlibs |
143 | +Depends: qml-model-qtqml-models2, ${misc:Depends} |
144 | +Description: transitional dummy package for Qt 5 Models2 QML module |
145 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
146 | + is its rich set of widgets that provide standard GUI functionality. |
147 | + . |
148 | + This is a transitional dummy package which can be safely removed. |
149 | + |
150 | +Package: qml-model-qtqml-models2 |
151 | Architecture: any |
152 | Multi-Arch: same |
153 | Pre-Depends: ${misc:Pre-Depends} |
154 | Depends: ${misc:Depends}, ${shlibs:Depends} |
155 | -Description: Qt 5 Models QML plugin |
156 | +Breaks: qtdeclarative5-models-plugin (<< 5.2.1-5~) |
157 | +Replaces: qtdeclarative5-models-plugin (<< 5.2.1-5~) |
158 | +Description: Qt 5 Models2 QML module |
159 | Qt is a cross-platform C++ application framework. Qt's primary feature |
160 | is its rich set of widgets that provide standard GUI functionality. |
161 | . |
162 | The Models provides types previously found in Qt Quick module. |
163 | |
164 | Package: qtdeclarative5-particles-plugin |
165 | +Architecture: all |
166 | +Section: oldlibs |
167 | +Depends: qml-module-qtquick-particles2, ${misc:Depends} |
168 | +Description: transitional dummy package for Qt 5 particles 2 QML module |
169 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
170 | + is its rich set of widgets that provide standard GUI functionality. |
171 | + . |
172 | + This is a transitional dummy package which can be safely removed. |
173 | + |
174 | +Package: qml-module-qtquick-particles2 |
175 | Architecture: any |
176 | Multi-Arch: same |
177 | Pre-Depends: ${misc:Pre-Depends} |
178 | Depends: ${misc:Depends}, ${shlibs:Depends} |
179 | -Description: Qt 5 particles QML plugin |
180 | +Breaks: qtdeclarative5-particles-plugin (<< 5.2.1-5~) |
181 | +Replaces: qtdeclarative5-particles-plugin (<< 5.2.1-5~) |
182 | +Description: Qt 5 particles 2 QML module |
183 | Qt is a cross-platform C++ application framework. Qt's primary feature |
184 | is its rich set of widgets that provide standard GUI functionality. |
185 | . |
186 | This QML module contains a particle system for Qt Quick. |
187 | |
188 | Package: qtdeclarative5-privatewidgets-plugin |
189 | +Architecture: all |
190 | +Section: oldlibs |
191 | +Depends: qml-module-qtquick-privatewidgets, ${misc:Depends} |
192 | +Description: transitional dummy package for Qt 5 Private Widgets QML module |
193 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
194 | + is its rich set of widgets that provide standard GUI functionality. |
195 | + . |
196 | + This is a transitional dummy package which can be safely removed. |
197 | + |
198 | +Package: qml-module-qtquick-privatewidgets |
199 | Architecture: any |
200 | Multi-Arch: same |
201 | Pre-Depends: ${misc:Pre-Depends} |
202 | Depends: ${misc:Depends}, ${shlibs:Depends} |
203 | -Description: Qt 5 Private Widgets QML plugin |
204 | +Breaks: qtdeclarative5-privatewidgets-plugin (<< 5.2.1-5~) |
205 | +Replaces: qtdeclarative5-privatewidgets-plugin (<< 5.2.1-5~) |
206 | +Description: Qt 5 Private Widgets QML module |
207 | Qt is a cross-platform C++ application framework. Qt's primary feature |
208 | is its rich set of widgets that provide standard GUI functionality. |
209 | . |
210 | - This package contains the Private Widgets plugin. |
211 | + This package contains the Private Widgets module. |
212 | |
213 | Package: qtdeclarative5-qtquick2-plugin |
214 | +Architecture: all |
215 | +Section: oldlibs |
216 | +Depends: qml-module-qtquick2, ${misc:Depends} |
217 | +Description: transitional dummy package Qt 5 Qt Quick 2 QML module |
218 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
219 | + is its rich set of widgets that provide standard GUI functionality. |
220 | + . |
221 | + This is a transitional dummy package which can be safely removed. |
222 | + |
223 | +Package: qml-module-qtquick2 |
224 | Architecture: any |
225 | Multi-Arch: same |
226 | Pre-Depends: ${misc:Pre-Depends} |
227 | -Depends: libgl1-mesa-dri, ${misc:Depends}, ${shlibs:Depends} |
228 | -Description: Qt 5 Qt Quick 2 QML plugin |
229 | +Depends: libgl1-mesa-dri | libgl1, ${misc:Depends}, ${shlibs:Depends} |
230 | +Breaks: qtdeclarative5-qtquick2-plugin (<< 5.2.1-5~) |
231 | +Replaces: qtdeclarative5-qtquick2-plugin (<< 5.2.1-5~) |
232 | +Description: Qt 5 Qt Quick 2 QML module |
233 | Qt is a cross-platform C++ application framework. Qt's primary feature |
234 | is its rich set of widgets that provide standard GUI functionality. |
235 | . |
236 | - This package contains the Qt Quick 2 QML plugin for Qt declarative. |
237 | + This package contains the Qt Quick 2 QML module for Qt declarative. |
238 | |
239 | Package: qtdeclarative5-settings-plugin |
240 | +Architecture: all |
241 | +Section: oldlibs |
242 | +Depends: qml-module-qt-labs-settings, ${misc:Depends} |
243 | +Description: transitional dummy package for Qt 5 settings QML module |
244 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
245 | + is its rich set of widgets that provide standard GUI functionality. |
246 | + . |
247 | + This is a transitional dummy package which can be safely removed. |
248 | + |
249 | +Package: qml-module-qt-labs-settings |
250 | Architecture: any |
251 | Multi-Arch: same |
252 | Pre-Depends: ${misc:Pre-Depends} |
253 | Depends: ${misc:Depends}, ${shlibs:Depends} |
254 | -Description: Qt 5 settings QML plugin |
255 | +Breaks: qtdeclarative5-settings-plugin (<< 5.2.1-5~) |
256 | +Replaces: qtdeclarative5-settings-plugin (<< 5.2.1-5~) |
257 | +Description: Qt 5 settings QML module |
258 | Qt is a cross-platform C++ application framework. Qt's primary feature |
259 | is its rich set of widgets that provide standard GUI functionality. |
260 | . |
261 | - This package contains the settings QML plugin for Qt declarative. |
262 | + This package contains the settings QML module for Qt declarative. |
263 | |
264 | Package: qtdeclarative5-test-plugin |
265 | +Architecture: all |
266 | +Section: oldlibs |
267 | +Depends: qml-module-qttest, ${misc:Depends} |
268 | +Description: transitional dummy package for Qt 5 test QML module |
269 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
270 | + is its rich set of widgets that provide standard GUI functionality. |
271 | + . |
272 | + This is a transitional dummy package which can be safely removed. |
273 | + |
274 | +Package: qml-module-qttest |
275 | Architecture: any |
276 | Multi-Arch: same |
277 | Pre-Depends: ${misc:Pre-Depends} |
278 | -Depends: ${misc:Depends}, ${shlibs:Depends} |
279 | -Description: Qt 5 test QML plugin |
280 | +Depends: qml-module-qtquick2, ${misc:Depends}, ${shlibs:Depends} |
281 | +Breaks: qtdeclarative5-test-plugin (<< 5.2.1-5~) |
282 | +Replaces: qtdeclarative5-test-plugin (<< 5.2.1-5~) |
283 | +Description: Qt 5 test QML module |
284 | Qt is a cross-platform C++ application framework. Qt's primary feature |
285 | is its rich set of widgets that provide standard GUI functionality. |
286 | . |
287 | - This package contains the test QML plugin for Qt declarative. |
288 | + This package contains the test QML module for Qt declarative. |
289 | |
290 | Package: qtdeclarative5-window-plugin |
291 | +Architecture: all |
292 | +Section: oldlibs |
293 | +Depends: qml-module-qtquick-window2, ${misc:Depends} |
294 | +Description: transitional dummy package for Qt 5 window 2 QML module |
295 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
296 | + is its rich set of widgets that provide standard GUI functionality. |
297 | + . |
298 | + This is a transitional dummy package which can be safely removed. |
299 | + |
300 | +Package: qml-module-qtquick-window2 |
301 | Architecture: any |
302 | Multi-Arch: same |
303 | Pre-Depends: ${misc:Pre-Depends} |
304 | Depends: ${misc:Depends}, ${shlibs:Depends} |
305 | -Description: Qt 5 window QML plugin |
306 | +Breaks: qtdeclarative5-window-plugin (<< 5.2.1-5~) |
307 | +Replaces: qtdeclarative5-window-plugin (<< 5.2.1-5~) |
308 | +Description: Qt 5 window 2 QML module |
309 | Qt is a cross-platform C++ application framework. Qt's primary feature |
310 | is its rich set of widgets that provide standard GUI functionality. |
311 | . |
312 | @@ -187,11 +305,23 @@ |
313 | accessing screen information. |
314 | |
315 | Package: qtdeclarative5-xmllistmodel-plugin |
316 | +Architecture: all |
317 | +Section: oldlibs |
318 | +Depends: qml-module-qtquick-xmllistmodel, ${misc:Depends} |
319 | +Description: transitional dummy package for Qt 5 xmllistmodel QML module |
320 | + Qt is a cross-platform C++ application framework. Qt's primary feature |
321 | + is its rich set of widgets that provide standard GUI functionality. |
322 | + . |
323 | + This is a transitional dummy package which can be safely removed. |
324 | + |
325 | +Package: qml-module-qtquick-xmllistmodel |
326 | Architecture: any |
327 | Multi-Arch: same |
328 | Pre-Depends: ${misc:Pre-Depends} |
329 | Depends: ${misc:Depends}, ${shlibs:Depends} |
330 | -Description: Qt 5 xmllistmodel QML plugin |
331 | +Breaks: qtdeclarative5-xmllistmodel-plugin (<< 5.2.1-5~) |
332 | +Replaces: qtdeclarative5-xmllistmodel-plugin (<< 5.2.1-5~) |
333 | +Description: Qt 5 xmllistmodel QML module |
334 | Qt is a cross-platform C++ application framework. Qt's primary feature |
335 | is its rich set of widgets that provide standard GUI functionality. |
336 | . |
337 | @@ -271,12 +401,12 @@ |
338 | Multi-Arch: same |
339 | Section: x11 |
340 | Pre-Depends: ${misc:Pre-Depends} |
341 | -Depends: qtdeclarative5-dialogs-plugin, |
342 | - qtdeclarative5-localstorage-plugin, |
343 | - qtdeclarative5-models-plugin, |
344 | - qtdeclarative5-particles-plugin, |
345 | - qtdeclarative5-test-plugin, |
346 | - qtdeclarative5-xmllistmodel-plugin, |
347 | +Depends: qml-model-qtqml-models2, |
348 | + qml-module-qtquick-dialogs, |
349 | + qml-module-qtquick-localstorage, |
350 | + qml-module-qtquick-particles2, |
351 | + qml-module-qtquick-xmllistmodel, |
352 | + qml-module-qttest, |
353 | ${misc:Depends}, |
354 | ${shlibs:Depends} |
355 | Description: Qt 5 declarative examples |
356 | |
357 | === modified file 'debian/copyright' |
358 | --- debian/copyright 2013-12-17 09:01:49 +0000 |
359 | +++ debian/copyright 2014-04-28 07:48:46 +0000 |
360 | @@ -8,6 +8,10 @@ |
361 | 1994-2008 Trolltech ASA. |
362 | License: LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3 |
363 | |
364 | +Files: debian/mark_private_symbols.sh |
365 | +Copyright: 2013 Sune Vuorela <sune@debian.org> |
366 | +License: Expat |
367 | + |
368 | Files: debian/* |
369 | Copyright: 2007-2012 Fathi Boudra <fabo@debian.org> |
370 | 2007-2012 Sune Vuorela <debian@pusling.com> |
371 | @@ -754,3 +758,19 @@ |
372 | On Debian systems, the full text of the GNU General Public |
373 | License version 2 can be found in the file |
374 | `/usr/share/common-licenses/GPL-2'. |
375 | + |
376 | +License: Expat |
377 | + Permission is hereby granted, free of charge, to any person obtaining |
378 | + a copy of this software and associated documentation files (the |
379 | + "Software"), to deal in the Software without restriction, including |
380 | + without limitation the rights to use, copy, modify, merge, publish, |
381 | + distribute, sublicense, and/or sell copies of the Software, and to |
382 | + permit persons to whom the Software is furnished to do so, subject to |
383 | + the following conditions: |
384 | + . |
385 | + The above copyright notice and this permission notice shall be included |
386 | + in all copies or substantial portions of the Software. |
387 | + . |
388 | + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
389 | + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
390 | + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
391 | |
392 | === modified file 'debian/libqt5qml5.symbols' |
393 | --- debian/libqt5qml5.symbols 2014-03-10 16:35:49 +0000 |
394 | +++ debian/libqt5qml5.symbols 2014-04-28 07:48:46 +0000 |
395 | @@ -590,7 +590,7 @@ |
396 | _ZN17QQmlDelegateModel15_q_rowsInsertedERK11QModelIndexii@Base 5.1.0 1 |
397 | _ZN17QQmlDelegateModel15setWatchedRolesE5QListI10QByteArrayE@Base 5.1.0 1 |
398 | _ZN17QQmlDelegateModel16_q_itemsInsertedEii@Base 5.1.0 1 |
399 | - _ZN17QQmlDelegateModel16_q_layoutChangedEv@Base 5.1.0 1 |
400 | + _ZN17QQmlDelegateModel16_q_layoutChangedERK5QListI21QPersistentModelIndexEN18QAbstractItemModel16LayoutChangeHintE@Base 5.2.1 1 |
401 | _ZN17QQmlDelegateModel16resetFilterGroupEv@Base 5.1.0 1 |
402 | _ZN17QQmlDelegateModel16rootIndexChangedEv@Base 5.1.0 1 |
403 | _ZN17QQmlDelegateModel16staticMetaObjectE@Base 5.1.0 1 |
404 | @@ -599,6 +599,7 @@ |
405 | _ZN17QQmlDelegateModel20defaultGroupsChangedEv@Base 5.1.0 1 |
406 | _ZN17QQmlDelegateModel21qmlAttachedPropertiesEP7QObject@Base 5.1.0 1 |
407 | _ZN17QQmlDelegateModel23_q_rowsAboutToBeRemovedERK11QModelIndexii@Base 5.1.0 1 |
408 | + _ZN17QQmlDelegateModel25_q_layoutAboutToBeChangedERK5QListI21QPersistentModelIndexEN18QAbstractItemModel16LayoutChangeHintE@Base 5.2.1 1 |
409 | _ZN17QQmlDelegateModel5eventEP6QEvent@Base 5.1.0 1 |
410 | _ZN17QQmlDelegateModel5itemsEv@Base 5.1.0 1 |
411 | _ZN17QQmlDelegateModel5partsEv@Base 5.1.0 1 |
412 | |
413 | === modified file 'debian/mark_private_symbols.sh' |
414 | --- debian/mark_private_symbols.sh 2013-08-30 11:58:43 +0000 |
415 | +++ debian/mark_private_symbols.sh 2014-04-28 07:48:46 +0000 |
416 | @@ -1,4 +1,24 @@ |
417 | #! /bin/sh |
418 | +# Copyright (c) 2013 Sune Vuorela <sune@debian.org> |
419 | +# |
420 | +# Permission is hereby granted, free of charge, to any person obtaining |
421 | +# a copy of this software and associated documentation files (the |
422 | +# "Software"), to deal in the Software without restriction, including |
423 | +# without limitation the rights to use, copy, modify, merge, publish, |
424 | +# distribute, sublicense, and/or sell copies of the Software, and to |
425 | +# permit persons to whom the Software is furnished to do so, subject to |
426 | +# the following conditions: |
427 | +# |
428 | +# The above copyright notice and this permission notice shall be included |
429 | +# in all copies or substantial portions of the Software. |
430 | +# |
431 | +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
432 | +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
433 | +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
434 | +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
435 | +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
436 | +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
437 | +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
438 | |
439 | PRIVATE_HEADERS=qtdeclarative5-private-dev/usr/include |
440 | |
441 | |
442 | === added file 'debian/patches/Fix-marking-of-prototype-objects-in-chain.patch' |
443 | --- debian/patches/Fix-marking-of-prototype-objects-in-chain.patch 1970-01-01 00:00:00 +0000 |
444 | +++ debian/patches/Fix-marking-of-prototype-objects-in-chain.patch 2014-04-28 07:48:46 +0000 |
445 | @@ -0,0 +1,89 @@ |
446 | +From 0d90b1d646d9f443f071f474911cd7a8495d523b Mon Sep 17 00:00:00 2001 |
447 | +From: Simon Hausmann <simon.hausmann@digia.com> |
448 | +Date: Mon, 7 Apr 2014 11:20:03 +0200 |
449 | +Subject: [PATCH] Fix marking of prototype objects in chain |
450 | + |
451 | +With a real prototype chain it can happen that an internal class' prototype's |
452 | +class itself has a prototype. Therefore the first transition on the empty class |
453 | +is a PrototypeChange one, but the class the transition leads to may have |
454 | +PrototypeChange transitions itself, which weren't marked. |
455 | + |
456 | +There are multiple solutions to this, but this patch is the minimal fix by |
457 | +recursing fully through the internal class tree. That way it's easier to |
458 | +back-port the fix also into 5.2.x based branches. |
459 | + |
460 | +Task-number: QTBUG-37834 |
461 | + |
462 | +Change-Id: I901b13a2663fbad5844003ca5752f2f304de320c |
463 | +--- |
464 | + src/qml/jsruntime/qv4internalclass.cpp | 15 ++++++--------- |
465 | + tests/auto/qml/qjsengine/tst_qjsengine.cpp | 18 ++++++++++++++++++ |
466 | + 2 files changed, 24 insertions(+), 9 deletions(-) |
467 | + |
468 | +diff --git a/src/qml/jsruntime/qv4internalclass.cpp b/src/qml/jsruntime/qv4internalclass.cpp |
469 | +index 4fe8f0b..dab137b 100644 |
470 | +--- a/src/qml/jsruntime/qv4internalclass.cpp |
471 | ++++ b/src/qml/jsruntime/qv4internalclass.cpp |
472 | +@@ -458,17 +458,14 @@ void InternalClass::destroy() |
473 | + void InternalClass::markObjects() |
474 | + { |
475 | + // all prototype changes are done on the empty class |
476 | +- Q_ASSERT(!prototype); |
477 | ++ Q_ASSERT(!prototype || this != engine->emptyClass); |
478 | ++ |
479 | ++ if (prototype) |
480 | ++ prototype->mark(engine); |
481 | + |
482 | + for (QHash<Transition, InternalClass *>::ConstIterator it = transitions.begin(), end = transitions.end(); |
483 | +- it != end; ++it) { |
484 | +- if (it.key().flags == Transition::VTableChange) { |
485 | +- it.value()->markObjects(); |
486 | +- } else if (it.key().flags == Transition::ProtoChange) { |
487 | +- Q_ASSERT(it.value()->prototype); |
488 | +- it.value()->prototype->mark(engine); |
489 | +- } |
490 | +- } |
491 | ++ it != end; ++it) |
492 | ++ it.value()->markObjects(); |
493 | + } |
494 | + |
495 | + QT_END_NAMESPACE |
496 | +diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp |
497 | +index 518d3e9..7ef6bd9 100644 |
498 | +--- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp |
499 | ++++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp |
500 | +@@ -151,6 +151,8 @@ private slots: |
501 | + void functionDeclarationsInConditionals(); |
502 | + |
503 | + void arrayPop_QTBUG_35979(); |
504 | ++ void prototypeChainGc(); |
505 | ++ |
506 | + }; |
507 | + |
508 | + tst_QJSEngine::tst_QJSEngine() |
509 | +@@ -2942,6 +2944,22 @@ void tst_QJSEngine::indexedAccesses() |
510 | + QCOMPARE(result.toString(), QString("1,3")); |
511 | + } |
512 | + |
513 | ++void tst_QJSEngine::prototypeChainGc() |
514 | ++{ |
515 | ++ QJSEngine engine; |
516 | ++ |
517 | ++ QJSValue getProto = engine.evaluate("Object.getPrototypeOf"); |
518 | ++ |
519 | ++ QJSValue factory = engine.evaluate("function() { return Object.create(Object.create({})); }"); |
520 | ++ QVERIFY(factory.isCallable()); |
521 | ++ QJSValue obj = factory.call(); |
522 | ++ engine.collectGarbage(); |
523 | ++ |
524 | ++ QJSValue proto = getProto.call(QJSValueList() << obj); |
525 | ++ proto = getProto.call(QJSValueList() << proto); |
526 | ++ QVERIFY(proto.isObject()); |
527 | ++} |
528 | ++ |
529 | + QTEST_MAIN(tst_QJSEngine) |
530 | + |
531 | + #include "tst_qjsengine.moc" |
532 | +-- |
533 | +1.9.1 |
534 | + |
535 | |
536 | === added file 'debian/patches/Implement-proper-support-for-layoutChange-in-QQmlDel.patch' |
537 | --- debian/patches/Implement-proper-support-for-layoutChange-in-QQmlDel.patch 1970-01-01 00:00:00 +0000 |
538 | +++ debian/patches/Implement-proper-support-for-layoutChange-in-QQmlDel.patch 2014-04-28 07:48:46 +0000 |
539 | @@ -0,0 +1,158 @@ |
540 | +From 4d4bd2ac531f0456135a1077f5fceea3517cd3cd Mon Sep 17 00:00:00 2001 |
541 | +From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <dan@progdan.cz> |
542 | +Date: Wed, 16 Apr 2014 18:33:24 +0200 |
543 | +Subject: [PATCH] Implement proper support for layoutChange in |
544 | + QQmlDelegateModel |
545 | + |
546 | +Current implementation is treating model layoutChange the same way as modelReset, |
547 | +which causes problems when using ListView on top of a QSortFilterProxyModel. The |
548 | +model emits layoutChanged whenever a data within sorting column change. Treating |
549 | +it as modelReset leads to poor performance on large models and caused UI issues, |
550 | +because the scrolling position is reset every time. |
551 | + |
552 | +This patch implements proper handling for layoutChanged signals by first handling |
553 | +all items moves and then simulating dataChange for all items. |
554 | + |
555 | +This fixes regression from Qt 5.1 introduced by Change I16b859d9 |
556 | + |
557 | +Task-number: QTBUG-37983 |
558 | +Task-number: QTBUG-34391 |
559 | +Change-Id: I6d3873b7b87e7f0e8fc0c1ed5dc80c6f8fdf6c22 |
560 | +--- |
561 | + src/qml/types/qqmldelegatemodel.cpp | 59 +++++++++++++++++++++++++++++++++-- |
562 | + src/qml/types/qqmldelegatemodel_p.h | 3 +- |
563 | + src/qml/types/qqmldelegatemodel_p_p.h | 2 ++ |
564 | + src/qml/util/qqmladaptormodel.cpp | 12 ++++--- |
565 | + 4 files changed, 69 insertions(+), 7 deletions(-) |
566 | + |
567 | +diff --git a/src/qml/types/qqmldelegatemodel.cpp b/src/qml/types/qqmldelegatemodel.cpp |
568 | +index be479ee..4591d42 100644 |
569 | +--- a/src/qml/types/qqmldelegatemodel.cpp |
570 | ++++ b/src/qml/types/qqmldelegatemodel.cpp |
571 | +@@ -1521,9 +1521,64 @@ void QQmlDelegateModel::_q_dataChanged(const QModelIndex &begin, const QModelInd |
572 | + _q_itemsChanged(begin.row(), end.row() - begin.row() + 1, roles); |
573 | + } |
574 | + |
575 | +-void QQmlDelegateModel::_q_layoutChanged() |
576 | ++void QQmlDelegateModel::_q_layoutAboutToBeChanged(const QList<QPersistentModelIndex> &parents, QAbstractItemModel::LayoutChangeHint hint) |
577 | + { |
578 | +- _q_modelReset(); |
579 | ++ Q_D(QQmlDelegateModel); |
580 | ++ if (!d->m_complete) |
581 | ++ return; |
582 | ++ |
583 | ++ if (hint == QAbstractItemModel::VerticalSortHint) { |
584 | ++ d->m_storedPersistentIndexes.clear(); |
585 | ++ if (!parents.contains(d->m_adaptorModel.rootIndex)) |
586 | ++ return; |
587 | ++ |
588 | ++ for (int i = 0; i < d->m_count; ++i) { |
589 | ++ const QModelIndex index = d->m_adaptorModel.aim()->index(i, 0, d->m_adaptorModel.rootIndex); |
590 | ++ d->m_storedPersistentIndexes.append(index); |
591 | ++ } |
592 | ++ } else if (hint == QAbstractItemModel::HorizontalSortHint) { |
593 | ++ // Ignored |
594 | ++ } else { |
595 | ++ // Triggers model reset, no preparations for that are needed |
596 | ++ } |
597 | ++} |
598 | ++ |
599 | ++void QQmlDelegateModel::_q_layoutChanged(const QList<QPersistentModelIndex> &parents, QAbstractItemModel::LayoutChangeHint hint) |
600 | ++{ |
601 | ++ Q_D(QQmlDelegateModel); |
602 | ++ if (!d->m_complete) |
603 | ++ return; |
604 | ++ |
605 | ++ if (hint == QAbstractItemModel::VerticalSortHint) { |
606 | ++ if (!parents.contains(d->m_adaptorModel.rootIndex)) |
607 | ++ return; |
608 | ++ |
609 | ++ for (int i = 0, c = d->m_storedPersistentIndexes.count(); i < c; ++i) { |
610 | ++ const QPersistentModelIndex &index = d->m_storedPersistentIndexes.at(i); |
611 | ++ if (i == index.row()) |
612 | ++ continue; |
613 | ++ |
614 | ++ QVector<Compositor::Insert> inserts; |
615 | ++ QVector<Compositor::Remove> removes; |
616 | ++ d->m_compositor.listItemsMoved(&d->m_adaptorModel, i, index.row(), 1, &removes, &inserts); |
617 | ++ if (!removes.isEmpty() || !inserts.isEmpty()) { |
618 | ++ d->itemsMoved(removes, inserts); |
619 | ++ } |
620 | ++ } |
621 | ++ |
622 | ++ d->m_storedPersistentIndexes.clear(); |
623 | ++ |
624 | ++ // layoutUpdate does not necessarily have any move changes, but it can |
625 | ++ // also mean data changes. We can't detect what exactly has changed, so |
626 | ++ // just emit it for all items |
627 | ++ _q_itemsChanged(0, d->m_count, QVector<int>()); |
628 | ++ |
629 | ++ } else if (hint == QAbstractItemModel::HorizontalSortHint) { |
630 | ++ // Ignored |
631 | ++ } else { |
632 | ++ // We don't know what's going on, so reset the model |
633 | ++ _q_modelReset(); |
634 | ++ } |
635 | + } |
636 | + |
637 | + QQmlDelegateModelAttached *QQmlDelegateModel::qmlAttachedProperties(QObject *obj) |
638 | +diff --git a/src/qml/types/qqmldelegatemodel_p.h b/src/qml/types/qqmldelegatemodel_p.h |
639 | +index 51f846e..0b67179 100644 |
640 | +--- a/src/qml/types/qqmldelegatemodel_p.h |
641 | ++++ b/src/qml/types/qqmldelegatemodel_p.h |
642 | +@@ -139,7 +139,8 @@ private Q_SLOTS: |
643 | + void _q_rowsRemoved(const QModelIndex &,int,int); |
644 | + void _q_rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int); |
645 | + void _q_dataChanged(const QModelIndex&,const QModelIndex&,const QVector<int> &); |
646 | +- void _q_layoutChanged(); |
647 | ++ void _q_layoutAboutToBeChanged(const QList<QPersistentModelIndex>&, QAbstractItemModel::LayoutChangeHint); |
648 | ++ void _q_layoutChanged(const QList<QPersistentModelIndex>&, QAbstractItemModel::LayoutChangeHint); |
649 | + |
650 | + private: |
651 | + Q_DISABLE_COPY(QQmlDelegateModel) |
652 | +diff --git a/src/qml/types/qqmldelegatemodel_p_p.h b/src/qml/types/qqmldelegatemodel_p_p.h |
653 | +index 32b1154..67deb4f 100644 |
654 | +--- a/src/qml/types/qqmldelegatemodel_p_p.h |
655 | ++++ b/src/qml/types/qqmldelegatemodel_p_p.h |
656 | +@@ -331,6 +331,8 @@ public: |
657 | + }; |
658 | + QQmlDelegateModelGroup *m_groups[Compositor::MaximumGroupCount]; |
659 | + }; |
660 | ++ |
661 | ++ QList<QPersistentModelIndex> m_storedPersistentIndexes; |
662 | + }; |
663 | + |
664 | + class QQmlPartsModel : public QQmlInstanceModel, public QQmlDelegateModelGroupEmitter |
665 | +diff --git a/src/qml/util/qqmladaptormodel.cpp b/src/qml/util/qqmladaptormodel.cpp |
666 | +index d38e5ac..c1c8bfa 100644 |
667 | +--- a/src/qml/util/qqmladaptormodel.cpp |
668 | ++++ b/src/qml/util/qqmladaptormodel.cpp |
669 | +@@ -467,8 +467,10 @@ public: |
670 | + vdm, SLOT(_q_rowsMoved(QModelIndex,int,int,QModelIndex,int))); |
671 | + QObject::disconnect(aim, SIGNAL(modelReset()), |
672 | + vdm, SLOT(_q_modelReset())); |
673 | +- QObject::disconnect(aim, SIGNAL(layoutChanged()), |
674 | +- vdm, SLOT(_q_layoutChanged())); |
675 | ++ QObject::disconnect(aim, SIGNAL(layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), |
676 | ++ vdm, SLOT(_q_layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); |
677 | ++ QObject::disconnect(aim, SIGNAL(layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), |
678 | ++ vdm, SLOT(_q_layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); |
679 | + } |
680 | + |
681 | + const_cast<VDMAbstractItemModelDataType *>(this)->release(); |
682 | +@@ -920,8 +922,10 @@ void QQmlAdaptorModel::setModel(const QVariant &variant, QQmlDelegateModel *vdm, |
683 | + vdm, QQmlDelegateModel, SLOT(_q_rowsMoved(QModelIndex,int,int,QModelIndex,int))); |
684 | + qmlobject_connect(model, QAbstractItemModel, SIGNAL(modelReset()), |
685 | + vdm, QQmlDelegateModel, SLOT(_q_modelReset())); |
686 | +- qmlobject_connect(model, QAbstractItemModel, SIGNAL(layoutChanged()), |
687 | +- vdm, QQmlDelegateModel, SLOT(_q_layoutChanged())); |
688 | ++ qmlobject_connect(model, QAbstractItemModel, SIGNAL(layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), |
689 | ++ vdm, QQmlDelegateModel, SLOT(_q_layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); |
690 | ++ qmlobject_connect(model, QAbstractItemModel, SIGNAL(layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), |
691 | ++ vdm, QQmlDelegateModel, SLOT(_q_layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); |
692 | + } else { |
693 | + accessors = new VDMObjectDelegateDataType; |
694 | + } |
695 | +-- |
696 | +1.9.1 |
697 | + |
698 | |
699 | === added file 'debian/patches/QQuickItemView-QQuickPathView-Fix-creation-of-delega.patch' |
700 | --- debian/patches/QQuickItemView-QQuickPathView-Fix-creation-of-delega.patch 1970-01-01 00:00:00 +0000 |
701 | +++ debian/patches/QQuickItemView-QQuickPathView-Fix-creation-of-delega.patch 2014-04-28 07:48:46 +0000 |
702 | @@ -0,0 +1,128 @@ |
703 | +From 712d89c638b6294a63fa735c5203983437a4345a Mon Sep 17 00:00:00 2001 |
704 | +From: Albert Astals Cid <albert.astals@canonical.com> |
705 | +Date: Tue, 15 Apr 2014 15:27:29 +0200 |
706 | +Subject: [PATCH] QQuickItemView/QQuickPathView: Fix creation of delegates |
707 | + |
708 | +When the delegate is set before the model and |
709 | +after the ItemView/PathView has been created |
710 | + |
711 | +Task-number: QTBUG-38368 |
712 | +Change-Id: I6963abe28087699cf4e8921153dc7641bae3b220 |
713 | +--- |
714 | + src/quick/items/qquickitemview.cpp | 2 ++ |
715 | + src/quick/items/qquickpathview.cpp | 2 ++ |
716 | + tests/auto/qmltest/listview/tst_listview.qml | 23 ++++++++++++++++++ |
717 | + tests/auto/qmltest/pathview/tst_pathview.qml | 35 ++++++++++++++++++++++++++++ |
718 | + 4 files changed, 62 insertions(+) |
719 | + create mode 100644 tests/auto/qmltest/pathview/tst_pathview.qml |
720 | + |
721 | +diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp |
722 | +index 46eec64..b4f6c34 100644 |
723 | +--- a/src/quick/items/qquickitemview.cpp |
724 | ++++ b/src/quick/items/qquickitemview.cpp |
725 | +@@ -364,6 +364,8 @@ void QQuickItemView::setDelegate(QQmlComponent *delegate) |
726 | + if (!d->ownModel) { |
727 | + d->model = new QQmlDelegateModel(qmlContext(this)); |
728 | + d->ownModel = true; |
729 | ++ if (isComponentComplete()) |
730 | ++ static_cast<QQmlDelegateModel *>(d->model.data())->componentComplete(); |
731 | + } |
732 | + if (QQmlDelegateModel *dataModel = qobject_cast<QQmlDelegateModel*>(d->model)) { |
733 | + int oldCount = dataModel->count(); |
734 | +diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp |
735 | +index ec78967..45cd8e1 100644 |
736 | +--- a/src/quick/items/qquickpathview.cpp |
737 | ++++ b/src/quick/items/qquickpathview.cpp |
738 | +@@ -1242,6 +1242,8 @@ void QQuickPathView::setDelegate(QQmlComponent *delegate) |
739 | + if (!d->ownModel) { |
740 | + d->model = new QQmlDelegateModel(qmlContext(this)); |
741 | + d->ownModel = true; |
742 | ++ if (isComponentComplete()) |
743 | ++ static_cast<QQmlDelegateModel *>(d->model.data())->componentComplete(); |
744 | + } |
745 | + if (QQmlDelegateModel *dataModel = qobject_cast<QQmlDelegateModel*>(d->model)) { |
746 | + int oldCount = dataModel->count(); |
747 | +diff --git a/tests/auto/qmltest/listview/tst_listview.qml b/tests/auto/qmltest/listview/tst_listview.qml |
748 | +index 0589e7c..03be579 100644 |
749 | +--- a/tests/auto/qmltest/listview/tst_listview.qml |
750 | ++++ b/tests/auto/qmltest/listview/tst_listview.qml |
751 | +@@ -102,6 +102,23 @@ Item { |
752 | + } |
753 | + } |
754 | + |
755 | ++ ListView { |
756 | ++ id: listViewDelegateModelAfterCreate |
757 | ++ anchors.fill: parent |
758 | ++ property int createdDelegates: 0 |
759 | ++ } |
760 | ++ |
761 | ++ Component { |
762 | ++ id: delegateModelAfterCreateComponent |
763 | ++ Rectangle { |
764 | ++ width: 140 |
765 | ++ height: 140 |
766 | ++ border.color: "black" |
767 | ++ color: "red" |
768 | ++ Component.onCompleted: listViewDelegateModelAfterCreate.createdDelegates++; |
769 | ++ } |
770 | ++ } |
771 | ++ |
772 | + ListModel { id: emptymodel } |
773 | + ListModel { id: manyitems } |
774 | + ListModel { id: firstmodel; ListElement { name: "FirstModelElement0" } } |
775 | +@@ -249,5 +266,11 @@ Item { |
776 | + asyncListViewLoaderView.currentIndex = 4; |
777 | + } |
778 | + } |
779 | ++ |
780 | ++ function test_set_delegate_model_after_list_creation() { |
781 | ++ listViewDelegateModelAfterCreate.delegate = delegateModelAfterCreateComponent; |
782 | ++ listViewDelegateModelAfterCreate.model = 40; |
783 | ++ verify(listViewDelegateModelAfterCreate.createdDelegates > 0); |
784 | ++ } |
785 | + } |
786 | + } |
787 | +diff --git a/tests/auto/qmltest/pathview/tst_pathview.qml b/tests/auto/qmltest/pathview/tst_pathview.qml |
788 | +new file mode 100644 |
789 | +index 0000000..820034c |
790 | +--- /dev/null |
791 | ++++ b/tests/auto/qmltest/pathview/tst_pathview.qml |
792 | +@@ -0,0 +1,35 @@ |
793 | ++import QtQuick 2.1 |
794 | ++import QtTest 1.0 |
795 | ++ |
796 | ++Item { |
797 | ++ id: top |
798 | ++ |
799 | ++ PathView { |
800 | ++ id: pathViewDelegateModelAfterCreate |
801 | ++ anchors.fill: parent |
802 | ++ property int createdDelegates: 0 |
803 | ++ path: Path { startX: 120; startY: 100 } |
804 | ++ } |
805 | ++ |
806 | ++ Component { |
807 | ++ id: delegateModelAfterCreateComponent |
808 | ++ Rectangle { |
809 | ++ width: 140 |
810 | ++ height: 140 |
811 | ++ border.color: "black" |
812 | ++ color: "red" |
813 | ++ Component.onCompleted: pathViewDelegateModelAfterCreate.createdDelegates++; |
814 | ++ } |
815 | ++ } |
816 | ++ |
817 | ++ TestCase { |
818 | ++ name: "PathView" |
819 | ++ when: windowShown |
820 | ++ |
821 | ++ function test_set_delegate_model_after_path_creation() { |
822 | ++ pathViewDelegateModelAfterCreate.delegate = delegateModelAfterCreateComponent; |
823 | ++ pathViewDelegateModelAfterCreate.model = 40; |
824 | ++ verify(pathViewDelegateModelAfterCreate.createdDelegates > 0); |
825 | ++ } |
826 | ++ } |
827 | ++} |
828 | +-- |
829 | +1.9.1 |
830 | + |
831 | |
832 | === added file 'debian/patches/V4-regalloc-fix-register-spill-choice-under-high-pre.patch' |
833 | --- debian/patches/V4-regalloc-fix-register-spill-choice-under-high-pre.patch 1970-01-01 00:00:00 +0000 |
834 | +++ debian/patches/V4-regalloc-fix-register-spill-choice-under-high-pre.patch 2014-04-28 07:48:46 +0000 |
835 | @@ -0,0 +1,50 @@ |
836 | +From 093ca2f431bdd65e8f7eea1ec1cbb59f45061cd2 Mon Sep 17 00:00:00 2001 |
837 | +From: Erik Verbruggen <erik.verbruggen@digia.com> |
838 | +Date: Wed, 23 Apr 2014 15:13:56 +0200 |
839 | +Subject: [PATCH] V4 regalloc: fix register spill choice under high pressure. |
840 | + |
841 | +When a register is needed for an input parameter of an operation, and |
842 | +all registers are already in use, do not select a register for spilling |
843 | +when it is also used in the current operation. |
844 | + |
845 | +Task-number: QTBUG-38451 |
846 | +Change-Id: I4a8f28cbaadce2dbb9d0c450ccac0ed572936c24 |
847 | +--- |
848 | + src/qml/jit/qv4regalloc.cpp | 10 +++++++++- |
849 | + 1 file changed, 9 insertions(+), 1 deletion(-) |
850 | + |
851 | +diff --git a/src/qml/jit/qv4regalloc.cpp b/src/qml/jit/qv4regalloc.cpp |
852 | +index 506fd8d..ba128c1 100644 |
853 | +--- a/src/qml/compiler/qv4regalloc.cpp |
854 | ++++ b/src/qml/compiler/qv4regalloc.cpp |
855 | +@@ -1222,6 +1222,10 @@ void RegisterAllocator::linearScan() |
856 | + |
857 | + Q_ASSERT(!current.isFixedInterval()); |
858 | + |
859 | ++#ifdef DEBUG_REGALLOC |
860 | ++ qDebug() << "** Position" << position; |
861 | ++#endif // DEBUG_REGALLOC |
862 | ++ |
863 | + if (_info->canHaveRegister(current.temp())) { |
864 | + tryAllocateFreeReg(current, position); |
865 | + if (current.reg() == LifeTimeInterval::Invalid) |
866 | +@@ -1374,11 +1378,15 @@ void RegisterAllocator::allocateBlockedReg(LifeTimeInterval ¤t, const int |
867 | + QVector<LifeTimeInterval *> nextUseRangeForReg(nextUsePos.size(), 0); |
868 | + Q_ASSERT(nextUsePos.size() > 0); |
869 | + |
870 | ++ const bool definedAtCurrentPosition = !current.isSplitFromInterval() && current.start() == position; |
871 | ++ |
872 | + for (int i = 0, ei = _active.size(); i != ei; ++i) { |
873 | + LifeTimeInterval &it = _active[i]; |
874 | + if (it.isFP() == needsFPReg) { |
875 | + int nu = it.isFixedInterval() ? 0 : nextUse(it.temp(), current.firstPossibleUsePosition(isPhiTarget)); |
876 | +- if (nu != -1 && nu < nextUsePos[it.reg()]) { |
877 | ++ if (nu == position && !definedAtCurrentPosition) { |
878 | ++ nextUsePos[it.reg()] = 0; |
879 | ++ } else if (nu != -1 && nu < nextUsePos[it.reg()]) { |
880 | + nextUsePos[it.reg()] = nu; |
881 | + nextUseRangeForReg[it.reg()] = ⁢ |
882 | + } else if (nu == -1 && nextUsePos[it.reg()] == INT_MAX) { |
883 | +-- |
884 | +1.9.1 |
885 | + |
886 | |
887 | === modified file 'debian/patches/series' |
888 | --- debian/patches/series 2014-04-10 06:00:35 +0000 |
889 | +++ debian/patches/series 2014-04-28 07:48:46 +0000 |
890 | @@ -20,3 +20,7 @@ |
891 | 0001-Call-tzset-from-getLocalTZA-so-we-learn-about-tz-cha.patch |
892 | Support-RFC2822Date-date-format-similar-to-V8.patch |
893 | Fix_QSmoothedAnimation_sometimes_getting_stuck.patch |
894 | +Fix-marking-of-prototype-objects-in-chain.patch |
895 | +QQuickItemView-QQuickPathView-Fix-creation-of-delega.patch |
896 | +Implement-proper-support-for-layoutChange-in-QQmlDel.patch |
897 | +V4-regalloc-fix-register-spill-choice-under-high-pre.patch |
898 | |
899 | === renamed file 'debian/qtdeclarative5-models-plugin.install' => 'debian/qml-model-qtqml-models2.install' |
900 | === renamed file 'debian/qtdeclarative5-folderlistmodel-plugin.install' => 'debian/qml-module-qt-labs-folderlistmodel.install' |
901 | === renamed file 'debian/qtdeclarative5-settings-plugin.install' => 'debian/qml-module-qt-labs-settings.install' |
902 | === renamed file 'debian/qtdeclarative5-dialogs-plugin.install' => 'debian/qml-module-qtquick-dialogs.install' |
903 | --- debian/qtdeclarative5-dialogs-plugin.install 2014-02-10 15:33:35 +0000 |
904 | +++ debian/qml-module-qtquick-dialogs.install 2014-04-28 07:48:46 +0000 |
905 | @@ -1,1 +1,5 @@ |
906 | -usr/lib/*/qt5/qml/QtQuick/Dialogs/ |
907 | +usr/lib/*/qt5/qml/QtQuick/Dialogs/Private/libdialogsprivateplugin.so |
908 | +usr/lib/*/qt5/qml/QtQuick/Dialogs/Private/qmldir |
909 | +usr/lib/*/qt5/qml/QtQuick/Dialogs/libdialogplugin.so |
910 | +usr/lib/*/qt5/qml/QtQuick/Dialogs/plugins.qmltypes |
911 | +usr/lib/*/qt5/qml/QtQuick/Dialogs/qmldir |
912 | |
913 | === renamed file 'debian/qtdeclarative5-dialogs-plugin.lintian-overrides' => 'debian/qml-module-qtquick-dialogs.lintian-overrides' |
914 | --- debian/qtdeclarative5-dialogs-plugin.lintian-overrides 2013-08-30 11:58:43 +0000 |
915 | +++ debian/qml-module-qtquick-dialogs.lintian-overrides 2014-04-28 07:48:46 +0000 |
916 | @@ -1,1 +1,1 @@ |
917 | -qtdeclarative5-dialogs-plugin: image-file-in-usr-lib |
918 | +qml-module-qtquick-dialogs: image-file-in-usr-lib |
919 | |
920 | === renamed file 'debian/qtdeclarative5-localstorage-plugin.install' => 'debian/qml-module-qtquick-localstorage.install' |
921 | === renamed file 'debian/qtdeclarative5-particles-plugin.install' => 'debian/qml-module-qtquick-particles2.install' |
922 | === renamed file 'debian/qtdeclarative5-privatewidgets-plugin.install' => 'debian/qml-module-qtquick-privatewidgets.install' |
923 | === renamed file 'debian/qtdeclarative5-window-plugin.install' => 'debian/qml-module-qtquick-window2.install' |
924 | === renamed file 'debian/qtdeclarative5-xmllistmodel-plugin.install' => 'debian/qml-module-qtquick-xmllistmodel.install' |
925 | === renamed file 'debian/qtdeclarative5-qtquick2-plugin.install' => 'debian/qml-module-qtquick2.install' |
926 | === renamed file 'debian/qtdeclarative5-test-plugin.install' => 'debian/qml-module-qttest.install' |
927 | === added file 'debian/source/lintian-overrides' |
928 | --- debian/source/lintian-overrides 1970-01-01 00:00:00 +0000 |
929 | +++ debian/source/lintian-overrides 2014-04-28 07:48:46 +0000 |
930 | @@ -0,0 +1,1 @@ |
931 | +qtdeclarative-opensource-src source: duplicate-long-description qtdeclarative5-dialogs-plugin qtdeclarative5-folderlistmodel-plugin qtdeclarative5-localstorage-plugin qtdeclarative5-models-plugin qtdeclarative5-particles-plugin qtdeclarative5-privatewidgets-plugin qtdeclarative5-qtquick2-plugin qtdeclarative5-settings-plugin qtdeclarative5-test-plugin qtdeclarative5-window-plugin qtdeclarative5-xmllistmodel-plugin |
FAILED: Continuous integration, rev:147 jenkins. qa.ubuntu. com/job/ kubuntu- packagers- kubuntu- packaging- qtdeclarative- opensource- src-ci/ 16/ jenkins. qa.ubuntu. com/job/ kubuntu- packagers- kubuntu- packaging- qtdeclarative- opensource- src-trusty- amd64-ci/ 16/console jenkins. qa.ubuntu. com/job/ kubuntu- packagers- kubuntu- packaging- qtdeclarative- opensource- src-trusty- armhf-ci/ 16/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/kubuntu- packagers- kubuntu- packaging- qtdeclarative- opensource- src-ci/ 16/rebuild
http://