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
aa3f7114
Commit
aa3f7114
authored
Sep 10, 1999
by
Ulrich Weigand
Committed by
Alexandre Julliard
Sep 10, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed bug in CBClient routines by storing the SEGPTR in the global
table and translating it on every use.
parent
6831e0b2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
7 deletions
+8
-7
kernel.spec
if1632/kernel.spec
+2
-2
thunk.c
if1632/thunk.c
+6
-5
No files found.
if1632/kernel.spec
View file @
aa3f7114
...
...
@@ -488,10 +488,10 @@ file krnl386.exe
616 pascal16 ConvertMenu32To16(long long long) ConvertMenu32To16
617 pascal16 GetMenu32Size(ptr) GetMenu32Size16
618 pascal16 GetDialog32Size(ptr) GetDialog32Size16
619 pascal16 RegisterCBClient(word ptr long) RegisterCBClient16
619 pascal16 RegisterCBClient(word
seg
ptr long) RegisterCBClient16
620 register CBClientThunkSL() CBClientThunkSL
621 register CBClientThunkSLEx() CBClientThunkSLEx
622 pascal16 UnRegisterCBClient(word ptr long) UnRegisterCBClient16
622 pascal16 UnRegisterCBClient(word
seg
ptr long) UnRegisterCBClient16
623 pascal16 InitCBClient(long) InitCBClient16
624 pascal SetFastQueue(long long) SetFastQueue16
625 pascal GetFastQueue() GetFastQueue16
...
...
if1632/thunk.c
View file @
aa3f7114
...
...
@@ -1246,14 +1246,14 @@ BOOL16 WINAPI FreeThunklet16( DWORD unused1, DWORD unused2 )
#define N_CBC_VARIABLE 10
#define N_CBC_TOTAL (N_CBC_FIXED + N_CBC_VARIABLE)
static
SEGPTR
*
CBClientRelay16
[
N_CBC_TOTAL
];
static
SEGPTR
CBClientRelay16
[
N_CBC_TOTAL
];
static
FARPROC
*
CBClientRelay32
[
N_CBC_TOTAL
];
/***********************************************************************
* RegisterCBClient (KERNEL.619)
*/
INT16
WINAPI
RegisterCBClient16
(
INT16
wCBCId
,
SEGPTR
*
relay16
,
FARPROC
*
relay32
)
SEGPTR
relay16
,
FARPROC
*
relay32
)
{
/* Search for free Callback ID */
if
(
wCBCId
==
-
1
)
...
...
@@ -1277,7 +1277,7 @@ INT16 WINAPI RegisterCBClient16( INT16 wCBCId,
* UnRegisterCBClient (KERNEL.622)
*/
INT16
WINAPI
UnRegisterCBClient16
(
INT16
wCBCId
,
SEGPTR
*
relay16
,
FARPROC
*
relay32
)
SEGPTR
relay16
,
FARPROC
*
relay32
)
{
if
(
wCBCId
>=
N_CBC_FIXED
&&
wCBCId
<
N_CBC_TOTAL
&&
CBClientRelay16
[
wCBCId
]
==
relay16
...
...
@@ -1312,7 +1312,7 @@ void WINAPI CBClientGlueSL( CONTEXT86 *context )
/* Create stack frame */
SEGPTR
stackSeg
=
stack16_push
(
12
);
LPWORD
stackLin
=
PTR_SEG_TO_LIN
(
stackSeg
);
SEGPTR
glue
;
SEGPTR
glue
,
*
glueTab
;
stackLin
[
3
]
=
BP_reg
(
context
);
stackLin
[
2
]
=
SI_reg
(
context
);
...
...
@@ -1324,7 +1324,8 @@ void WINAPI CBClientGlueSL( CONTEXT86 *context )
GS_reg
(
context
)
=
0
;
/* Jump to 16-bit relay code */
glue
=
CBClientRelay16
[
stackLin
[
5
]
][
stackLin
[
4
]
];
glueTab
=
PTR_SEG_TO_LIN
(
CBClientRelay16
[
stackLin
[
5
]
]
);
glue
=
glueTab
[
stackLin
[
4
]
];
CS_reg
(
context
)
=
SELECTOROF
(
glue
);
EIP_reg
(
context
)
=
OFFSETOF
(
glue
);
}
...
...
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