e_hwc_windows: don't commit after dpms is set OFF 45/245545/5
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 8 Oct 2020 05:23:41 +0000 (14:23 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Tue, 27 Oct 2020 08:05:17 +0000 (17:05 +0900)
Change-Id: I83605aa4d979e73090f9c406947b88b30383950b

src/bin/e_hwc_windows.c
src/bin/e_output.c
src/bin/e_output.h

index fd199ea03cfacd2141fa94860140b534d5fbc732..2e987d18acc902fc0c8447dae754e8937eabd656 100644 (file)
@@ -3126,7 +3126,7 @@ e_hwc_windows_commit(E_Hwc *hwc, E_Output_Display_Mode display_mode)
           goto re_evaluate;
      }
 
-   if (output->dpms == E_OUTPUT_DPMS_OFF)
+   if ((output->dpms == E_OUTPUT_DPMS_OFF) || (output->set_dpms == E_OUTPUT_DPMS_OFF))
      {
         _e_hwc_windows_offscreen_commit(hwc);
         goto update_done;
index 1c0b23a781ed971ce5c347e243d14c7c60ca0a53..21fa0a5a548a3ec3b24d82f66b74ca02ad3b2f6e 100644 (file)
@@ -992,6 +992,7 @@ _e_output_cb_output_change(tdm_output *toutput,
         else edpms = output->dpms;
 
         output->dpms = edpms;
+        output->set_dpms = edpms;
 
         _e_output_hook_call(E_OUTPUT_HOOK_DPMS_CHANGE, output);
 
@@ -3111,6 +3112,7 @@ e_output_dpms_set(E_Output *output, E_OUTPUT_DPMS val)
 
    if (output->fake_config)
      {
+        output->set_dpms = val;
         output->dpms = val;
         return EINA_TRUE;
      }
@@ -3130,6 +3132,8 @@ e_output_dpms_set(E_Output *output, E_OUTPUT_DPMS val)
         return EINA_FALSE;
      }
 
+   output->set_dpms = val;
+
    return EINA_TRUE;
 }
 
index ffa4b84308db139e3b3ba03d04e8721f2c1f0388..e9935e95ff7bdaa9d9c6f8164ee1c03304e2f8e1 100644 (file)
@@ -83,6 +83,7 @@ struct _E_Output
 
    E_Comp_Screen        *e_comp_screen;
    E_OUTPUT_DPMS        dpms;
+   E_OUTPUT_DPMS        set_dpms;
    Eina_Bool            dpms_async;
 
    struct {