From a516fe0a9ff333f8f4ac805a4b461109d96a95f3 Mon Sep 17 00:00:00 2001 From: Sung-Jin Park Date: Tue, 14 May 2019 13:06:14 +0900 Subject: [PATCH] headless-client: add the NULL buffer attach Change-Id: Id483aa7135af3a47c8a8e6c1d6c2de8dd1d3cc30 Signed-off-by: Sangjin Lee --- src/samples/headless_client.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/samples/headless_client.c b/src/samples/headless_client.c index 4047bab..3621512 100644 --- a/src/samples/headless_client.c +++ b/src/samples/headless_client.c @@ -130,12 +130,16 @@ _eflutil_error_to_string(int type) } static void -_update_window(app_data_t *client) +_update_window(app_data_t *client, const char *color) { struct wl_buffer *wl_buffer = NULL; tbm_surface_h surface; tbm_surface_error_e ret; + if (color && !strncmp(color, "null", strlen("null"))) { + goto end; + } + ERROR_CHECK(tbm_surface_queue_can_dequeue(client->tbm_queue, 0), return, "[UPDATE] Cannot dequeue\n"); ret = tbm_surface_queue_dequeue(client->tbm_queue, &surface); @@ -178,6 +182,7 @@ _update_window(app_data_t *client) } ERROR_CHECK(wl_buffer, return, "[UPDATE] dequeue err:%d\n", ret); +end: ecore_wl2_window_buffer_attach(client->win, wl_buffer, 0, 0, 0); ecore_wl2_window_damage(client->win, NULL, 0); ecore_wl2_window_commit(client->win, EINA_TRUE); @@ -199,6 +204,10 @@ do_action(app_data_t *client, const char *keyname) { ecore_wl2_window_focus_skip_set(client->win, EINA_TRUE); } + else if (!strncmp("XF86Menu", keyname, 20)) + { + _update_window(client, NULL); + } } static Eina_Bool @@ -582,8 +591,9 @@ _stdin_cb(void *data, Ecore_Fd_Handler *handler EINA_UNUSED) printf("show window\n"); } else if (!strncmp(tmp, "update", sizeof("update"))) { - _update_window(client); - printf("update window\n"); + tmp = strtok_r(NULL, " ", &buf_ptr); + _update_window(client, tmp); + printf("update window : %s\n", tmp); } else if (!strncmp(tmp, "inputgen", sizeof("inputgen"))) { tmp = strtok_r(NULL, " ", &buf_ptr); -- 2.34.1