Dear Thomas: It should be : TRACE("After ExtSelectClipRgn:%s\n", wine_dbgstr_rect(&dstbox) ); I want make the output clear so I remove the wine_dbgstr_rect(&srcbox), but I forgot remove the second %s. Thank you. ------------------ Original ------------------ From: "Thomas Faber"<thomas.faber(a)reactos.org>; Date: Mon, Dec 8, 2014 04:05 AM To: "Changhui Liu"<liuchanghui(a)linuxdeepin.com>; Cc: "Sebastian Lackner"<sebastian(a)fds-team.de>; "Vincent Povirk"<madewokherd(a)gmail.com>; "wine-devel"<wine-devel(a)winehq.org>; "洪谦"<qhong(a)codeweavers.com>; Subject: Re: Puzzle about ExtSelectClipRgn? On 2014-12-03 03:36, Changhui Liu wrote:
Dear all, I test this code :
void test (HDC hdc, HRGN hregion) { RECT srcbox; RECT dstbox;
GetClipBox(hdc, &dstbox); GetRgnBox(hregion, &srcbox);
TRACE("Before ExtSelectClipRgn:%s,%s\n", wine_dbgstr_rect(&srcbox), wine_dbgstr_rect(&dstbox) );
ExtSelectClipRgn(hdc, hregion, RGN_AND );
GetClipBox(graphics->hdc,&dstbox);
TRACE("After ExtSelectClipRgn:%s,%s\n", wine_dbgstr_rect(&dstbox) );
The second %s here will print random memory.
}
It output in wine is : Before ExtSelectClipRgn:(693,5)-(763,28),(693,5)-(763,28) After ExtSelectClipRgn:(693,5)-(693,5)
But I think it should be output: Before ExtSelectClipRgn:(693,5)-(763,28),(693,5)-(763,28) After ExtSelectClipRgn:(693,5)-(763,28)
Where is my understanding mistake, or is it a bug in ExtSelectClipRgn?
------------------ Regards.