Skip to content

Screen Flow code generated by GUIX Studio fails to build with GX_ANIMATION_POOL_SIZE = 0 #172

Description

@parsley

Describe the bug
As soon as Screen Flow is used in GUIX Studio it generates gx_studio_animation_execute() in the specifications.c file. This function is added even if no animation action is used in Screen Flow and it does not obey the GX_ANIMATION_POOL_SIZE configuration. In other words it does not contain #if (GX_ANIMATION_POOL_SIZE > 0).

Please also mention any information which could help others to understand
the problem you're facing:
I configured #define GX_ANIMATION_POOL_SIZE 0 in gx_user.h to save resources but still want to use Screen Flow. Due to the code GUIX Studio generates this combination fails to build.

To Reproduce
Steps to reproduce the behavior:

  1. #define GX_ANIMATION_POOL_SIZE 0 in gx_user.h
  2. Take a GUIX Studio project with at least a single Screen Flow trigger. This adds five functions to the generated specification file. One of those functions breaks the build.

Expected behavior

  • A GUIX Studio project without any GX_ACTION_TYPE_ANIMATION should not fail to build if GX_ANIMATION_POOL_SIZE is 0.

Impact
What impact does this issue have on your progress (e.g., annoyance, showstopper):
At the moment this is a showstopper and I'll have to find a solution asap. Sadly I do not have the time to fix GUIX Studio myself and make a PR.

Additional side quest
If someone should be able to help out and fix the code GUIX Studio generates it would be nice to fix some MISRA rule violation in the same generated file:
The generated static functions gx_studio_action_target_get(), gx_studio_action_target_find(), gx_studio_action_parent_find() and gx_studio_animation_execute() do not have a prototype. This violates MISRA rule 8.1 and could be fixed very easily by adding those prototypes to the code generation of GUIX Studio.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status
Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions