diff --git a/common/src/gx_canvas_glyphs_draw.c b/common/src/gx_canvas_glyphs_draw.c index eb2077b7..d8680d51 100644 --- a/common/src/gx_canvas_glyphs_draw.c +++ b/common/src/gx_canvas_glyphs_draw.c @@ -378,6 +378,15 @@ UINT index = 0; xstart = (GX_VALUE)(xstart + glyph -> gx_glyph_advance); } } while (string_copy.gx_string_length > 0); + +#ifdef GX_UTF8_SUPPORT +#if defined(GX_THAI_GLYPH_SHAPING_SUPPORT) + if (code_list) + { + _gx_system_memory_free((void*)code_list); + } +#endif +#endif } /**************************************************************************/ diff --git a/common/src/gx_circular_gauge_event_process.c b/common/src/gx_circular_gauge_event_process.c index 78a3eed4..c49f04fc 100644 --- a/common/src/gx_circular_gauge_event_process.c +++ b/common/src/gx_circular_gauge_event_process.c @@ -105,6 +105,10 @@ UINT status = GX_SUCCESS; case GX_EVENT_TIMER: if (event_ptr -> gx_event_payload.gx_event_timer_id == GX_CIRCULAR_GAUGE_TIMER) { + if (gauge->gx_circular_gauge_current_angle == gauge->gx_circular_gauge_target_angle) + { + break; + } /* Calculate current angle. */ gauge -> gx_circular_gauge_animation_step++; diff --git a/common/src/gx_display_driver_24xrgb_rotated_setup.c b/common/src/gx_display_driver_24xrgb_rotated_setup.c index 30e6a375..3e3594bd 100644 --- a/common/src/gx_display_driver_24xrgb_rotated_setup.c +++ b/common/src/gx_display_driver_24xrgb_rotated_setup.c @@ -66,15 +66,15 @@ VOID _gx_display_driver_24xrgb_rotated_setup(GX_DISPLAY *display, VOID *aux_data _gx_display_driver_24xrgb_setup(display, aux_data, toggle_function); #if defined(GX_MOUSE_SUPPORT) - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_draw = GX_NULL; display -> gx_display_driver_drawing_initiate = GX_NULL; display -> gx_display_driver_drawing_complete = GX_NULL; display -> gx_display_mouse_position_set = GX_NULL; display -> gx_display_mouse_enable = GX_NULL; +#if !defined(GX_HARDWARE_MOUSE_SUPPORT) + display->gx_display_mouse_capture = GX_NULL; + display->gx_display_mouse_restore = GX_NULL; + display->gx_display_mouse_draw = GX_NULL; +#endif #endif display -> gx_display_rotation_angle = GX_SCREEN_ROTATION_CW; diff --git a/common/src/gx_display_driver_32argb_rotated_setup.c b/common/src/gx_display_driver_32argb_rotated_setup.c index 738c7ee1..66f88d34 100644 --- a/common/src/gx_display_driver_32argb_rotated_setup.c +++ b/common/src/gx_display_driver_32argb_rotated_setup.c @@ -66,15 +66,15 @@ VOID _gx_display_driver_32argb_rotated_setup(GX_DISPLAY *display, VOID *aux_data _gx_display_driver_32argb_setup(display, aux_data, toggle_function); #if defined(GX_MOUSE_SUPPORT) - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_draw = GX_NULL; display -> gx_display_driver_drawing_initiate = GX_NULL; display -> gx_display_driver_drawing_complete = GX_NULL; display -> gx_display_mouse_position_set = GX_NULL; display -> gx_display_mouse_enable = GX_NULL; +#if !defined(GX_HARDWARE_MOUSE_SUPPORT) + display->gx_display_mouse_capture = GX_NULL; + display->gx_display_mouse_restore = GX_NULL; + display->gx_display_mouse_draw = GX_NULL; +#endif #endif display -> gx_display_rotation_angle = GX_SCREEN_ROTATION_CW; diff --git a/common/src/gx_display_driver_565rgb_rotated_setup.c b/common/src/gx_display_driver_565rgb_rotated_setup.c index 063fb1ad..1134369c 100644 --- a/common/src/gx_display_driver_565rgb_rotated_setup.c +++ b/common/src/gx_display_driver_565rgb_rotated_setup.c @@ -68,15 +68,15 @@ VOID _gx_display_driver_565rgb_rotated_setup(GX_DISPLAY *display, VOID *aux_data /* Default initiate and complete function to null for general condition. */ #if defined(GX_MOUSE_SUPPORT) - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_draw = GX_NULL; display -> gx_display_driver_drawing_initiate = GX_NULL; display -> gx_display_driver_drawing_complete = GX_NULL; display -> gx_display_mouse_position_set = GX_NULL; display -> gx_display_mouse_enable = GX_NULL; +#if !defined(GX_HARDWARE_MOUSE_SUPPORT) + display->gx_display_mouse_capture = GX_NULL; + display->gx_display_mouse_restore = GX_NULL; + display->gx_display_mouse_draw = GX_NULL; +#endif #endif // default to 90 degree rotation angle diff --git a/common/src/gx_display_driver_8bit_palette_rotated_setup.c b/common/src/gx_display_driver_8bit_palette_rotated_setup.c index 9374375a..66ac1dff 100644 --- a/common/src/gx_display_driver_8bit_palette_rotated_setup.c +++ b/common/src/gx_display_driver_8bit_palette_rotated_setup.c @@ -41,7 +41,7 @@ /* */ /* DESCRIPTION */ /* */ -/* 8-bit palettte color format display driver rotated setup routine. */ +/* 8-bit palette color format display driver rotated setup routine. */ /* */ /* INPUT */ /* */ @@ -70,15 +70,15 @@ VOID _gx_display_driver_8bit_palette_rotated_setup(GX_DISPLAY *display, VOID _gx_display_driver_8bit_palette_setup(display, aux_data, toggle_function); #if defined(GX_MOUSE_SUPPORT) - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_capture = GX_NULL; - display -> gx_display_mouse_restore = GX_NULL; - display -> gx_display_mouse_draw = GX_NULL; display -> gx_display_driver_drawing_initiate = GX_NULL; display -> gx_display_driver_drawing_complete = GX_NULL; display -> gx_display_mouse_position_set = GX_NULL; display -> gx_display_mouse_enable = GX_NULL; +#if !defined(GX_HARDWARE_MOUSE_SUPPORT) + display->gx_display_mouse_capture = GX_NULL; + display->gx_display_mouse_restore = GX_NULL; + display->gx_display_mouse_draw = GX_NULL; +#endif #endif display -> gx_display_rotation_angle = GX_SCREEN_ROTATION_CW;