-
Notifications
You must be signed in to change notification settings - Fork 511
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[metalperformanceshaders] Fix MPSImageLanczosScale base class change #3170
[metalperformanceshaders] Fix MPSImageLanczosScale base class change #3170
Conversation
Sadly this creates a breaking change since the `ScaleTransform` property was re-introduced with an incorrect signature in the new base class `MPSImageScale` Unless someone has an idea how to avoid it (I don't see an option) then we'll have to document it in the 15.7 release notes.
Build success |
I'm fairly certain you can have the method in both classes with different signatures. It's quite ugly, but it would not be a breaking binary change: class MPSImageLanczosScale : MPSImageScale {
public new virtual MPSScaleTransform? ScaleTransform { get; set; } // existing correct signature
}
class MPSImageScale {
public virtual MPSScaleTransform ScaleTransform { get; set; } // old broken signature
} Another issue is that the property with the correct signature has an incorrect implementation, the non-null setter path never calls the native xamarin-macios/src/MetalPerformanceShaders/MPSImageLanczosScale.cs Lines 23 to 33 in cfdf59d
|
@rolfbjarne good catch! it's not likely an API used commonly (which is good if we need to do a breaking change). As for signature we want |
There are also other subclasses of Adding it to it's base class, |
Build success |
Sadly this creates a breaking change since the
ScaleTransform
property was re-introduced with an incorrect signature in the new
base class
MPSImageScale
Unless someone has an idea how to avoid it (I don't see an option)
then we'll have to document it in the 15.7 release notes.