mirror of
https://github.com/brl/mutter.git
synced 2025-06-13 16:59:30 +00:00
monitor-manager: Let the backends handle no configuration
Let the backends decide whether to just rebuild a derived state, or use the NULL config to rebuild an empty logical state. This also changes the expected screen size values of the no-outputs test; as this case is actually handled now. https://bugzilla.gnome.org/show_bug.cgi?id=777732
This commit is contained in:
@ -501,6 +501,14 @@ meta_monitor_manager_dummy_apply_monitors_config (MetaMonitorManager *manager,
|
||||
GPtrArray *crtc_infos;
|
||||
GPtrArray *output_infos;
|
||||
|
||||
if (!config)
|
||||
{
|
||||
manager->screen_width = 0;
|
||||
manager->screen_height = 0;
|
||||
|
||||
meta_monitor_manager_rebuild (manager, NULL);
|
||||
}
|
||||
|
||||
if (!meta_monitor_config_manager_assign (manager, config,
|
||||
&crtc_infos, &output_infos,
|
||||
error))
|
||||
|
@ -420,7 +420,7 @@ done:
|
||||
|
||||
if (!config)
|
||||
{
|
||||
meta_monitor_manager_rebuild (manager, NULL);
|
||||
meta_monitor_manager_apply_monitors_config (manager, NULL, &error);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -1430,6 +1430,7 @@ meta_monitor_manager_kms_apply_monitors_config (MetaMonitorManager *manager,
|
||||
{
|
||||
manager->screen_width = 0;
|
||||
manager->screen_height = 0;
|
||||
meta_monitor_manager_rebuild (manager, NULL);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -1303,6 +1303,12 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *manager,
|
||||
GPtrArray *crtc_infos;
|
||||
GPtrArray *output_infos;
|
||||
|
||||
if (!config)
|
||||
{
|
||||
meta_monitor_manager_rebuild_derived (manager);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!meta_monitor_config_manager_assign (manager, config,
|
||||
&crtc_infos, &output_infos,
|
||||
error))
|
||||
|
Reference in New Issue
Block a user