e_output: execute e_comp_override_add and del when primary output's dpms changeness 00/196900/2
authorJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 7 Jan 2019 11:21:54 +0000 (20:21 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 8 Jan 2019 00:36:51 +0000 (00:36 +0000)
Change-Id: I421f0ab0f3845db15d57ff83a0bdd53e3d86887f
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/e_output.c

index bed1b076c260a8a64bb3f2af44ba6eb2aa540f7f..7c52f12e88bd7647b11c43462daa8f4c8bece3d8 100644 (file)
@@ -719,6 +719,7 @@ _e_output_cb_output_change(tdm_output *toutput,
                                   void *user_data)
 {
    E_Output *e_output = NULL;
+   E_Output *primary = NULL;
    E_OUTPUT_DPMS edpms;
    tdm_output_dpms tdpms;
    tdm_output_conn_status status;
@@ -736,8 +737,6 @@ _e_output_cb_output_change(tdm_output *toutput,
         if (status == TDM_OUTPUT_CONN_STATUS_DISCONNECTED ||
             status == TDM_OUTPUT_CONN_STATUS_CONNECTED)
           {
-             E_Output *primary = NULL;
-
              primary = e_comp_screen_primary_output_get(e_comp->e_comp_screen);
              EINA_SAFETY_ON_NULL_RETURN(primary);
 
@@ -749,10 +748,13 @@ _e_output_cb_output_change(tdm_output *toutput,
         break;
        case TDM_OUTPUT_CHANGE_DPMS:
         tdpms = (tdm_output_dpms)value.u32;
+        primary = e_comp_screen_primary_output_get(e_comp->e_comp_screen);
+        EINA_SAFETY_ON_NULL_RETURN(primary);
+
         if (tdpms == TDM_OUTPUT_DPMS_OFF)
           {
              edpms = E_OUTPUT_DPMS_OFF;
-             if (!override)
+             if (!override && (e_output == primary))
                {
                   e_comp_override_add();
                   override = EINA_TRUE;
@@ -761,7 +763,7 @@ _e_output_cb_output_change(tdm_output *toutput,
         else if (tdpms == TDM_OUTPUT_DPMS_ON)
           {
              edpms = E_OUTPUT_DPMS_ON;
-             if (override)
+             if (override && (e_output == primary))
                {
                   e_comp_override_del();
                   override = EINA_FALSE;