diff --git a/dlls/windowscodecs/clsfactory.c b/dlls/windowscodecs/clsfactory.c index f1be96dd11d..d6baea38a1c 100644 --- a/dlls/windowscodecs/clsfactory.c +++ b/dlls/windowscodecs/clsfactory.c @@ -47,6 +47,7 @@ static const classinfo wic_classes[] = { {&CLSID_WICImagingFactory2, ImagingFactory_CreateInstance}, {&CLSID_WICBmpDecoder, BmpDecoder_CreateInstance}, {&CLSID_WICPngDecoder, PngDecoder_CreateInstance}, + {&CLSID_WICPngDecoder2, PngDecoder_CreateInstance}, {&CLSID_WICPngEncoder, PngEncoder_CreateInstance}, {&CLSID_WICBmpEncoder, BmpEncoder_CreateInstance}, {&CLSID_WICGifDecoder, GifDecoder_CreateInstance}, diff --git a/dlls/windowscodecs/unix_lib.c b/dlls/windowscodecs/unix_lib.c index 268a1cd9d16..4b184ef60eb 100644 --- a/dlls/windowscodecs/unix_lib.c +++ b/dlls/windowscodecs/unix_lib.c @@ -69,7 +69,8 @@ HRESULT CDECL stream_write(IStream *stream, const void *buffer, ULONG write, ULO HRESULT CDECL decoder_create(const CLSID *decoder_clsid, struct decoder_info *info, struct decoder **result) { - if (IsEqualGUID(decoder_clsid, &CLSID_WICPngDecoder)) + if (IsEqualGUID(decoder_clsid, &CLSID_WICPngDecoder)|| + IsEqualGUID(decoder_clsid, &CLSID_WICPngDecoder2)) return png_decoder_create(info, result); if (IsEqualGUID(decoder_clsid, &CLSID_WICTiffDecoder))