Merge lp:~dandrader/qtmir/fixIsPidFocused into lp:qtmir

Proposed by Daniel d'Andrada
Status: Merged
Approved by: Gerry Boland
Approved revision: 551
Merged at revision: 550
Proposed branch: lp:~dandrader/qtmir/fixIsPidFocused
Merge into: lp:qtmir
Diff against target: 52 lines (+19/-12)
2 files modified
src/modules/Unity/Application/dbusfocusinfo.cpp (+18/-12)
src/modules/Unity/Application/dbusfocusinfo.h (+1/-0)
To merge this branch: bzr merge lp:~dandrader/qtmir/fixIsPidFocused
Reviewer Review Type Date Requested Status
Unity8 CI Bot (community) continuous-integration Approve
Gerry Boland (community) Approve
Review via email: mp+303946@code.launchpad.net

Commit message

DBusFocusInfo.isPidFocused: search sessions recursively

Description of the change

* Are there any related MPs required for this MP to build/function as expected? Please list.
No

* 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?
Not applicable

To post a comment you must log in.
lp:~dandrader/qtmir/fixIsPidFocused updated
551. By Daniel d'Andrada

Fix indentation

Revision history for this message
Gerry Boland (gerboland) wrote :

- Q_FOREACH (Application* application, m_applications) {
+ for (Application* application : m_applications) {
not a blocker, just a hint the original *might* be better. Ref:
http://www.dvratil.cz/2015/06/qt-containers-and-c11-range-based-loops/

Other than that, code looks ok

review: Approve
lp:~dandrader/qtmir/fixIsPidFocused updated
552. By Daniel d'Andrada

I hate Q_FOREACH

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:550
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/349/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2671
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2699
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2572
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2572
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2572
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2566/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2566
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2566/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/349/rebuild

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/modules/Unity/Application/dbusfocusinfo.cpp'
2--- src/modules/Unity/Application/dbusfocusinfo.cpp 2016-07-05 13:26:14 +0000
3+++ src/modules/Unity/Application/dbusfocusinfo.cpp 2016-08-25 15:28:41 +0000
4@@ -71,19 +71,25 @@
5 SessionInterface* DBusFocusInfo::findSessionWithPid(const QSet<pid_t> &pidSet)
6 {
7 Q_FOREACH (Application* application, m_applications) {
8- auto session = application->session();
9- if (pidSet.contains(session->pid())) {
10- return session;
11- }
12- SessionInterface *chosenChildSession = nullptr;
13- session->foreachChildSession([&](SessionInterface* childSession) {
14- if (pidSet.contains(childSession->pid())) {
15- chosenChildSession = childSession;
16- }
17- });
18- if (chosenChildSession) {
19- return chosenChildSession;
20+ SessionInterface *sessionWithPid = findSessionWithPid(application->session(), pidSet);
21+ if (sessionWithPid) {
22+ return sessionWithPid;
23 }
24 }
25 return nullptr;
26 }
27+
28+SessionInterface* DBusFocusInfo::findSessionWithPid(SessionInterface* session, const QSet<pid_t> &pidSet)
29+{
30+ if (pidSet.contains(session->pid())) {
31+ return session;
32+ }
33+
34+ SessionInterface *sessionWithPid = nullptr;
35+ session->foreachChildSession([&](SessionInterface* childSession) {
36+ if (!sessionWithPid) {
37+ sessionWithPid = findSessionWithPid(childSession, pidSet);
38+ }
39+ });
40+ return sessionWithPid;
41+}
42
43=== modified file 'src/modules/Unity/Application/dbusfocusinfo.h'
44--- src/modules/Unity/Application/dbusfocusinfo.h 2016-07-01 16:15:54 +0000
45+++ src/modules/Unity/Application/dbusfocusinfo.h 2016-08-25 15:28:41 +0000
46@@ -45,6 +45,7 @@
47 private:
48 QSet<pid_t> fetchAssociatedPids(pid_t pid);
49 SessionInterface* findSessionWithPid(const QSet<pid_t> &pidSet);
50+ SessionInterface* findSessionWithPid(SessionInterface* session, const QSet<pid_t> &pidSet);
51
52 const QList<Application*> &m_applications;
53

Subscribers

People subscribed via source and target branches