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
2a343853
Commit
2a343853
authored
Oct 13, 1999
by
Ulrich Weigand
Committed by
Alexandre Julliard
Oct 13, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bugfix: When loading an executable module fails, don't perform module
cleanup before the corresponding task is destroyed.
parent
92418ee6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
12 deletions
+16
-12
module.c
loader/ne/module.c
+16
-12
No files found.
loader/ne/module.c
View file @
2a343853
...
@@ -797,18 +797,12 @@ static HINSTANCE16 NE_DoLoadModule( NE_MODULE *pModule )
...
@@ -797,18 +797,12 @@ static HINSTANCE16 NE_DoLoadModule( NE_MODULE *pModule )
if
(
!
NE_CreateSegments
(
pModule
)
||
if
(
!
NE_CreateSegments
(
pModule
)
||
!
(
hInstance
=
NE_CreateInstance
(
pModule
,
NULL
,
FALSE
)))
!
(
hInstance
=
NE_CreateInstance
(
pModule
,
NULL
,
FALSE
)))
{
GlobalFreeAll16
(
pModule
->
self
);
return
8
;
/* Insufficient memory */
return
8
;
/* Insufficient memory */
}
/* Load the referenced DLLs */
/* Load the referenced DLLs */
if
(
!
NE_LoadDLLs
(
pModule
))
if
(
!
NE_LoadDLLs
(
pModule
))
{
NE_FreeModule
(
pModule
->
self
,
0
);
return
2
;
return
2
;
}
/* Load the segments */
/* Load the segments */
...
@@ -845,6 +839,7 @@ HINSTANCE16 NE_LoadModule( LPCSTR name, BOOL implicit, BOOL lib_only )
...
@@ -845,6 +839,7 @@ HINSTANCE16 NE_LoadModule( LPCSTR name, BOOL implicit, BOOL lib_only )
{
{
NE_MODULE
*
pModule
;
NE_MODULE
*
pModule
;
HMODULE16
hModule
;
HMODULE16
hModule
;
HINSTANCE16
hInstance
;
HFILE16
hFile
;
HFILE16
hFile
;
OFSTRUCT
ofs
;
OFSTRUCT
ofs
;
...
@@ -872,7 +867,14 @@ HINSTANCE16 NE_LoadModule( LPCSTR name, BOOL implicit, BOOL lib_only )
...
@@ -872,7 +867,14 @@ HINSTANCE16 NE_LoadModule( LPCSTR name, BOOL implicit, BOOL lib_only )
if
(
!
lib_only
&&
!
(
pModule
->
flags
&
NE_FFLAGS_LIBMODULE
)
)
if
(
!
lib_only
&&
!
(
pModule
->
flags
&
NE_FFLAGS_LIBMODULE
)
)
return
hModule
;
return
hModule
;
return
NE_DoLoadModule
(
pModule
);
hInstance
=
NE_DoLoadModule
(
pModule
);
if
(
hInstance
<
32
)
{
/* cleanup ... */
NE_FreeModule
(
hModule
,
0
);
}
return
hInstance
;
}
}
...
@@ -1179,12 +1181,14 @@ BOOL NE_InitProcess( NE_MODULE *pModule )
...
@@ -1179,12 +1181,14 @@ BOOL NE_InitProcess( NE_MODULE *pModule )
hInstance
=
NE_DoLoadModule
(
pModule
);
hInstance
=
NE_DoLoadModule
(
pModule
);
hPrevInstance
=
0
;
hPrevInstance
=
0
;
}
if
(
hInstance
<
32
)
if
(
hInstance
<
32
)
{
{
SetLastError
(
hInstance
);
SYSLEVEL_LeaveWin16Lock
();
retv
=
FALSE
;
}
SetLastError
(
hInstance
);
return
FALSE
;
}
}
/* Enter instance handles into task struct */
/* Enter instance handles into task struct */
...
...
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