Backport: dc509dd
:: Add support for an outputs clones in e_randr and e_randr config.
Signed-off-by: Christopher Michael <cp.michael@samsung.com> SVN revision: 84206 Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
This commit is contained in:
parent
a75407c538
commit
aa726e1be9
|
@ -122,6 +122,10 @@ _e_randr_config_load(void)
|
||||||
(char *)(&(eroc.edid)) - (char *)(&(eroc)),
|
(char *)(&(eroc.edid)) - (char *)(&(eroc)),
|
||||||
(char *)(&(eroc.edid_count)) -
|
(char *)(&(eroc.edid_count)) -
|
||||||
(char *)(&(eroc)), NULL, NULL);
|
(char *)(&(eroc)), NULL, NULL);
|
||||||
|
eet_data_descriptor_element_add(D, "clones", EET_T_UINT, EET_G_VAR_ARRAY,
|
||||||
|
(char *)(&(eroc.clones)) - (char *)(&(eroc)),
|
||||||
|
(char *)(&(eroc.clone_count)) -
|
||||||
|
(char *)(&(eroc)), NULL, NULL);
|
||||||
|
|
||||||
/* define edd for crtc config */
|
/* define edd for crtc config */
|
||||||
_e_randr_crtc_edd =
|
_e_randr_crtc_edd =
|
||||||
|
@ -288,6 +292,11 @@ _e_randr_config_new(void)
|
||||||
ecore_x_randr_output_edid_get(root, outputs[j],
|
ecore_x_randr_output_edid_get(root, outputs[j],
|
||||||
&output_cfg->edid_count);
|
&output_cfg->edid_count);
|
||||||
|
|
||||||
|
/* get the clones for this output */
|
||||||
|
output_cfg->clones =
|
||||||
|
ecore_x_randr_output_clones_get(root, outputs[i],
|
||||||
|
&output_cfg->clone_count);
|
||||||
|
|
||||||
/* add this output to the list for this crtc */
|
/* add this output to the list for this crtc */
|
||||||
crtc_cfg->outputs =
|
crtc_cfg->outputs =
|
||||||
eina_list_append(crtc_cfg->outputs, output_cfg);
|
eina_list_append(crtc_cfg->outputs, output_cfg);
|
||||||
|
@ -327,7 +336,9 @@ _e_randr_config_free(void)
|
||||||
/* loop the config outputs on this crtc and free them */
|
/* loop the config outputs on this crtc and free them */
|
||||||
EINA_LIST_FREE(crtc->outputs, output)
|
EINA_LIST_FREE(crtc->outputs, output)
|
||||||
{
|
{
|
||||||
|
if (output->clones) free(output->clones);
|
||||||
if (output->edid) free(output->edid);
|
if (output->edid) free(output->edid);
|
||||||
|
|
||||||
E_FREE(output);
|
E_FREE(output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,8 @@ struct _E_Randr_Output_Config
|
||||||
unsigned char primary; // flag to indicate if primary output
|
unsigned char primary; // flag to indicate if primary output
|
||||||
unsigned long edid_count; // monitor's edid length
|
unsigned long edid_count; // monitor's edid length
|
||||||
unsigned char *edid; // monitor's edid
|
unsigned char *edid; // monitor's edid
|
||||||
|
unsigned int *clones; // array of clones (each element of type ecore_x_randr output id (xid)
|
||||||
|
unsigned long clone_count; // number of clones
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Randr_Crtc_Config
|
struct _E_Randr_Crtc_Config
|
||||||
|
|
Loading…
Reference in New Issue