display: Enable all monitors when switching to join config

The new code had a bug in that it only ever enabled the first monitor
rather than all usable ones. Fix this by removing the erroronuous break.
Also clarify the comment a bit that the current solution is not really
ideal as it may result in invalid configurations (i.e. we enable more
outputs than are possible with the number of available CRTCs).

Fixes #418
This commit is contained in:
Benjamin Berg 2019-03-18 11:49:22 +01:00 committed by Georges Basile Stavracas Neto
parent c8ffb34038
commit 20d24992ee

View file

@ -250,14 +250,15 @@ config_ensure_of_type (CcDisplayPanel *panel, CcDisplayConfigType type)
case CC_DISPLAY_CONFIG_JOIN:
g_debug ("Creating new join config");
/* Enable all usable outputs */
/* Enable all usable outputs
* Note that this might result in invalid configurations as we
* we might not be able to drive all attached monitors. */
cc_display_config_set_cloning (panel->current_config, FALSE);
for (l = outputs; l; l = l->next)
{
CcDisplayMonitor *output = l->data;
cc_display_monitor_set_active (output, cc_display_monitor_is_usable (output));
break;
}
break;