Add a check condition for whether the type is slLink.
Signed-off-by: Zhaoyi zhaoyi@uniontech.com
-- v3: comctl32: Make the correct linkid from fun SYSLINK_LinkAtPt.
From: Zhaoyi zhaoyi@uniontech.com
Add a check condition for whether the type is slLink.
Signed-off-by: Zhaoyi zhaoyi@uniontech.com --- dlls/comctl32/syslink.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/comctl32/syslink.c b/dlls/comctl32/syslink.c index 8130bf19641..5302b95dccb 100644 --- a/dlls/comctl32/syslink.c +++ b/dlls/comctl32/syslink.c @@ -1329,7 +1329,8 @@ static PDOC_ITEM SYSLINK_LinkAtPt (const SYSLINK_INFO *infoPtr, const POINT *pt, } return Current; } - id++; + if (Current->Type == slLink) + id++; }
return NULL;
For "foobar2000" applications Clicking on the "forums" button on Windows can skip to the corresponding page because the obtained linkid is equal to 2,As shown in the following figure:  However, the linkid obtained on Wine is 4, which resulted in clicking the "Forums" button not responding. The logic for obtaining the linkid after debugging is as follows: 
Please add a test.
On Tue Jul 4 03:47:43 2023 +0000, Zhiyi Zhang wrote:
Please add a test.
Thank you, I'll add a bit of test cases.