princeamd pushed a commit to branch enlightenment-0.17.
commit 0f067cb391a819737b41b63464f55f81fa08b3d5
Author: Chris Michael <[email protected]>
Date: Fri May 24 18:42:45 2013 +0100
Backport: 04936b2 :: Set primary output before crtc settings. If the
primary output saved in config does not exist, then set primary to the first
output.
Signed-off-by: Chris Michael <[email protected]>
Signed-off-by: Deon Thomas <[email protected]>
---
src/bin/e_randr.c | 35 ++++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/src/bin/e_randr.c b/src/bin/e_randr.c
index 4aa79b6..7b54935 100644
--- a/src/bin/e_randr.c
+++ b/src/bin/e_randr.c
@@ -524,9 +524,32 @@ _e_randr_config_restore(void)
if (ocount > 0)
{
- Ecore_X_Randr_Output *couts;
+ Ecore_X_Randr_Output *couts, primary = 0;
Eina_List *o;
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)
@@ -550,14 +573,6 @@ _e_randr_config_restore(void)
crtc_cfg->mode,
crtc_cfg->orient);
- 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);
- break;
- }
-
free(couts);
}
}
@@ -566,8 +581,6 @@ _e_randr_config_restore(void)
eina_list_free(valid_crtcs);
}
-// e_randr_config_save();
-
// if (need_reset) ecore_x_randr_screen_reset(root);
}
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev