--- a/main/main.c 2016-06-15 09:08:56.637994584 +0200 +++ b/main/main.c 2016-06-15 09:45:29.735958824 +0200 @@ -39,6 +39,7 @@ //static int resolution = NAVI_RESOLUTION_AGL_DEMO; static int region = NAVI_REGION_JAPAN; //static int region = NAVI_REGION_UK; +static int redraw = 0; #if 1 char *navi_config_map_db_path = NAVI_CONFIG_PATH_JAPAN "Map/JPN/"; @@ -529,10 +530,12 @@ // printf(" -debug display debug info\n"); #else printf("Usage:\n"); - printf(" --r [ fhd | hd | agl ] set the resolution\n"); - printf(" ~~~ default\n"); - printf(" --map [ uk | nevada ] set the map region\n"); - printf(" ~~ default\n"); + printf(" --r [ fhd | hd | agl ] set the resolution\n"); + printf(" ~~~ default\n"); + printf(" --map [ uk | nevada ] set the map region\n"); + printf(" ~~ default\n"); + printf(" --redraw [ 0 | 1 ] force redraw\n"); + printf(" ~ default\n"); #endif } @@ -583,6 +586,12 @@ } i++; } + else if (strcmp(argv[i], "--redraw") == 0) { + if(strcmp(argv[i+1], "1") == 0) { + redraw = 1; + } + i++; + } else if (strcmp(argv[i], "--help") == 0) { printf("%s\n",X_APP_NAME_TEXT); usage(); @@ -662,7 +671,7 @@ createGuideThread(); - _temp_event_loop(glv_dpy, win, glv_map_context,glv_hmi_context); + _temp_event_loop(glv_dpy, win, redraw, glv_map_context,glv_hmi_context); glvDestroyNativeWindow(glv_dpy,win); glvCloseDisplay(glv_dpy); --- a/glview/glview.h 2016-06-15 09:38:51.359965320 +0200 +++ b/glview/glview.h 2016-06-15 09:39:06.087965080 +0200 @@ -111,7 +111,7 @@ int glvStartTimer(GLVContext glv_c,int id); int glvStopTimer(GLVContext glv_c,int id); -void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win,GLVContext glv_context,GLVContext glv_hmi_c); +void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win, int redraw, GLVContext glv_context,GLVContext glv_hmi_c); #endif /* GLVIEW_H */ --- a/glview/glview_wayland.c 2016-06-15 09:32:09.205971877 +0200 +++ b/glview/glview_wayland.c 2016-06-15 09:31:15.176972758 +0200 @@ -721,7 +721,7 @@ #endif } -void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win,GLVContext glv_c,GLVContext glv_hmi_c) +void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win, int redraw, GLVContext glv_c,GLVContext glv_hmi_c) { struct pollfd pollfd; GLVCONTEXT_t *glv_context; @@ -760,8 +760,6 @@ pollfd.revents = 0; while (1) { - int redraw = 0; - wl_display_dispatch_pending(display); #if 0 if (_eglut->idle_cb)