Actually, we cannot set primary first as we may need to re-enable a

saved monitor, so move "primary setting" until After we have enabled
and sized the monitors.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
This commit is contained in:
Chris Michael 2013-05-25 20:17:31 +01:00
parent 42dd1fe8ee
commit 74a85a19db
1 changed files with 22 additions and 22 deletions

View File

@ -529,28 +529,6 @@ _e_randr_config_restore(void)
E_Randr_Output_Config *out;
Eina_Bool primary_set = EINA_FALSE;
/* get the current primary output */
primary = ecore_x_randr_primary_output_get(root);
EINA_LIST_FOREACH(valid_outputs, o, out)
{
if ((out->primary) &&
((int)out->xid == e_randr_cfg->primary))
{
ecore_x_randr_primary_output_set(root, out->xid);
primary_set = EINA_TRUE;
break;
}
}
if (!primary_set)
{
/* if no primary was set, set it to the first output */
out = eina_list_nth(valid_outputs, 0);
ecore_x_randr_primary_output_set(root, out->xid);
e_randr_cfg->primary = (int)out->xid;
e_randr_config_save();
}
couts = malloc(ocount * sizeof(Ecore_X_Randr_Output));
EINA_LIST_FOREACH(valid_outputs, o, out)
{
@ -573,6 +551,28 @@ _e_randr_config_restore(void)
crtc_cfg->mode,
crtc_cfg->orient);
/* get the current primary output */
primary = ecore_x_randr_primary_output_get(root);
EINA_LIST_FOREACH(valid_outputs, o, out)
{
if ((out->primary) &&
((int)out->xid == e_randr_cfg->primary))
{
ecore_x_randr_primary_output_set(root, out->xid);
primary_set = EINA_TRUE;
break;
}
}
if (!primary_set)
{
/* if no primary was set, set it to the first output */
out = eina_list_nth(valid_outputs, 0);
ecore_x_randr_primary_output_set(root, out->xid);
e_randr_cfg->primary = (int)out->xid;
e_randr_config_save();
}
free(couts);
}
}