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
=== modified file 'src/modules/Unity/Application/dbusfocusinfo.cpp'
--- src/modules/Unity/Application/dbusfocusinfo.cpp 2016-07-05 13:26:14 +0000
+++ src/modules/Unity/Application/dbusfocusinfo.cpp 2016-08-25 15:28:41 +0000
@@ -71,19 +71,25 @@
71SessionInterface* DBusFocusInfo::findSessionWithPid(const QSet<pid_t> &pidSet)71SessionInterface* DBusFocusInfo::findSessionWithPid(const QSet<pid_t> &pidSet)
72{72{
73 Q_FOREACH (Application* application, m_applications) {73 Q_FOREACH (Application* application, m_applications) {
74 auto session = application->session();74 SessionInterface *sessionWithPid = findSessionWithPid(application->session(), pidSet);
75 if (pidSet.contains(session->pid())) {75 if (sessionWithPid) {
76 return session;76 return sessionWithPid;
77 }
78 SessionInterface *chosenChildSession = nullptr;
79 session->foreachChildSession([&](SessionInterface* childSession) {
80 if (pidSet.contains(childSession->pid())) {
81 chosenChildSession = childSession;
82 }
83 });
84 if (chosenChildSession) {
85 return chosenChildSession;
86 }77 }
87 }78 }
88 return nullptr;79 return nullptr;
89}80}
81
82SessionInterface* DBusFocusInfo::findSessionWithPid(SessionInterface* session, const QSet<pid_t> &pidSet)
83{
84 if (pidSet.contains(session->pid())) {
85 return session;
86 }
87
88 SessionInterface *sessionWithPid = nullptr;
89 session->foreachChildSession([&](SessionInterface* childSession) {
90 if (!sessionWithPid) {
91 sessionWithPid = findSessionWithPid(childSession, pidSet);
92 }
93 });
94 return sessionWithPid;
95}
9096
=== modified file 'src/modules/Unity/Application/dbusfocusinfo.h'
--- src/modules/Unity/Application/dbusfocusinfo.h 2016-07-01 16:15:54 +0000
+++ src/modules/Unity/Application/dbusfocusinfo.h 2016-08-25 15:28:41 +0000
@@ -45,6 +45,7 @@
45private:45private:
46 QSet<pid_t> fetchAssociatedPids(pid_t pid);46 QSet<pid_t> fetchAssociatedPids(pid_t pid);
47 SessionInterface* findSessionWithPid(const QSet<pid_t> &pidSet);47 SessionInterface* findSessionWithPid(const QSet<pid_t> &pidSet);
48 SessionInterface* findSessionWithPid(SessionInterface* session, const QSet<pid_t> &pidSet);
4849
49 const QList<Application*> &m_applications;50 const QList<Application*> &m_applications;
5051

Subscribers

People subscribed via source and target branches