Dear Maintainer,
please compile and run the following program (x86_64-w64-mingw32-gcc test.c -ld3d9 && wine a.exe):
#include <stdio.h>
#include <stdint.h>
#include <windows.h>
#include <d3d9.h>
HWND wnd_parent;
HWND wnd;
int f;
LRESULT myWindowProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
printf("%d %u %d\n", hWnd==wnd, Msg, f++);
if (Msg == WM_CLOSE)
exit(0);
return DefWindowProcA(hWnd, Msg, wParam, lParam);
}
int main()
{
WNDCLASSEXA wcex = { sizeof(WNDCLASSEX), CS_DBLCLKS, myWindowProcA, 0L, 0L, NULL, NULL, NULL, NULL, NULL, "windowclass", NULL };
RegisterClassEx(&wcex);
WNDCLASSEXA wcex2 = { sizeof(WNDCLASSEX), 0, myWindowProcA, 0L, 0L, NULL, NULL, NULL, NULL, NULL, "windowclass_child", NULL };
RegisterClassEx(&wcex2);
uint32_t wstyle = WS_CAPTION|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_VISIBLE|WS_SYSMENU|WS_MINIMIZEBOX;
uint32_t wstyleex = WS_EX_ACCEPTFILES|WS_EX_WINDOWEDGE|WS_EX_CONTROLPARENT;
wnd_parent = CreateWindowExA(wstyleex, "windowclass", "parent", wstyle, 0, 0, 640, 480, NULL, NULL, NULL, NULL );
ShowWindow(wnd_parent, SW_SHOWDEFAULT);
UpdateWindow(wnd_parent);
wnd = CreateWindowExA(0, "windowclass_child", "child", WS_CHILD, 0, 0, 320, 240, wnd_parent, NULL, NULL, NULL );
ShowWindow(wnd, SW_SHOWDEFAULT);
UpdateWindow(wnd);
IDirect3D9* d3d = Direct3DCreate9(D3D_SDK_VERSION);
DWORD BehaviorFlags = D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED;
D3DPRESENT_PARAMETERS d3dpp = {};
D3DDISPLAYMODE dm;
IDirect3D9_GetAdapterDisplayMode(d3d, D3DADAPTER_DEFAULT, &dm);
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_COPY;
d3dpp.BackBufferFormat = dm.Format;
d3dpp.BackBufferHeight = 640;
d3dpp.BackBufferWidth = 480;
d3dpp.hDeviceWindow = wnd_parent;
IDirect3DDevice9* d3ddev;
IDirect3D9_CreateDevice(d3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, NULL, BehaviorFlags, &d3dpp, &d3ddev);
IDirect3D9* d3d2 = Direct3DCreate9(D3D_SDK_VERSION);
d3dpp.hDeviceWindow = wnd;
IDirect3DDevice9* d3ddev2;
IDirect3D9_CreateDevice(d3d2, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, NULL, BehaviorFlags, &d3dpp, &d3ddev2);
for (int frame=0;frame<600;frame++)
{
IDirect3DDevice9_Clear(d3ddev, 0,NULL,D3DCLEAR_TARGET,D3DCOLOR_RGBA(255,0,frame*4,0),1.0f,0);
IDirect3DDevice9_Present(d3ddev, NULL, NULL, NULL, NULL );
IDirect3DDevice9_Clear(d3ddev2, 0,NULL,D3DCLEAR_TARGET,D3DCOLOR_RGBA(0,255,frame*4,0),1.0f,0);
IDirect3DDevice9_Present(d3ddev2, NULL, NULL, NULL, NULL );
MSG msg;
while( (PeekMessage( &msg, NULL, 0, 0, PM_REMOVE )) != 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
Expected behavior:
Should show an animated green-teal rectangle, and an animated red-magenta L shape.
Actual behavior:
Shows a black rectangle, and the expected red-magenta L shape. Dragging another window over the black rectangle leaves the pixels unchanged, duplicating the window border a bunch of times.
I have verified that the expected result shows up
- if I build Wine 8.0 from source
- if I build latest Wine git from source (somewhere around version 8.13)
- on Ubuntu 22.04's Wine package (6.0.3~repack-1)
- on Arch's Wine package (8.13-1)
- on Windows 7
- on Windows 10
therefore I believe that this bug is Debian-specific somehow.
We believe that the bug you reported is fixed in the latest version of wine, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1043052@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Michael Gilbert <mgilbert@debian.org> (supplier of updated wine package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) Format: 1.8 Date: Sun, 14 Jan 2024 18:25:01 +0000 Source: wine Architecture: source Version: 8.0.2~repack-1 Distribution: unstable Urgency: medium Maintainer: Debian Wine Party <debian-wine@lists.debian.org> Changed-By: Michael Gilbert <mgilbert@debian.org> Closes: 1043052 1052938 Changes: wine (8.0.2~repack-1) unstable; urgency=medium . * New upstream release 8.0.2, released Jul 19, 2023. * Support unicode-data and unicode-idna 15.1 (closes: #1052938). * Use upstream fix for uninitialized variable in winex11 (closes: #1043052). * Unapply hidden file attributes change set, which is now included upstream. Checksums-Sha1: f967a4cc8f1a1abbb57ac1169c78e22980b37af4 4378 wine_8.0.2~repack-1.dsc 864a42998885d50864b243b0303d9f20a8ffec88 25709808 wine_8.0.2~repack.orig.tar.xz e314ad6b4f85b116c9e1b492d345e114eaa53a61 57965684 wine_8.0.2~repack-1.debian.tar.xz 8aa4d32b04400f407b4816eb3a6bbc6e7ae7f102 20380 wine_8.0.2~repack-1_source.buildinfo Checksums-Sha256: 91f94ece4236351e54a314297bdbaf606a772295ecdc5d9132c5e3e0c8af8d6d 4378 wine_8.0.2~repack-1.dsc 82af90fb77ead31791c1d635ee3c85d0d0fb870af528ee15b1cf4814a0e72fc8 25709808 wine_8.0.2~repack.orig.tar.xz 7de3a678996b2fab8846beaf139fbda0e1a1cea94f56a0213dc1767b75dc52b8 57965684 wine_8.0.2~repack-1.debian.tar.xz e2d287ccf9712f7765fe09f12a65544e148fe533d2242d2d6a05ead50ada448c 20380 wine_8.0.2~repack-1_source.buildinfo Files: c6fe0f79b1e22a36ecbd307f719904bb 4378 otherosfs optional wine_8.0.2~repack-1.dsc 316c9f80d8bad9d3e5a28b0947473dc5 25709808 otherosfs optional wine_8.0.2~repack.orig.tar.xz 918102d07efd3fa1c6ffe42ba33fde3c 57965684 otherosfs optional wine_8.0.2~repack-1.debian.tar.xz 65611b2cb7ba785586f1a2d978bb6e02 20380 otherosfs optional wine_8.0.2~repack-1_source.buildinfo -----BEGIN PGP SIGNATURE----- iQQzBAEBCgAdFiEEIwTlZiOEpzUxIyp4mD40ZYkUaygFAmWkUUEACgkQmD40ZYkU ayg+DCAA4TyiVvQlwQtdGthbXdJ+iMGYgEdcRbfe5WEQcdnj/2Gp+LpK0NF90OHJ m61mnvW462BkFN4LZdUAMoUjU6TkFyXgBvfcrbLF+s9F+Yq2QKEK2hum1m49QaKZ saLgThw/stZQ/V6x0S3yoPjG7dFEXuRU/YT8JRPzE3SxsL6Gy5OiQyzE0nPQicFk cieBzejLv42sRzKhKxuXmbOh7bTdRDUEzY0HPTt/NluwTQpzaO2bweOtZT/KX4xc JGmpgCW/QQr65s5DJjQTFa0vCVfGiDRy/+kkXip9FkFZyVtHXH1/9sPDQpFT/w6w qbqA8nDFBuG/HuG5FmqjyXlj00pSIchwlRylgBPPGEdFjsxKddM+wlwzQJihSmWG 5nMPA1kvXEdgWWixGMYhejRK5/YpbduY7sTWe7uO/fo5WuW/dj3l1NosjlI2TzyD jULcFCZYgjbD5FcY6k0Xxq6IChSZeZB63kqTaPI4RpXaYax4j0fkfXEQf5XR/tiM 23965BGxPcgIaqdbf+kF+O0GIhpGFIuCQplWwZ2JVziL2Sv0sotoKO/AcNidUTz4 devOQL767TRN4E7k51+GjILETlXWP79GXX/Lrn/k/vXu5+vsZVpCYo39oyiUmbxO Nttmr8vjrUXRjzQzDP7XopcrvWbjbsmY0Cx/Mqst7y44otZ0MFLPlINqpfpMuTjO /gXZ/gVuKlrnKRDbSAThNVJbBdVDSz2wio389UAGIuXgJuF6AxoIZyUlSQlC3NLz LKVdr+v+a317qWXXF5ONm/zgEIlxqap5ln04C0Bp7VY2bQ9XHUVC29hkDzZXClrg veOha9RgPYm3mbHXPLu4d92q9fOQYwoCSBdbUJ07kgtPfiz1I5rAXCs6QGG9b50p 8ouqfLRuFnL+iZIggoTWJVPXJze9bHaBdj/FTxzE0dYQNILpzLUf7hIEW4D+mn9I lEdj42i0SAYEWQarqXh7VwajlizVXUTfpXFjNOAdAW7pS0n7EZQy6UEXi1Ua5FHX SmxkZzQpc1zFbKEqUtXDyJuB3JBegEkx6t4DpU3wm7qCK6Hkm7xcheNEYJK6J0YU JtU1Ht4ZOlrGLY4ekSfblIwcKiVp51kjpYCBqAemsiqgnY+DcioefeP+d1yoBqEW 65l/rYDFlU3TMgYMPfobV6p0fcIvLrXKwFWvs+3QC+Wf0cL/LjoDKS+5gkw1n4ro +3Z9/qxM0m/s5lM3R6J1SRPgVdOGVbNZ5EMxJCiIRQIkCQpc9mPsz518WbTSK2+r gFpXvzxgR/LBdoSIvh/dqZbNeyL4emyBx9jiNRZWj3oM8vLv2IZKi2sAEL3Rkr56 qKeCmTLm+VaviOoG9HtldgLJXf9NqQ== =LI7G -----END PGP SIGNATURE-----