AvaloniaUI / Avalonia

Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
https://avaloniaui.net
MIT License
26.06k stars 2.25k forks source link

Fix TimePicker breaking change, when using pre-11.2 styles #17516

Closed maxkatz6 closed 1 week ago

maxkatz6 commented 1 week ago

What does the pull request do?

In 11.2 TimePicker got a new feature with seconds picker option. Unfortunately, TimePicker templates are very limiting, and any such change breaks templates from third party themes, which weren't updated at the exact time (so, all of them).

This PR adds a check, whether template is up-to date or not, before trying to access second template parts.

For the better fix see https://github.com/AvaloniaUI/Avalonia/issues/17515

What is the current behavior?

NullReferenceException, if pre-11.2 template is used with 11.2 control.

What is the updated/expected behavior with this PR?

Seconds are ignored, if pre-11.2 template is used with 11.2 control.

Tested by applying 11.1 control theme to the control.