Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
f13d8cc3
Commit
f13d8cc3
authored
Sep 09, 2013
by
Nikolay Sivov
Committed by
Alexandre Julliard
Sep 09, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comctl32: Fix LVS_OWNERDRAWFIXED handling in hittesting.
parent
88c2a189
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
6 deletions
+7
-6
listview.c
dlls/comctl32/listview.c
+7
-6
No files found.
dlls/comctl32/listview.c
View file @
f13d8cc3
...
@@ -7500,6 +7500,7 @@ static INT LISTVIEW_HitTest(const LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht,
...
@@ -7500,6 +7500,7 @@ static INT LISTVIEW_HitTest(const LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht,
WCHAR
szDispText
[
DISP_TEXT_SIZE
]
=
{
'\0'
};
WCHAR
szDispText
[
DISP_TEXT_SIZE
]
=
{
'\0'
};
RECT
rcBox
,
rcBounds
,
rcState
,
rcIcon
,
rcLabel
,
rcSearch
;
RECT
rcBox
,
rcBounds
,
rcState
,
rcIcon
,
rcLabel
,
rcSearch
;
POINT
Origin
,
Position
,
opt
;
POINT
Origin
,
Position
,
opt
;
BOOL
is_fullrow
;
LVITEMW
lvItem
;
LVITEMW
lvItem
;
ITERATOR
i
;
ITERATOR
i
;
INT
iItem
;
INT
iItem
;
...
@@ -7623,15 +7624,17 @@ static INT LISTVIEW_HitTest(const LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht,
...
@@ -7623,15 +7624,17 @@ static INT LISTVIEW_HitTest(const LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht,
TRACE
(
"rcBounds=%s
\n
"
,
wine_dbgstr_rect
(
&
rcBounds
));
TRACE
(
"rcBounds=%s
\n
"
,
wine_dbgstr_rect
(
&
rcBounds
));
if
(
!
PtInRect
(
&
rcBounds
,
opt
))
return
-
1
;
if
(
!
PtInRect
(
&
rcBounds
,
opt
))
return
-
1
;
/* That's a special case - row rectangle is used as item rectangle and
returned flags contain all item parts. */
is_fullrow
=
(
infoPtr
->
uView
==
LV_VIEW_DETAILS
)
&&
((
infoPtr
->
dwLvExStyle
&
LVS_EX_FULLROWSELECT
)
||
(
infoPtr
->
dwStyle
&
LVS_OWNERDRAWFIXED
));
if
(
PtInRect
(
&
rcIcon
,
opt
))
if
(
PtInRect
(
&
rcIcon
,
opt
))
lpht
->
flags
|=
LVHT_ONITEMICON
;
lpht
->
flags
|=
LVHT_ONITEMICON
;
else
if
(
PtInRect
(
&
rcLabel
,
opt
))
else
if
(
PtInRect
(
&
rcLabel
,
opt
))
lpht
->
flags
|=
LVHT_ONITEMLABEL
;
lpht
->
flags
|=
LVHT_ONITEMLABEL
;
else
if
(
infoPtr
->
himlState
&&
PtInRect
(
&
rcState
,
opt
))
else
if
(
infoPtr
->
himlState
&&
PtInRect
(
&
rcState
,
opt
))
lpht
->
flags
|=
LVHT_ONITEMSTATEICON
;
lpht
->
flags
|=
LVHT_ONITEMSTATEICON
;
/* special case for LVS_EX_FULLROWSELECT */
if
(
is_fullrow
&&
!
(
lpht
->
flags
&
LVHT_ONITEM
))
if
(
infoPtr
->
uView
==
LV_VIEW_DETAILS
&&
infoPtr
->
dwLvExStyle
&
LVS_EX_FULLROWSELECT
&&
!
(
lpht
->
flags
&
LVHT_ONITEM
))
{
{
lpht
->
flags
=
LVHT_ONITEM
|
LVHT_ABOVE
;
lpht
->
flags
=
LVHT_ONITEM
|
LVHT_ABOVE
;
}
}
...
@@ -7639,9 +7642,7 @@ static INT LISTVIEW_HitTest(const LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht,
...
@@ -7639,9 +7642,7 @@ static INT LISTVIEW_HitTest(const LISTVIEW_INFO *infoPtr, LPLVHITTESTINFO lpht,
lpht
->
flags
&=
~
LVHT_NOWHERE
;
lpht
->
flags
&=
~
LVHT_NOWHERE
;
TRACE
(
"lpht->flags=0x%x
\n
"
,
lpht
->
flags
);
TRACE
(
"lpht->flags=0x%x
\n
"
,
lpht
->
flags
);
if
(
select
&&
!
(
infoPtr
->
uView
==
LV_VIEW_DETAILS
&&
if
(
select
&&
!
is_fullrow
)
((
infoPtr
->
dwLvExStyle
&
LVS_EX_FULLROWSELECT
)
||
(
infoPtr
->
dwStyle
&
LVS_OWNERDRAWFIXED
))))
{
{
if
(
infoPtr
->
uView
==
LV_VIEW_DETAILS
)
if
(
infoPtr
->
uView
==
LV_VIEW_DETAILS
)
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment