Mir

Code review comment for lp:~raof/mir/nested-preserve-display-buffer

Revision history for this message
Chris Halse Rogers (raof) wrote :

This works around a (deliberate) change in behaviour in this branch.

Previously, the nearby call to
nested_mir.server.the_display_configuration_controller()->set_base_configuration(initial_config)
would stop and resume the compositor around the display->configure() call. Compositor::start() has the side-effect of forcing a composition pass, which results in the nested server posting a buffer, which results in the nested server receiving focus in the host server, which results in the host server actually applying the requested display configuration.

The goal of this branch is to eliminate the stop()/start() cycle. This means the nested server doesn't (unnecessarily) post an empty buffer on set_base_configuration(), which means that the nested server isn't focused, which means the host server *doesn't* change the display configuration, which means the test times out waiting for the host server to change the display configuration.

So, the thing that you're missing is that while the session display configuration *will* get set without focus, the test is waiting for the display configuration to be applied, which only happens with focus.

« Back to merge proposal