FocusController::set_focus_to() no longer seems to raise a session to the top

Bug #1302689 reported by Michael Terry
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Medium
Alan Griffiths
mir (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

I'm testing mir/devel with my split greeter branches which have multiple sessions. And I've noticed a regression this last week.

msh::FocusController::set_focus_to() no longer seems to raise a session to the top of the Z stack. And neither does ms::SurfaceRanker::raise() -- which I know has been renamed/replaced.

On a related note, is there an easy way to raise a whole session without individually raising the surfaces (and without changing input focus like set_focus_to does)? Because I'm not sure when raising the surfaces inside a session if I've got the order right. (That is, I want to raise all of session B's surfaces above session A's, but keep their respective session-internal order.)

Related branches

Changed in mir (Ubuntu):
assignee: nobody → Alan Griffiths (alan-griffiths)
status: New → In Progress
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I'm not sure what's causing the observed symptoms - certainly calling set_focus_to() does seem to invoke SurfaceStack::raise() as seen in the integration test added in the linked branch.

Changed in mir:
status: New → In Progress
assignee: nobody → Alan Griffiths (alan-griffiths)
Changed in mir (Ubuntu):
status: In Progress → Triaged
status: Triaged → Confirmed
assignee: Alan Griffiths (alan-griffiths) → nobody
Changed in mir:
milestone: none → 0.1.9
summary: - Session raising problems
+ FocusController::set_focus_to() no longer seems to raise a session to
+ the top
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Michael Terry (mterry) wrote :

Thanks for test, and my claim may be bogus from poorly built Mir stacks. I'm going to go back to basing off 0.1.8 while 0.1.9 cools.

Does anyone have an answer to my question from the bug description? Here it is again:

"""
On a related note, is there an easy way to raise a whole session without individually raising the surfaces (and without changing input focus like set_focus_to does)? Because I'm not sure when raising the surfaces inside a session if I've got the order right. (That is, I want to raise all of session B's surfaces above session A's, but keep their respective session-internal order.)
"""

Changed in mir:
status: Fix Committed → Fix Released
Changed in mir:
importance: Undecided → Medium
Changed in mir (Ubuntu):
importance: Undecided → Medium
Changed in mir (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.1.9+14.10.20140430.1-0ubuntu1

---------------
mir (0.1.9+14.10.20140430.1-0ubuntu1) utopic; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.1.9 (https://launchpad.net/mir/+milestone/0.1.9)
    - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
    - mirserver ABI bumped to 19. Shells need rebuilding.
    - More libmirserver class changes and reorganization, including;
      . Moving things from shell:: to scene::
      . Rewriting/refactoring surface factories.
    - Added an id() to Renderable.
    - Scene/Renderer interfaces:
      . Scene is no longer responsible for its own iteration (no for_each
        any more). Instead you should iterate over the list returned by
        Scene::generate_renderable_list().
    - Bugs fixed:
      . Stale socket issue. (LP: #1285215)
      . Qt render gets blocked on EGLSwapBuffers. (LP: #1292306)
      . Lock order violated found in helgrind (potential deadlock).
        (LP: #1296544)
      . [regression] SwitchingBundle in framedropping mode can hang.
        (LP: #1306464)
      . [DPMS] Display backlight turns back on almost immediately after
        being turned off. (LP: #1231857)
      . Wrong frame is seen on wake up/resume/unlock. (LP: #1233564)
      . Nested platform is not testable (LP: #1299101)
      . [regression] mir_demo_server_shell crashes on display resume.
        (LP: #1308941)
      . Multi-threaded composition is actually mostly serialized by
        SurfaceStack::guard. (LP: #1234018)
      . Mirscreencast slows down compositing and makes it very jerky.
        (LP: #1280938)
      . Mirscreencast can cause clients to render faster than the screen
        refresh rate. (LP: #1294361)
      . Screen turns on when a new session/surface appears. (LP: #1297876)
      . mir-doc package is >56MB in size, expands to >100MB of files.
        (LP: #1304998)
      . [regression] Clang: 'mir::test::doubles::MockSurface::visible'
        hides overloaded virtual function [-Woverloaded-virtual].
        (LP: #1301135)
      . [regression] GLRenderer* unit tests have recently become noisy.
        (LP: #1308905)
      . FocusController::set_focus_to() no longer seems to raise a session
        to the top. (LP: #1302689)

  [ Ubuntu daily release ]
  * New rebuild forced
 -- Ubuntu daily release <email address hidden> Wed, 30 Apr 2014 13:26:58 +0000

Changed in mir (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.