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
6a2fb054
Commit
6a2fb054
authored
Nov 21, 2006
by
Mike McCormack
Committed by
Alexandre Julliard
Nov 21, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Create a function to free control data.
parent
fbfc221a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
17 deletions
+24
-17
dialog.c
dlls/msi/dialog.c
+24
-17
No files found.
dlls/msi/dialog.c
View file @
6a2fb054
...
...
@@ -373,6 +373,23 @@ static UINT msi_dialog_build_font_list( msi_dialog *dialog )
return
r
;
}
static
void
msi_destroy_control
(
msi_control
*
t
)
{
list_remove
(
&
t
->
entry
);
/* leave dialog->hwnd - destroying parent destroys child windows */
msi_free
(
t
->
property
);
msi_free
(
t
->
value
);
if
(
t
->
hBitmap
)
DeleteObject
(
t
->
hBitmap
);
if
(
t
->
hIcon
)
DestroyIcon
(
t
->
hIcon
);
msi_free
(
t
->
tabnext
);
msi_free
(
t
->
type
);
if
(
t
->
hDll
)
FreeLibrary
(
t
->
hDll
);
msi_free
(
t
);
}
static
msi_control
*
msi_dialog_create_window
(
msi_dialog
*
dialog
,
MSIRECORD
*
rec
,
DWORD
exstyle
,
LPCWSTR
szCls
,
LPCWSTR
name
,
LPCWSTR
text
,
DWORD
style
,
HWND
parent
)
...
...
@@ -3150,7 +3167,7 @@ static LRESULT WINAPI MSIDialog_WndProc( HWND hwnd, UINT msg,
dialog
->
package
->
center_x
=
LOWORD
(
lParam
)
+
dialog
->
size
.
cx
/
2
.
0
;
dialog
->
package
->
center_y
=
HIWORD
(
lParam
)
+
dialog
->
size
.
cy
/
2
.
0
;
break
;
case
WM_CREATE
:
return
msi_dialog_oncreate
(
hwnd
,
(
LPCREATESTRUCTW
)
lParam
);
...
...
@@ -3370,28 +3387,18 @@ void msi_dialog_destroy( msi_dialog *dialog )
if
(
dialog
->
hwnd
)
ShowWindow
(
dialog
->
hwnd
,
SW_HIDE
);
if
(
dialog
->
hwnd
)
DestroyWindow
(
dialog
->
hwnd
);
/* destroy the list of controls */
while
(
!
list_empty
(
&
dialog
->
controls
)
)
{
msi_control
*
t
=
LIST_ENTRY
(
list_head
(
&
dialog
->
controls
),
msi_control
,
entry
);
list_remove
(
&
t
->
entry
);
/* leave dialog->hwnd - destroying parent destroys child windows */
msi_free
(
t
->
property
);
msi_free
(
t
->
value
);
if
(
t
->
hBitmap
)
DeleteObject
(
t
->
hBitmap
);
if
(
t
->
hIcon
)
DestroyIcon
(
t
->
hIcon
);
msi_free
(
t
->
tabnext
);
msi_free
(
t
->
type
);
if
(
t
->
hDll
)
FreeLibrary
(
t
->
hDll
);
msi_free
(
t
);
msi_control
*
t
;
t
=
LIST_ENTRY
(
list_head
(
&
dialog
->
controls
),
msi_control
,
entry
);
msi_destroy_control
(
t
);
}
/* destroy the list of fonts */
...
...
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