Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
b201a41e
Commit
b201a41e
authored
Dec 22, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user32: Export the WIN_GetFullHandle function through the WoW handlers.
parent
eb36bb2e
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
15 deletions
+16
-15
comm16.c
dlls/user32/comm16.c
+1
-1
controls.h
dlls/user32/controls.h
+6
-0
hook16.c
dlls/user32/hook16.c
+1
-1
win.c
dlls/user32/win.c
+6
-6
win.h
dlls/user32/win.h
+1
-7
winproc.c
dlls/user32/winproc.c
+1
-0
No files found.
dlls/user32/comm16.c
View file @
b201a41e
...
...
@@ -63,7 +63,7 @@
#include "windef.h"
#include "winbase.h"
#include "wine/winuser16.h"
#include "
win
.h"
#include "
controls
.h"
#include "user_private.h"
#include "wine/debug.h"
...
...
dlls/user32/controls.h
View file @
b201a41e
...
...
@@ -115,6 +115,7 @@ struct wow_handlers32
LRESULT
(
*
scrollbar_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
LRESULT
(
*
static_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
HWND
(
*
create_window
)(
CREATESTRUCTW
*
,
LPCWSTR
,
HINSTANCE
,
UINT
);
HWND
(
*
get_win_handle
)(
HWND
);
WNDPROC
(
*
alloc_winproc
)(
WNDPROC
,
BOOL
);
struct
tagDIALOGINFO
*
(
*
get_dialog_info
)(
HWND
,
BOOL
);
INT
(
*
dialog_box_loop
)(
HWND
,
HWND
);
...
...
@@ -137,6 +138,11 @@ extern void free_module_classes(HINSTANCE16) DECLSPEC_HIDDEN;
extern
void
register_wow_handlers
(
void
)
DECLSPEC_HIDDEN
;
extern
void
WINAPI
UserRegisterWowHandlers
(
const
struct
wow_handlers16
*
new
,
struct
wow_handlers32
*
orig
);
static
inline
HWND
WIN_Handle32
(
HWND16
hwnd16
)
{
return
wow_handlers32
.
get_win_handle
(
(
HWND
)(
ULONG_PTR
)
hwnd16
);
}
/* Class functions */
struct
tagCLASS
;
/* opaque structure */
...
...
dlls/user32/hook16.c
View file @
b201a41e
...
...
@@ -28,7 +28,7 @@
#include "winuser.h"
#include "wownt32.h"
#include "wine/winuser16.h"
#include "
win
.h"
#include "
controls
.h"
#include "user_private.h"
#include "wine/debug.h"
...
...
dlls/user32/win.c
View file @
b201a41e
...
...
@@ -524,18 +524,18 @@ HWND WIN_IsCurrentThread( HWND hwnd )
/***********************************************************************
* WIN_
Handle32
* WIN_
GetFullHandle
*
* Convert a
16-bit
window handle to a full 32-bit handle.
* Convert a
possibly truncated
window handle to a full 32-bit handle.
*/
HWND
WIN_
Handle32
(
HWND16
hwnd16
)
HWND
WIN_
GetFullHandle
(
HWND
hwnd
)
{
WND
*
ptr
;
HWND
hwnd
=
(
HWND
)(
ULONG_PTR
)
hwnd16
;
if
(
hwnd16
<=
1
||
hwnd16
==
0xffff
)
return
hwnd
;
if
(
!
hwnd
||
(
ULONG_PTR
)
hwnd
>>
16
)
return
hwnd
;
if
(
LOWORD
(
hwnd
)
<=
1
||
LOWORD
(
hwnd
)
==
0xffff
)
return
hwnd
;
/* do sign extension for -2 and -3 */
if
(
hwnd16
>=
(
HWND16
)
-
3
)
return
(
HWND
)(
LONG_PTR
)(
INT16
)
hwnd16
;
if
(
LOWORD
(
hwnd
)
>=
(
WORD
)
-
3
)
return
(
HWND
)(
LONG_PTR
)(
INT16
)
LOWORD
(
hwnd
)
;
if
(
!
(
ptr
=
WIN_GetPtr
(
hwnd
)))
return
hwnd
;
...
...
dlls/user32/win.h
View file @
b201a41e
...
...
@@ -79,7 +79,7 @@ typedef struct tagWND
extern
HWND
get_hwnd_message_parent
(
void
)
DECLSPEC_HIDDEN
;
extern
BOOL
is_desktop_window
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
WND
*
WIN_GetPtr
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
HWND
WIN_
Handle32
(
HWND16
hwnd16
)
DECLSPEC_HIDDEN
;
extern
HWND
WIN_
GetFullHandle
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
HWND
WIN_IsCurrentProcess
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
HWND
WIN_IsCurrentThread
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
HWND
WIN_SetOwner
(
HWND
hwnd
,
HWND
owner
)
DECLSPEC_HIDDEN
;
...
...
@@ -98,12 +98,6 @@ extern HDESK open_winstation_desktop( HWINSTA hwinsta, LPCWSTR name, DWORD flags
extern
void
USER_Lock
(
void
)
DECLSPEC_HIDDEN
;
extern
void
USER_Unlock
(
void
)
DECLSPEC_HIDDEN
;
static
inline
HWND
WIN_GetFullHandle
(
HWND
hwnd
)
{
if
(
!
HIWORD
(
hwnd
)
&&
hwnd
)
hwnd
=
WIN_Handle32
(
LOWORD
(
hwnd
)
);
return
hwnd
;
}
/* to release pointers retrieved by WIN_GetPtr */
static
inline
void
WIN_ReleasePtr
(
WND
*
ptr
)
{
...
...
dlls/user32/winproc.c
View file @
b201a41e
...
...
@@ -1168,6 +1168,7 @@ void WINAPI UserRegisterWowHandlers( const struct wow_handlers16 *new, struct wo
orig
->
scrollbar_proc
=
ScrollBarWndProc_common
;
orig
->
static_proc
=
StaticWndProc_common
;
orig
->
create_window
=
WIN_CreateWindowEx
;
orig
->
get_win_handle
=
WIN_GetFullHandle
;
orig
->
alloc_winproc
=
WINPROC_AllocProc
;
orig
->
get_dialog_info
=
DIALOG_get_info
;
orig
->
dialog_box_loop
=
DIALOG_DoDialogBox
;
...
...
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