virtual: fix voutput commit buffer send fail
[platform/core/uifw/libtdm.git] / backends / virtual / tdm_virtual_display.c
index 875dce4..2d407fe 100644 (file)
@@ -457,8 +457,9 @@ virtual_output_commit(tdm_output *output, int sync, void *user_data)
                                                                         output_data->status_user_data);
        }
 
+       layer_data = output_data->primary_layer;
+
        if (voutput_data->vcommit_func) {
-               layer_data = output_data->primary_layer;
                if (layer_data->display_buffer_changed) {
                        output_data->commit_user_data = user_data;
                        event_data = calloc(1, sizeof(tdm_virtual_event_data));
@@ -495,6 +496,8 @@ virtual_output_commit(tdm_output *output, int sync, void *user_data)
                }
        }
 
+       layer_data->display_buffer_changed = 0;
+
        return TDM_ERROR_NONE;
 }
 
@@ -940,7 +943,6 @@ virtual_output_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler
        tdm_virtual_voutput_data *voutput_data = voutput;
 
        RETURN_VAL_IF_FAIL(voutput_data, TDM_ERROR_INVALID_PARAMETER);
-       RETURN_VAL_IF_FAIL(commit_func, TDM_ERROR_INVALID_PARAMETER);
 
        voutput_data->vcommit_func = commit_func;