Merge lp:~mzanetti/unity8/fix-1658190 into lp:unity8
- fix-1658190
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Lukáš Tinkl |
Approved revision: | 2744 |
Merged at revision: | 2827 |
Proposed branch: | lp:~mzanetti/unity8/fix-1658190 |
Merge into: | lp:unity8 |
Prerequisite: | lp:~mzanetti/unity8/homekey-dash |
Diff against target: |
55 lines (+10/-3) 2 files modified
plugins/Utils/appdrawerproxymodel.cpp (+2/-2) qml/Launcher/Drawer.qml (+8/-1) |
To merge this branch: | bzr merge lp:~mzanetti/unity8/fix-1658190 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot | continuous-integration | Approve | |
Lukáš Tinkl (community) | Approve | ||
Review via email: mp+315384@code.launchpad.net |
Commit message
properly invalidate the whole model
this fixes a crash in certain circumstances but makes things slower.
To compensate the slowness, turning off dynamic sorting/filtering
in the topmost proxy models seems to work fine.
Description of the change
* Are there any related MPs required for this MP to build/function as expected? Please list.
see prereq
* Did you perform an exploratory manual test run of your code change and any related functionality?
yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
n/a
* If you changed the UI, has there been a design review?
n/a
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:2740
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
- 2741. By Michael Zanetti
-
properly invalidate the whole model
this fixes a crash in certain circumstances but makes things slower.
To compensate the slowness, turning off dynamic sorting/filtering
in the topmost proxy models seems to work fine.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2741
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Lukáš Tinkl (lukas-kde) wrote : | # |
Great, the crash is gone but pressing Enter no longer launches the first result when performing a search
- 2742. By Michael Zanetti
-
merge trunk
- 2743. By Michael Zanetti
-
fix type & launch
Michael Zanetti (mzanetti) wrote : | # |
> Great, the crash is gone but pressing Enter no longer launches the first
> result when performing a search
fixed
Lukáš Tinkl (lukas-kde) wrote : | # |
+ if (listLoader.item && !listLoader.
25 + listLoader.
26 + }
27 if (searchField.
I think you can then drop the check for "listLoader.
- 2744. By Michael Zanetti
-
simplify
Lukáš Tinkl (lukas-kde) wrote : | # |
Yup, works correctly now, I think the search still could be a bit faster but this will do for now as a crash fix
Waiting on CI for top approval
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:2743
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Lukáš Tinkl (lukas-kde) wrote : | # |
All good
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass? If not, please explain why.
Yes
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2744
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2744
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:2744
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | === modified file 'plugins/Utils/appdrawerproxymodel.cpp' |
2 | --- plugins/Utils/appdrawerproxymodel.cpp 2017-01-16 11:12:00 +0000 |
3 | +++ plugins/Utils/appdrawerproxymodel.cpp 2017-01-26 15:12:47 +0000 |
4 | @@ -43,8 +43,8 @@ |
5 | m_source = source; |
6 | setSourceModel(m_source); |
7 | setSortRole(m_sortBy == SortByAToZ ? AppDrawerModelInterface::RoleName : AppDrawerModelInterface::RoleUsage); |
8 | - connect(m_source, &QAbstractItemModel::rowsRemoved, this, &AppDrawerProxyModel::invalidateFilter); |
9 | - connect(m_source, &QAbstractItemModel::rowsInserted, this, &AppDrawerProxyModel::invalidateFilter); |
10 | + connect(m_source, &QAbstractItemModel::rowsRemoved, this, &AppDrawerProxyModel::invalidate); |
11 | + connect(m_source, &QAbstractItemModel::rowsInserted, this, &AppDrawerProxyModel::invalidate); |
12 | Q_EMIT sourceChanged(); |
13 | } |
14 | } |
15 | |
16 | === modified file 'qml/Launcher/Drawer.qml' |
17 | --- qml/Launcher/Drawer.qml 2017-01-09 14:18:35 +0000 |
18 | +++ qml/Launcher/Drawer.qml 2017-01-26 15:12:47 +0000 |
19 | @@ -95,7 +95,11 @@ |
20 | KeyNavigation.down: sections |
21 | |
22 | onAccepted: { |
23 | - if (searchField.displayText != "" && listLoader.item && listLoader.item.currentItem) { |
24 | + if (searchField.displayText != "" && listLoader.item) { |
25 | + // In case there is no currentItem (it might have been filtered away) lets reset it to the first item |
26 | + if (!listLoader.item.currentItem) { |
27 | + listLoader.item.currentIndex = 0; |
28 | + } |
29 | root.applicationSelected(listLoader.item.getFirstAppId()); |
30 | } |
31 | } |
32 | @@ -238,6 +242,7 @@ |
33 | source: sortProxyModel |
34 | group: AppDrawerProxyModel.GroupByAll |
35 | sortBy: AppDrawerProxyModel.SortByUsage |
36 | + dynamicSortFilter: false |
37 | } |
38 | |
39 | delegate: UbuntuShape { |
40 | @@ -287,6 +292,7 @@ |
41 | source: sortProxyModel |
42 | sortBy: AppDrawerProxyModel.SortByAToZ |
43 | group: AppDrawerProxyModel.GroupByAToZ |
44 | + dynamicSortFilter: false |
45 | } |
46 | |
47 | delegate: UbuntuShape { |
48 | @@ -320,6 +326,7 @@ |
49 | id: categoryModel |
50 | source: sortProxyModel |
51 | filterLetter: model.letter |
52 | + dynamicSortFilter: false |
53 | } |
54 | delegateWidth: units.gu(8) |
55 | delegateHeight: units.gu(10) |
FAILED: Continuous integration, rev:2740 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/3000/ /unity8- jenkins. ubuntu. com/job/ build/3905/ console /unity8- jenkins. ubuntu. com/job/ build-0- fetch/3933 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 3778 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 3778/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/3778 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= zesty/3778/ artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 3778 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 3778/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= zesty/3778/ console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 3778 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 3778/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= zesty/3778/ console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/3000/ rebuild
https:/