From: Alexandre Julliard julliard@winehq.org
--- dlls/wmvcore/tests/wmvcore.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/wmvcore/tests/wmvcore.c b/dlls/wmvcore/tests/wmvcore.c index 06e1852c8c0..aacff6f7bda 100644 --- a/dlls/wmvcore/tests/wmvcore.c +++ b/dlls/wmvcore/tests/wmvcore.c @@ -3422,6 +3422,8 @@ START_TEST(wmvcore) if(hr != S_OK) return;
+ winetest_mute_threshold = 3; /* FIXME: thread tests print too many "got wrong thread" todos */ + test_wmreader_interfaces(); test_wmsyncreader_interfaces(); test_wmwriter_interfaces();
From: Alexandre Julliard julliard@winehq.org
GdipGetCompositingMode() fails when the object is busy, which happens when flushing changes in GdipReleaseDC().
Fixes a test crash on Gitlab CI. --- dlls/gdiplus/graphics.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index a9f7a464ce3..fca66c8654b 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -418,9 +418,7 @@ static GpStatus alpha_blend_bmp_pixels(GpGraphics *graphics, INT dst_x, INT dst_ { GpBitmap *dst_bitmap = (GpBitmap*)graphics->image; INT x, y; - CompositingMode comp_mode; - - GdipGetCompositingMode(graphics, &comp_mode); + CompositingMode comp_mode = graphics->compmode;
for (y=0; y<src_height; y++) {
FWIW I have plans to fix these wmvcore todos but it'll have to wait after https://gitlab.winehq.org/wine/wine/-/merge_requests/936 and a few more other patches. In the meantime I think something like that makes sense.
This merge request was approved by Zebediah Figura.
This merge request was approved by Esme Povirk.
The change looks correct to me, but I'm confused why using comp_mode uninitialized caused a crash.
The change looks correct to me, but I'm confused why using comp_mode uninitialized caused a crash.
It's because if the uninitialized value happens to be CompositingModeSourceCopy we set pixels unconditionally, but the test passes an invalid buffer to verify that only modified pixels are being updated.