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
a49bb266
Commit
a49bb266
authored
Jul 04, 1999
by
Joshua Thielen
Committed by
Alexandre Julliard
Jul 04, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed DestroyAcceleratorTable and implemented CreateAcceleratorTableW.
parent
a2b938c2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
4 deletions
+60
-4
winuser.h
include/winuser.h
+3
-0
resource.c
loader/resource.c
+56
-3
user32.spec
relay32/user32.spec
+1
-1
No files found.
include/winuser.h
View file @
a49bb266
...
...
@@ -2921,6 +2921,9 @@ WORD WINAPI CascadeWindows(HWND, UINT, const LPRECT, UINT, const HWND *);
INT
WINAPI
CopyAcceleratorTableA
(
HACCEL
,
LPACCEL
,
INT
);
INT
WINAPI
CopyAcceleratorTableW
(
HACCEL
,
LPACCEL
,
INT
);
#define CopyAcceleratorTable WINELIB_NAME_AW(CopyAcceleratorTable)
HACCEL
WINAPI
CreateAcceleratorTableA
(
LPACCEL
,
INT
);
HACCEL
WINAPI
CreateAcceleratorTableW
(
LPACCEL
,
INT
);
#define CreateAcceleratorTable WINELIB_NAME_AW(CreateAcceleratorTable)
HICON
WINAPI
CreateIconIndirect
(
LPICONINFO
);
BOOL
WINAPI
DestroyAcceleratorTable
(
HACCEL
);
BOOL
WINAPI
EnumDisplayMonitors
(
HDC
,
LPRECT
,
MONITORENUMPROC
,
LPARAM
);
...
...
loader/resource.c
View file @
a49bb266
...
...
@@ -31,6 +31,7 @@
#include "libres.h"
#include "winerror.h"
#include "debugstr.h"
#include "winnls.h"
DECLARE_DEBUG_CHANNEL
(
accel
)
DECLARE_DEBUG_CHANNEL
(
resource
)
...
...
@@ -777,6 +778,60 @@ HACCEL WINAPI CreateAcceleratorTableA(LPACCEL lpaccel, INT cEntries)
return
hAccel
;
}
/*********************************************************************
* CreateAcceleratorTableW (USER32.64)
*
*
*/
HACCEL
WINAPI
CreateAcceleratorTableW
(
LPACCEL
lpaccel
,
INT
cEntries
)
{
HACCEL
hAccel
;
LPACCEL16
accel
;
int
i
;
char
ckey
;
/* Do parameter checking just in case someone's trying to be
funny. */
if
(
cEntries
<
1
)
{
WARN_
(
accel
)(
"Application sent invalid parameters (%p %d).
\n
"
,
lpaccel
,
cEntries
);
SetLastError
(
ERROR_INVALID_PARAMETER
);
return
(
HACCEL
)
NULL
;
}
FIXME_
(
accel
)(
"should check that the accelerator descriptions are valid,"
" return NULL and SetLastError() if not.
\n
"
);
/* Allocate memory and copy the table. */
hAccel
=
GlobalAlloc16
(
0
,
cEntries
*
sizeof
(
ACCEL16
));
TRACE_
(
accel
)(
"handle %x
\n
"
,
hAccel
);
if
(
!
hAccel
)
{
ERR_
(
accel
)(
"Out of memory.
\n
"
);
SetLastError
(
ERROR_NOT_ENOUGH_MEMORY
);
return
(
HACCEL
)
NULL
;
}
accel
=
GlobalLock16
(
hAccel
);
for
(
i
=
0
;
i
<
cEntries
;
i
++
)
{
accel
[
i
].
fVirt
=
lpaccel
[
i
].
fVirt
;
if
(
!
(
accel
[
i
].
fVirt
&
FVIRTKEY
)
)
{
ckey
=
(
char
)
lpaccel
[
i
].
key
;
if
(
!
MultiByteToWideChar
(
CP_ACP
,
MB_PRECOMPOSED
,
&
ckey
,
1
,
&
accel
[
i
].
key
,
1
))
WARN_
(
accel
)(
"Error converting ASCII accelerator table to Unicode"
);
}
else
accel
[
i
].
key
=
lpaccel
[
i
].
key
;
accel
[
i
].
cmd
=
lpaccel
[
i
].
cmd
;
}
/* Set the end-of-table terminator. */
accel
[
cEntries
-
1
].
fVirt
|=
0x80
;
TRACE_
(
accel
)(
"Allocated accelerator handle %x
\n
"
,
hAccel
);
return
hAccel
;
}
/******************************************************************************
* DestroyAcceleratorTable [USER32.130]
...
...
@@ -792,9 +847,7 @@ HACCEL WINAPI CreateAcceleratorTableA(LPACCEL lpaccel, INT cEntries)
*/
BOOL
WINAPI
DestroyAcceleratorTable
(
HACCEL
handle
)
{
FIXME_
(
accel
)(
"(0x%x): stub
\n
"
,
handle
);
/* FIXME: GlobalFree16(handle); */
return
TRUE
;
return
GlobalFree16
(
handle
);
}
/**********************************************************************
...
...
relay32/user32.spec
View file @
a49bb266
...
...
@@ -66,7 +66,7 @@ init MAIN_UserInit
62 stdcall CopyRect(ptr ptr) CopyRect
63 stdcall CountClipboardFormats() CountClipboardFormats
64 stdcall CreateAcceleratorTableA(ptr long) CreateAcceleratorTableA
65 st
ub
CreateAcceleratorTableW
65 st
dcall CreateAcceleratorTableW(ptr long)
CreateAcceleratorTableW
66 stdcall CreateCaret(long long long long) CreateCaret
67 stdcall CreateCursor(long long long long long ptr ptr) CreateCursor
68 stub CreateDesktopA
...
...
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