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
b68dbf4e
Commit
b68dbf4e
authored
Dec 20, 2017
by
Nikolay Sivov
Committed by
Alexandre Julliard
Dec 20, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comctl32/tooltips: Remove window subclass right before window is destroyed.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
10aa228c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
19 deletions
+22
-19
tooltips.c
dlls/comctl32/tooltips.c
+22
-19
No files found.
dlls/comctl32/tooltips.c
View file @
b68dbf4e
...
...
@@ -1888,16 +1888,12 @@ TOOLTIPS_Destroy (TOOLTIPS_INFO *infoPtr)
}
}
/* remove subclassing */
if
(
toolPtr
->
uInternalFlags
&
TTF_SUBCLASS
)
{
if
(
toolPtr
->
uInternalFlags
&
TTF_IDISHWND
)
{
RemoveWindowSubclass
((
HWND
)
toolPtr
->
uId
,
TOOLTIPS_SubclassProc
,
1
);
}
else
{
RemoveWindowSubclass
(
toolPtr
->
hwnd
,
TOOLTIPS_SubclassProc
,
1
);
}
/* Reset subclassing data. */
if
(
toolPtr
->
uInternalFlags
&
TTF_SUBCLASS
)
SetWindowSubclass
(
toolPtr
->
uInternalFlags
&
TTF_IDISHWND
?
(
HWND
)
toolPtr
->
uId
:
toolPtr
->
hwnd
,
TOOLTIPS_SubclassProc
,
1
,
0
);
}
}
Free
(
infoPtr
->
tools
);
}
...
...
@@ -2117,12 +2113,13 @@ TOOLTIPS_WinIniChange (TOOLTIPS_INFO *infoPtr)
static
LRESULT
CALLBACK
TOOLTIPS_SubclassProc
(
HWND
hwnd
,
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
,
UINT_PTR
uID
,
DWORD_PTR
dwRef
)
TOOLTIPS_SubclassProc
(
HWND
hwnd
,
UINT
message
,
WPARAM
wParam
,
LPARAM
lParam
,
UINT_PTR
uID
,
DWORD_PTR
dwRef
)
{
TOOLTIPS_INFO
*
infoPtr
=
TOOLTIPS_GetInfoPtr
((
HWND
)
dwRef
);
MSG
msg
;
switch
(
uMsg
)
{
switch
(
message
)
{
case
WM_MOUSEMOVE
:
case
WM_LBUTTONDOWN
:
case
WM_LBUTTONUP
:
...
...
@@ -2130,17 +2127,23 @@ TOOLTIPS_SubclassProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_
case
WM_MBUTTONUP
:
case
WM_RBUTTONDOWN
:
case
WM_RBUTTONUP
:
msg
.
hwnd
=
hwnd
;
msg
.
message
=
uMsg
;
msg
.
wParam
=
wParam
;
msg
.
lParam
=
lParam
;
TOOLTIPS_RelayEvent
(
infoPtr
,
&
msg
);
break
;
if
(
infoPtr
)
{
msg
.
hwnd
=
hwnd
;
msg
.
message
=
message
;
msg
.
wParam
=
wParam
;
msg
.
lParam
=
lParam
;
TOOLTIPS_RelayEvent
(
infoPtr
,
&
msg
);
}
break
;
case
WM_NCDESTROY
:
RemoveWindowSubclass
(
hwnd
,
TOOLTIPS_SubclassProc
,
1
);
break
;
default:
break
;
}
return
DefSubclassProc
(
hwnd
,
uMsg
,
wParam
,
lParam
);
return
DefSubclassProc
(
hwnd
,
message
,
wParam
,
lParam
);
}
...
...
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