This patch addresses 0002867: Hidden animations all execute on windowopen - MediaPortal Bugtracker
As outlined in the Mantis Issue, hidden animations have been largely unused, because they all processed on windowopen. In Blue3/wide the workaround is to use a <dimcolor> tag in the group control so that the hidden animations would not display.
With this patch the menus can slide both on and off the screen.
The underlying issue is that currently in MP, when a window is created, all controls are initially visible. Later their visibility condition is evaluated thus changing controls from visible to hidden and triggering the hidden animation.
To address this, the patch forces the evaluation of a control's visibility condition before any hidden or visible animation has taken place.
However, this alone doesn't fix the bug for controls belonging to a group control or actiongroup control, since children of these controls usually don't have visible conditions; hence they are always visible from a condition point of view.
Since the patch forces condition evaluation, this affects these child controls. To address this, the patch makes child controls of group and actiongroup inherit the visibility condition of its parent.
I have attached a patch for this fix only, for code review. I have also attached a binary (core.dll) with this and https://forum.team-mediaportal.com/...t-process-reverse-animations-correctly-87706/ patch integrated, for test purposes.
As outlined in the Mantis Issue, hidden animations have been largely unused, because they all processed on windowopen. In Blue3/wide the workaround is to use a <dimcolor> tag in the group control so that the hidden animations would not display.
With this patch the menus can slide both on and off the screen.
The underlying issue is that currently in MP, when a window is created, all controls are initially visible. Later their visibility condition is evaluated thus changing controls from visible to hidden and triggering the hidden animation.
To address this, the patch forces the evaluation of a control's visibility condition before any hidden or visible animation has taken place.
However, this alone doesn't fix the bug for controls belonging to a group control or actiongroup control, since children of these controls usually don't have visible conditions; hence they are always visible from a condition point of view.
Since the patch forces condition evaluation, this affects these child controls. To address this, the patch makes child controls of group and actiongroup inherit the visibility condition of its parent.
I have attached a patch for this fix only, for code review. I have also attached a binary (core.dll) with this and https://forum.team-mediaportal.com/...t-process-reverse-animations-correctly-87706/ patch integrated, for test purposes.