ecore_drm2: Fix error handling in _output_dpms_atomic_set
authorDerek Foreman <derekf@osg.samsung.com>
Mon, 5 Jun 2017 21:22:08 +0000 (16:22 -0500)
committerDerek Foreman <derekf@osg.samsung.com>
Mon, 5 Jun 2017 21:25:14 +0000 (16:25 -0500)
This was skipping the error path on failure and setting some state as if
it was successful.  Then the next attempt at a page flip was actually
setting this state.

So _output_dpms_atomic_set (which has always been broken) wasn't actually
the function that successfully disabled dpms.

This is confounding attempts to debug why dpms isn't coming back on
properly.

Now it won't turn *off* either, because it really never should have.

Ref T5462

src/lib/ecore_drm2/ecore_drm2_outputs.c

index 39fb847..263fccd 100644 (file)
@@ -450,6 +450,7 @@ _output_dpms_atomic_set(Ecore_Drm2_Output *output, int level)
      {
         ERR("Could not set dpms property: %m");
         ret = EINA_FALSE;
+        goto err;
      }
 
    cstate->dpms.value = level;