X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=client%2Ftdm_client.c;h=65c37dad554d10a2157f366e475efbc3a442ac7d;hb=refs%2Fchanges%2F99%2F185099%2F1;hp=d3e8b47d4a70aff38f2f403b98c490c285fadceb;hpb=7e7fcd357fbec8140bb607ba4f9417baef49f747;p=platform%2Fcore%2Fuifw%2Flibtdm.git diff --git a/client/tdm_client.c b/client/tdm_client.c index d3e8b47..65c37da 100644 --- a/client/tdm_client.c +++ b/client/tdm_client.c @@ -1889,6 +1889,25 @@ _tdm_client_voutput_send_available_formats(tdm_private_client_voutput *private_v *format = private_voutput->available_formats.formats[i]; } wl_tdm_voutput_set_available_formats(private_voutput->wl_voutput, &array); + wl_array_release(&array); +} + +void +_tdm_client_voutput_send_available_modes(tdm_private_client_voutput *private_voutput) +{ + tdm_client_output_mode *modes, *mode; + struct wl_array array; + int i, size; + + modes = private_voutput->available_modes.modes; + size = sizeof(tdm_client_output_mode); + + wl_array_init(&array); + for (i = 0; i < private_voutput->available_modes.count; i++) { + mode = wl_array_add(&array, size); + memcpy(mode, &modes[i], size); + } + wl_tdm_voutput_set_available_modes(private_voutput->wl_voutput, &array); wl_array_release(&array); } @@ -1897,8 +1916,6 @@ tdm_client_output_connect(tdm_client_output *output) { tdm_private_client_output *private_output; tdm_private_client_voutput *private_voutput; - tdm_client_output_mode *modes; - int i; TDM_RETURN_VAL_IF_FAIL(output != NULL, TDM_ERROR_INVALID_PARAMETER); @@ -1910,19 +1927,7 @@ tdm_client_output_connect(tdm_client_output *output) private_output->connection = TDM_OUTPUT_CONN_STATUS_CONNECTED; - modes = private_voutput->available_modes.modes; - for (i = 0; i < private_voutput->available_modes.count; i++) { - wl_tdm_voutput_set_available_modes(private_voutput->wl_voutput, i, - modes[i].clock, modes[i].hdisplay, - modes[i].hsync_start, modes[i].hsync_end, - modes[i].htotal, modes[i].hskew, - modes[i].vdisplay, modes[i].vsync_start, - modes[i].vsync_end, modes[i].vtotal, - modes[i].vscan, modes[i].vrefresh, - modes[i].flags, modes[i].type, - modes[i].name); - } - + _tdm_client_voutput_send_available_modes(private_voutput); _tdm_client_voutput_send_available_formats(private_voutput); wl_tdm_voutput_set_physical_size(private_voutput->wl_voutput, private_voutput->mmwidth, private_voutput->mmheight);