@@ -236,6 +236,7 @@ static void SetupUI(const gfx_handle_t engine_handle, EmoteDisplay* const displa
236236 g_obj_anim_eye = gfx_anim_create (engine_handle);
237237 gfx_obj_align (g_obj_anim_eye, GFX_ALIGN_LEFT_MID, 10 , 30 );
238238 gfx_anim_set_auto_mirror (g_obj_anim_eye, true );
239+ gfx_obj_set_visible (g_obj_anim_eye, false );
239240
240241 g_obj_label_toast = gfx_label_create (engine_handle);
241242 gfx_obj_align (g_obj_label_toast, GFX_ALIGN_TOP_MID, 0 , 20 );
@@ -290,8 +291,9 @@ EmoteEngine::EmoteEngine(const esp_lcd_panel_handle_t panel, const esp_lcd_panel
290291 InitializeGraphics (panel, &engine_handle_, width, height);
291292
292293 if (display) {
293- DisplayLockGuard lock (display );
294+ gfx_emote_lock (engine_handle_ );
294295 SetupUI (engine_handle_, display);
296+ gfx_emote_unlock (engine_handle_);
295297 }
296298
297299 RegisterCallbacks (panel_io, engine_handle_);
@@ -322,6 +324,7 @@ void EmoteEngine::SetEyes(const std::string &emoji_name, const bool repeat, cons
322324 DisplayLockGuard lock (display);
323325 gfx_anim_set_src (g_obj_anim_eye, emoji_data.data , emoji_data.size );
324326 gfx_anim_set_segment (g_obj_anim_eye, 0 , 0xFFFF , fps, repeat);
327+ gfx_obj_set_visible (g_obj_anim_eye, true );
325328 gfx_anim_start (g_obj_anim_eye);
326329 } else {
327330 ESP_LOGW (TAG, " SetEyes: No emoji data found for %s" , emoji_name.c_str ());
0 commit comments