On 29.04.2016 15:21, Michael Stefaniuc wrote:
- rcDragIcon.left = rcListBox.left - DRAGICON_HOTSPOT_X;
- rcDragIcon.top = rcItem.top - DRAGICON_HOTSPOT_Y;
- rcDragIcon.right = rcListBox.left;
- rcDragIcon.bottom = rcDragIcon.top + DRAGICON_HEIGHT;
- SetRect(&rcDragIcon, rcListBox.left - DRAGICON_HOTSPOT_X, rcItem.top - DRAGICON_HOTSPOT_Y,
rcListBox.left, rcDragIcon.top + DRAGICON_HEIGHT);
This won't work as expected. Haven't checked if there are more similar cases.
On 04/29/2016 03:24 PM, Sebastian Lackner wrote:
On 29.04.2016 15:21, Michael Stefaniuc wrote:
- rcDragIcon.left = rcListBox.left - DRAGICON_HOTSPOT_X;
- rcDragIcon.top = rcItem.top - DRAGICON_HOTSPOT_Y;
- rcDragIcon.right = rcListBox.left;
- rcDragIcon.bottom = rcDragIcon.top + DRAGICON_HEIGHT;
- SetRect(&rcDragIcon, rcListBox.left - DRAGICON_HOTSPOT_X, rcItem.top - DRAGICON_HOTSPOT_Y,
rcListBox.left, rcDragIcon.top + DRAGICON_HEIGHT);
This won't work as expected. Haven't checked if there are more similar cases.
Argghh! Missed that one. For whatever reason the coccinelle rule to prevent this isn't catching it if it happens in the last argument to the function call. I had manually eliminated two other cases like this but missed this one.
bye michael
On 29.04.2016 15:29, Michael Stefaniuc wrote:
On 04/29/2016 03:24 PM, Sebastian Lackner wrote:
On 29.04.2016 15:21, Michael Stefaniuc wrote:
- rcDragIcon.left = rcListBox.left - DRAGICON_HOTSPOT_X;
- rcDragIcon.top = rcItem.top - DRAGICON_HOTSPOT_Y;
- rcDragIcon.right = rcListBox.left;
- rcDragIcon.bottom = rcDragIcon.top + DRAGICON_HEIGHT;
- SetRect(&rcDragIcon, rcListBox.left - DRAGICON_HOTSPOT_X, rcItem.top - DRAGICON_HOTSPOT_Y,
rcListBox.left, rcDragIcon.top + DRAGICON_HEIGHT);
This won't work as expected. Haven't checked if there are more similar cases.
Argghh! Missed that one. For whatever reason the coccinelle rule to prevent this isn't catching it if it happens in the last argument to the function call. I had manually eliminated two other cases like this but missed this one.
bye michael
Seems like its not the only one ;)
@@ -2136,10 +2135,7 @@ static void TAB_DrawItem(const TAB_INFO *infoPtr, HDC hdc, INT iItem)
/* Now erase the top corner and draw diagonal edge */ SetBkColor(hdc, corner);
r1.left = r.right - ROUND_CORNER_SIZE - 1;
r1.top = r.top;
r1.right = r.right;
r1.bottom = r1.top + ROUND_CORNER_SIZE;
ExtTextOutW(hdc, 0, 0, 2, &r1, NULL, 0, 0); r1.right--; DrawEdge(hdc, &r1, EDGE_RAISED, BF_SOFT|BF_DIAGONAL_ENDTOPLEFT);SetRect(&r1, r.right - ROUND_CORNER_SIZE - 1, r.top, r.right, r1.top + ROUND_CORNER_SIZE);