virtual: execute tdm_display_destroy_output when voutput destroy 86/184786/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 23 Jul 2018 06:25:35 +0000 (15:25 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 23 Jul 2018 06:25:46 +0000 (15:25 +0900)
execute set_available_modes and set_physical_size when connect

Change-Id: Ifd37190120ee6b4139d0c75a2f53001f6475ba09
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/tdm_server.c

index cf743fa..e540133 100644 (file)
@@ -715,6 +715,22 @@ _tdm_server_cb_create_output(struct wl_client *client, struct wl_resource *resou
 
 static void _tdm_voutput_cb_destroy(struct wl_client *client, struct wl_resource *resource)
 {
+       tdm_server_voutput_info *voutput_info;
+       tdm_private_server *private_server;
+       tdm_output *output;
+       tdm_error ret = TDM_ERROR_NONE;
+
+       voutput_info = wl_resource_get_user_data(resource);
+
+       private_server = voutput_info->private_server;
+       output = voutput_info->output;
+
+       if (output)
+               ret = tdm_display_destroy_output(private_server->private_loop->dpy, output);
+
+       if (ret != TDM_ERROR_NONE)
+               TDM_ERR("_tdm_voutput_cb_destroy fail");
+
        wl_resource_destroy(resource);
 }
 
@@ -807,6 +823,10 @@ _tdm_voutput_cb_connect(struct wl_client *client, struct wl_resource *resource)
 
        voutput_info = wl_resource_get_user_data(resource);
        voutput_info->status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
+
+       tdm_output_set_physical_size(voutput_info->output, voutput_info->mmwidth, voutput_info->mmheight);
+       tdm_output_set_available_mode(voutput_info->output, voutput_info->available_modes.modes, voutput_info->available_modes.count);
+       //tdm_output_set_connect();
 }
 
 static void