aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Michael <cp.michael@samsung.com>2019-02-25 13:44:47 -0500
committerChristopher Michael <cp.michael@samsung.com>2019-02-25 13:44:47 -0500
commitb7b1562199c9ac43c50dc1c57e74c14d9dc1701f (patch)
tree45b32b2606f729e1f1a2cfcee005edb55988cfe9
parentwl_drm: refactor _drm2_randr_apply function to support multi-output (diff)
downloadenlightenment-devs/devilhorns/output.tar.gz
wl-drm: Add call to set cloned or not cloned outputdevs/devilhorns/output
-rw-r--r--src/modules/wl_drm/e_mod_main.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c
index a4a02b179..2feb214f0 100644
--- a/src/modules/wl_drm/e_mod_main.c
+++ b/src/modules/wl_drm/e_mod_main.c
@@ -295,6 +295,9 @@ _drm2_randr_create(void)
Eina_Bool ok = EINA_FALSE;
Eina_Bool possible = EINA_FALSE;
+ if (!ecore_drm2_output_connected_get(output))
+ continue;
+
s = E_NEW(E_Randr2_Screen, 1);
if (!s) continue;
@@ -313,6 +316,7 @@ _drm2_randr_create(void)
s->id = malloc(strlen(s->info.name) + 1 + 1);
if (!s->id)
{
+ free(s->info.name);
free(s->info.screen);
free(s->info.edid);
free(s);
@@ -653,7 +657,6 @@ _drm2_randr_apply(void)
ecore_drm2_output_mode_set(outconf[i], mode,
screenconf[i]->config.geom.x,
screenconf[i]->config.geom.y);
- ecore_drm2_output_rotation_set(outconf[i], orient);
ecore_drm2_output_relative_to_set(outconf[i],
screenconf[i]->config.relative.to);
@@ -669,23 +672,26 @@ _drm2_randr_apply(void)
ecore_drm2_output_enabled_set(outconf[i],
screenconf[i]->config.enabled);
+ ecore_evas_rotation_with_resize_set(e_comp->ee,
+ screenconf[i]->config.rotation);
+
if ((screenconf[i]->config.relative.to) &&
(screenconf[i]->config.relative.mode ==
E_RANDR2_RELATIVE_CLONE))
{
Ecore_Drm2_Output *clone;
- clone = _drm2_output_find(outputs,
- screenconf[i]->config.relative.to);
- ecore_evas_output_clone_set(e_comp->ee, outconf[i],
- clone);
+ clone =
+ _drm2_output_find(outputs,
+ screenconf[i]->config.relative.to);
+ fprintf(stderr, "WL_DRM: SET OUTPUT CLONED !!\n");
+ ecore_evas_output_clone_set(e_comp->ee, outconf[i], clone);
}
else
- ecore_evas_output_clone_set(e_comp->ee, outconf[i],
- NULL);
- /* ecore_drm2_output_cloned_set(dev, outconf[i], EINA_TRUE); */
- /* else */
- /* ecore_drm2_output_cloned_set(dev, outconf[i], EINA_FALSE); */
+ {
+ fprintf(stderr, "WL_DRM: SET OUTPUT NOT CLONED !!\n");
+ ecore_evas_output_clone_set(e_comp->ee, outconf[i], NULL);
+ }
}
else
{
@@ -705,7 +711,6 @@ _drm2_randr_apply(void)
printf("RRR: set vsize: %ix%i\n", nw, nh);
ecore_drm2_device_calibrate(dev, nw, nh);
ecore_drm2_device_pointer_max_set(dev, nw, nh);
- ecore_drm2_device_pointer_warp(dev, nw / 2, nh / 2);
}
static void