<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: GUI Guider v1.4.1 - Load Screen BUG in GUI Guider</title>
    <link>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1563979#M188</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/209274"&gt;@yangqirong&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;After check we found that the projects genereted by GUI Guider V1.4.1 like ScreenTransition are working good.&lt;/P&gt;
&lt;P&gt;This bug has no effects in Gui guider V1.4.1 + LVGL V8.2.0, because in LVGL V8.2 there is no&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt; /*Shortcut for immediate load*/
    if(time == 0 &amp;amp;&amp;amp; delay == 0) {
        scr_load_internal(new_scr);
        return;
    }&lt;/LI-CODE&gt;
&lt;P&gt;in lv_scr_load_anim() function, please check LVGL github link:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/lvgl/lvgl/blob/release/v8.2/src/core/lv_disp.c#:~:text=void-,lv_scr_load_anim,-(lv_obj_t%20*%20new_scr" target="_blank"&gt;https://github.com/lvgl/lvgl/blob/release/v8.2/src/core/lv_disp.c#:~:text=void-,lv_scr_load_anim,-(lv_obj_t%20*%20new_scr&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But we did found this bug during the development of new verion GUI Guider which is support LVGL V8.3.2, and it's already been fixed.&lt;/P&gt;
&lt;P&gt;Thanks for your bug report.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Wenbin&lt;/P&gt;</description>
    <pubDate>Mon, 05 Dec 2022 02:50:23 GMT</pubDate>
    <dc:creator>WenbinYuan</dc:creator>
    <dc:date>2022-12-05T02:50:23Z</dc:date>
    <item>
      <title>GUI Guider v1.4.1 - Load Screen BUG</title>
      <link>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1560128#M184</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;-&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;Environment&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;OS: Windows&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;GUI-Guider: 1.4.1-GA&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;LVGL: v8.2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;当函数lv_scr_load_anim的形参time与delay同时为0时，d-&amp;gt;scr_to_load == NULL永不成立，导致无法切换页面。&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;以下是一段由GUI Guider v1.4.1生成的切换页面代码：&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;static void screen_main_imgbtn_setting_event_handler(lv_event_t *e)
{
	lv_event_code_t code = lv_event_get_code(e);
	switch (code)
	{
	case LV_EVENT_RELEASED:
	{
		lv_disp_t * d = lv_obj_get_disp(lv_scr_act());
		if (d-&amp;gt;prev_scr == NULL &amp;amp;&amp;amp; d-&amp;gt;scr_to_load == NULL)
		{
			if (guider_ui.screen_1_del == true)
				setup_scr_screen_1(&amp;amp;guider_ui);
			lv_scr_load_anim(guider_ui.screen_1, LV_SCR_LOAD_ANIM_FADE_ON, 0, 0, true);
		}
		guider_ui.screen_main_del = true;
	}
		break;
	default:
		break;
	}
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;↑↑↑所以，在版本v1.4.1中使用if (d-&amp;gt;prev_scr == NULL &amp;amp;&amp;amp; d-&amp;gt;scr_to_load == NULL)替代版本v1.3.1的if (!lv_obj_is_valid(guider_ui.screen_2))来进行判断是不完全正确的。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;以下是一段lv_scr_load_anim的代码：&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;...
    //这是一段lv_scr_load_anim的代码

    /*Shortcut for immediate load*/
    if(time == 0 &amp;amp;&amp;amp; delay == 0) {
        scr_load_internal(new_scr);
        return;//当time与delay同时为0，直接跳出函数，scr_to_load并没有赋值NULL
    }

    lv_anim_t a_new;
    lv_anim_init(&amp;amp;a_new);
    lv_anim_set_var(&amp;amp;a_new, new_scr);
    lv_anim_set_start_cb(&amp;amp;a_new, scr_load_anim_start);
    lv_anim_set_ready_cb(&amp;amp;a_new, scr_anim_ready);//将scr_to_load赋值NULL却在这
    lv_anim_set_time(&amp;amp;a_new, time);
    lv_anim_set_delay(&amp;amp;a_new, delay);

...&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 26 Nov 2022 01:07:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1560128#M184</guid>
      <dc:creator>yangqirong</dc:creator>
      <dc:date>2022-11-26T01:07:20Z</dc:date>
    </item>
    <item>
      <title>Re: GUI Guider v1.4.1 - Load Screen BUG</title>
      <link>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1560955#M185</link>
      <description>&lt;P style="margin: 0in; font-family: Montserrat; font-size: 12.0pt;" lang="es-MX"&gt;Could you expose your issue in English please? The google traductor is inprecise and i cannot understand what are you saying.&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Montserrat; font-size: 12.0pt;" lang="es-MX"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Montserrat; font-size: 12.0pt;" lang="es-MX"&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Tue, 29 Nov 2022 02:31:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1560955#M185</guid>
      <dc:creator>CarlosGarabito</dc:creator>
      <dc:date>2022-11-29T02:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: GUI Guider v1.4.1 - Load Screen BUG</title>
      <link>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1560990#M186</link>
      <description>&lt;P&gt;The following code is generated by GUI Guide v1.4.1:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;static void screen_main_imgbtn_setting_event_handler(lv_event_t *e)
{
	lv_event_code_t code = lv_event_get_code(e);
	switch (code)
	{
	case LV_EVENT_RELEASED:
	{
		lv_disp_t * d = lv_obj_get_disp(lv_scr_act());
		if (d-&amp;gt;prev_scr == NULL &amp;amp;&amp;amp; d-&amp;gt;scr_to_load == NULL)
		{
			if (guider_ui.screen_1_del == true)
				setup_scr_screen_1(&amp;amp;guider_ui);
			lv_scr_load_anim(guider_ui.screen_1, LV_SCR_LOAD_ANIM_FADE_ON, 0, 0, true);
		}
		guider_ui.screen_main_del = true;
	}
		break;
	default:
		break;
	}
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;'d-&amp;gt;scr_to_load == NULL' away false when&amp;nbsp;the parameter 'time' and 'delay' of function 'lv_scr_load_anim' are both 0, that cause load screen cannot succeed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;In&amp;nbsp;v1.4.1,&amp;nbsp;&lt;/SPAN&gt;used 'if (d-&amp;gt;prev_scr == NULL &amp;amp;&amp;amp; d-&amp;gt;scr_to_load == NULL)'&amp;nbsp;replace 'if (!lv_obj_is_valid(guider_ui.screen_xxxx))',&amp;nbsp;That's&amp;nbsp;&lt;SPAN class=""&gt;not&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;quite&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;right.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;...
    //This is a section of 'lv_scr_load_anim'

    /*Shortcut for immediate load*/
    if(time == 0 &amp;amp;&amp;amp; delay == 0) {
        scr_load_internal(new_scr);
        return;//Return when the parameter 'time' and 'delay' of function 'lv_scr_load_anim' are both 0, that cause 'scr_to_load' is not NULL.
    }

    lv_anim_t a_new;
    lv_anim_init(&amp;amp;a_new);
    lv_anim_set_var(&amp;amp;a_new, new_scr);
    lv_anim_set_start_cb(&amp;amp;a_new, scr_load_anim_start);
    lv_anim_set_ready_cb(&amp;amp;a_new, scr_anim_ready);//But the 'scr_to_load' assignment NULL is here.
    lv_anim_set_time(&amp;amp;a_new, time);
    lv_anim_set_delay(&amp;amp;a_new, delay);
...&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Nov 2022 03:51:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1560990#M186</guid>
      <dc:creator>yangqirong</dc:creator>
      <dc:date>2022-11-29T03:51:37Z</dc:date>
    </item>
    <item>
      <title>Re: GUI Guider v1.4.1 - Load Screen BUG</title>
      <link>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1561002#M187</link>
      <description>&lt;P&gt;also...&lt;/P&gt;&lt;LI-CODE lang="c"&gt;void setup_ui(lv_ui *ui){
	init_scr_del_flag(ui);
	setup_scr_screen_main(ui);
	lv_scr_load(ui-&amp;gt;screen_main);//'scr_to_load' away not NULL if use 'lv_scr_load' to load first screen, also cause load next screen cannot succeed.
}&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 29 Nov 2022 03:44:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1561002#M187</guid>
      <dc:creator>yangqirong</dc:creator>
      <dc:date>2022-11-29T03:44:20Z</dc:date>
    </item>
    <item>
      <title>Re: GUI Guider v1.4.1 - Load Screen BUG</title>
      <link>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1563979#M188</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/209274"&gt;@yangqirong&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;After check we found that the projects genereted by GUI Guider V1.4.1 like ScreenTransition are working good.&lt;/P&gt;
&lt;P&gt;This bug has no effects in Gui guider V1.4.1 + LVGL V8.2.0, because in LVGL V8.2 there is no&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt; /*Shortcut for immediate load*/
    if(time == 0 &amp;amp;&amp;amp; delay == 0) {
        scr_load_internal(new_scr);
        return;
    }&lt;/LI-CODE&gt;
&lt;P&gt;in lv_scr_load_anim() function, please check LVGL github link:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/lvgl/lvgl/blob/release/v8.2/src/core/lv_disp.c#:~:text=void-,lv_scr_load_anim,-(lv_obj_t%20*%20new_scr" target="_blank"&gt;https://github.com/lvgl/lvgl/blob/release/v8.2/src/core/lv_disp.c#:~:text=void-,lv_scr_load_anim,-(lv_obj_t%20*%20new_scr&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But we did found this bug during the development of new verion GUI Guider which is support LVGL V8.3.2, and it's already been fixed.&lt;/P&gt;
&lt;P&gt;Thanks for your bug report.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Wenbin&lt;/P&gt;</description>
      <pubDate>Mon, 05 Dec 2022 02:50:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/GUI-Guider/GUI-Guider-v1-4-1-Load-Screen-BUG/m-p/1563979#M188</guid>
      <dc:creator>WenbinYuan</dc:creator>
      <dc:date>2022-12-05T02:50:23Z</dc:date>
    </item>
  </channel>
</rss>

