call the change handler when dpms changed 37/65537/1
authorBoram Park <boram1288.park@samsung.com>
Mon, 11 Apr 2016 06:50:57 +0000 (15:50 +0900)
committerBoram Park <boram1288.park@samsung.com>
Mon, 11 Apr 2016 10:33:12 +0000 (19:33 +0900)
Change-Id: I34e856fceb1840b4a2fecba867550b5637571e47

src/tdm_display.c

index d804f9d..1039beb 100644 (file)
@@ -1130,6 +1130,11 @@ tdm_output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value)
 
        _pthread_mutex_lock(&private_display->lock);
 
+       if (private_output->current_dpms_value == dpms_value) {
+               _pthread_mutex_unlock(&private_display->lock);
+               return TDM_ERROR_NONE;
+       }
+
        func_output = &private_display->func_output;
 
        if (!func_output->output_set_dpms) {
@@ -1139,9 +1144,18 @@ tdm_output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value)
        }
 
        ret = func_output->output_set_dpms(private_output->output_backend, dpms_value);
-       if (ret == TDM_ERROR_NONE)
+       if (ret == TDM_ERROR_NONE) {
+               tdm_value value;
+
                private_output->current_dpms_value = dpms_value;
 
+               value.u32 = dpms_value;
+               tdm_output_call_change_handler_internal(private_output,
+                                                       &private_output->change_handler_list_main,
+                                                       TDM_OUTPUT_CHANGE_DPMS,
+                                                       value);
+       }
+
        _pthread_mutex_unlock(&private_display->lock);
 
        return ret;