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