X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftdm_display.c;h=9398a0868a17699e3743314da076e51ac550b8e6;hb=729ebaadb2cf64309af3064245486f7f5dfeba8b;hp=3373f88d09e1f907fb1f9c9d1b401c0ed31c9735;hpb=ca91f10db2ce407718e436839fdf9501197edd15;p=platform%2Fcore%2Fuifw%2Flibtdm.git diff --git a/src/tdm_display.c b/src/tdm_display.c index 3373f88..9398a08 100644 --- a/src/tdm_display.c +++ b/src/tdm_display.c @@ -362,10 +362,12 @@ tdm_display_call_thread_cb_output_create(tdm_private_display *private_display, t tdm_thread_cb_display_output_create output_create; tdm_error ret; + if (LIST_IS_EMPTY(&private_display->output_create_handler_list)) return TDM_ERROR_NONE; + memset(&output_create, 0, sizeof output_create); output_create.base.type = TDM_THREAD_CB_DISPLAY_OUTPUT_CREATE; output_create.base.length = sizeof output_create; - output_create.base.object_stamp = 0; + output_create.base.object_stamp = tdm_helper_get_time(); output_create.base.data = NULL; output_create.base.sync = 1; output_create.output = output; @@ -810,6 +812,15 @@ tdm_display_find_output(tdm_display *dpy, const char *name, tdm_error *error) } } + if (private_display->virtual_module) { + private_module = private_display->virtual_module; + LIST_FOR_EACH_ENTRY(private_output, &private_module->output_list, link) { + if (strncmp(private_output->name, name, TDM_NAME_LEN)) + continue; + _pthread_mutex_unlock(&private_display->lock); + return private_output; + } + } _pthread_mutex_unlock(&private_display->lock); return NULL; @@ -855,6 +866,8 @@ tdm_display_create_output(tdm_display *dpy, const char *name, tdm_error *error) TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(output != NULL, ret, NULL); if (output_find != 1) private_output = NULL; + else + strncpy(private_output->name, name, TDM_NAME_LEN); return private_output; }