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) ); 
}
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?
Thank you!