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
48126471
Commit
48126471
authored
May 22, 1999
by
Francis Beaudet
Committed by
Alexandre Julliard
May 22, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed a major memory leak in the window management code.
parent
6cf348d7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
3 deletions
+2
-3
win.c
windows/win.c
+2
-3
No files found.
windows/win.c
View file @
48126471
...
@@ -177,17 +177,17 @@ void WIN_ReleaseWndPtr(WND *wndPtr)
...
@@ -177,17 +177,17 @@ void WIN_ReleaseWndPtr(WND *wndPtr)
/*Decrement destruction monitoring value*/
/*Decrement destruction monitoring value*/
wndPtr
->
irefCount
--
;
wndPtr
->
irefCount
--
;
/* Check if it's time to release the memory*/
/* Check if it's time to release the memory*/
/* Check if it's time to release the memory*/
if
(
wndPtr
->
irefCount
==
0
&&
!
wndPtr
->
dwMagic
)
if
(
wndPtr
->
irefCount
==
0
&&
!
wndPtr
->
dwMagic
)
{
{
/* Release memory */
/* Release memory */
USER_HEAP_FREE
(
wndPtr
->
hwndSelf
);
USER_HEAP_FREE
(
wndPtr
->
hwndSelf
);
wndPtr
->
hwndSelf
=
0
;
}
}
else
if
(
wndPtr
->
irefCount
<
0
)
else
if
(
wndPtr
->
irefCount
<
0
)
{
{
/* This else if is useful to monitor the WIN_ReleaseWndPtr function */
/* This else if is useful to monitor the WIN_ReleaseWndPtr function */
TRACE
_
(
win
)(
"forgot a Lock on %p somewhere
\n
"
,
wndPtr
);
ERR
_
(
win
)(
"forgot a Lock on %p somewhere
\n
"
,
wndPtr
);
}
}
/*unlock all WND structures for thread safeness*/
/*unlock all WND structures for thread safeness*/
WIN_UnlockWnds
();
WIN_UnlockWnds
();
...
@@ -516,7 +516,6 @@ static WND* WIN_DestroyWindow( WND* wndPtr )
...
@@ -516,7 +516,6 @@ static WND* WIN_DestroyWindow( WND* wndPtr )
wndPtr
->
pDriver
->
pDestroyWindow
(
wndPtr
);
wndPtr
->
pDriver
->
pDestroyWindow
(
wndPtr
);
DCE_FreeWindowDCE
(
wndPtr
);
/* Always do this to catch orphaned DCs */
DCE_FreeWindowDCE
(
wndPtr
);
/* Always do this to catch orphaned DCs */
WINPROC_FreeProc
(
wndPtr
->
winproc
,
WIN_PROC_WINDOW
);
WINPROC_FreeProc
(
wndPtr
->
winproc
,
WIN_PROC_WINDOW
);
wndPtr
->
hwndSelf
=
0
;
wndPtr
->
class
->
cWindows
--
;
wndPtr
->
class
->
cWindows
--
;
wndPtr
->
class
=
NULL
;
wndPtr
->
class
=
NULL
;
...
...
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