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
88e3c732
Commit
88e3c732
authored
Nov 17, 2022
by
Alex Henrie
Committed by
Alexandre Julliard
Nov 18, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oleaut32: Use standard C functions for memory allocation in olefont.c.
parent
9ff42627
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
27 deletions
+16
-27
olefont.c
dlls/oleaut32/olefont.c
+16
-27
No files found.
dlls/oleaut32/olefont.c
View file @
88e3c732
...
...
@@ -117,7 +117,7 @@ static void HFONTItem_Delete(PHFONTItem item)
{
DeleteObject
(
item
->
gdiFont
);
list_remove
(
&
item
->
entry
);
HeapFree
(
GetProcessHeap
(),
0
,
item
);
free
(
item
);
}
/* Find hfont item entry in the list. Should be called while holding the crit sect */
...
...
@@ -136,7 +136,7 @@ static HFONTItem *find_hfontitem(HFONT hfont)
/* Add an item to the list with one internal reference */
static
HRESULT
add_hfontitem
(
HFONT
hfont
)
{
HFONTItem
*
new_item
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
new_item
));
HFONTItem
*
new_item
=
malloc
(
sizeof
(
*
new_item
));
if
(
!
new_item
)
return
E_OUTOFMEMORY
;
...
...
@@ -226,17 +226,6 @@ static HRESULT dec_ext_ref(HFONT hfont)
return
hr
;
}
static
WCHAR
*
strdupW
(
const
WCHAR
*
str
)
{
WCHAR
*
ret
;
DWORD
size
=
(
lstrlenW
(
str
)
+
1
)
*
sizeof
(
WCHAR
);
ret
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
if
(
ret
)
memcpy
(
ret
,
str
,
size
);
return
ret
;
}
/***********************************************************************
* Declaration of the implementation class for the IFont interface
*/
...
...
@@ -621,8 +610,8 @@ static void realize_font(OLEFontImpl *This)
GetTextFaceW
(
hdc
,
ARRAY_SIZE
(
text_face
),
text_face
);
if
(
lstrcmpiW
(
text_face
,
This
->
description
.
lpstrName
))
{
HeapFree
(
GetProcessHeap
(),
0
,
This
->
description
.
lpstrName
);
This
->
description
.
lpstrName
=
strdupW
(
text_face
);
free
(
This
->
description
.
lpstrName
);
This
->
description
.
lpstrName
=
wcsdup
(
text_face
);
}
GetTextMetricsW
(
hdc
,
&
tm
);
This
->
description
.
sCharset
=
tm
.
tmCharSet
;
...
...
@@ -669,8 +658,8 @@ static HRESULT WINAPI OLEFontImpl_put_Name(
if
(
!
name
)
return
CTL_E_INVALIDPROPERTYVALUE
;
HeapFree
(
GetProcessHeap
(),
0
,
This
->
description
.
lpstrName
);
This
->
description
.
lpstrName
=
strdupW
(
name
);
free
(
This
->
description
.
lpstrName
);
This
->
description
.
lpstrName
=
wcsdup
(
name
);
if
(
!
This
->
description
.
lpstrName
)
return
E_OUTOFMEMORY
;
TRACE
(
"new name %s
\n
"
,
debugstr_w
(
This
->
description
.
lpstrName
));
...
...
@@ -960,13 +949,13 @@ static HRESULT WINAPI OLEFontImpl_Clone(
*
ppfont
=
NULL
;
newObject
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
OLEFontImpl
));
newObject
=
malloc
(
sizeof
(
OLEFontImpl
));
if
(
newObject
==
NULL
)
return
E_OUTOFMEMORY
;
*
newObject
=
*
this
;
/* allocate separate buffer */
newObject
->
description
.
lpstrName
=
strdupW
(
this
->
description
.
lpstrName
);
newObject
->
description
.
lpstrName
=
wcsdup
(
this
->
description
.
lpstrName
);
/* Increment internal ref in hfont item list */
if
(
newObject
->
gdiFont
)
inc_int_ref
(
newObject
->
gdiFont
);
...
...
@@ -1623,10 +1612,10 @@ static HRESULT WINAPI OLEFontImpl_Load(
IStream_Read
(
pLoadStream
,
readBuffer
,
string_size
,
&
cbRead
);
if
(
cbRead
!=
string_size
)
return
E_FAIL
;
HeapFree
(
GetProcessHeap
(),
0
,
this
->
description
.
lpstrName
);
free
(
this
->
description
.
lpstrName
);
len
=
MultiByteToWideChar
(
CP_ACP
,
0
,
readBuffer
,
string_size
,
NULL
,
0
);
this
->
description
.
lpstrName
=
HeapAlloc
(
GetProcessHeap
(),
0
,
(
len
+
1
)
*
sizeof
(
WCHAR
)
);
this
->
description
.
lpstrName
=
malloc
((
len
+
1
)
*
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
readBuffer
,
string_size
,
this
->
description
.
lpstrName
,
len
);
this
->
description
.
lpstrName
[
len
]
=
0
;
...
...
@@ -1697,13 +1686,13 @@ static HRESULT WINAPI OLEFontImpl_Save(
if
(
string_size
)
{
if
(
!
(
writeBuffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
string_size
)))
return
E_OUTOFMEMORY
;
if
(
!
(
writeBuffer
=
malloc
(
string_size
)))
return
E_OUTOFMEMORY
;
WideCharToMultiByte
(
CP_ACP
,
0
,
this
->
description
.
lpstrName
,
lstrlenW
(
this
->
description
.
lpstrName
),
writeBuffer
,
string_size
,
NULL
,
NULL
);
IStream_Write
(
pOutStream
,
writeBuffer
,
string_size
,
&
written
);
HeapFree
(
GetProcessHeap
(),
0
,
writeBuffer
);
free
(
writeBuffer
);
if
(
written
!=
string_size
)
return
E_FAIL
;
}
...
...
@@ -2024,7 +2013,7 @@ static OLEFontImpl* OLEFontImpl_Construct(const FONTDESC *fontDesc)
{
OLEFontImpl
*
newObject
;
newObject
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
OLEFontImpl
));
newObject
=
malloc
(
sizeof
(
OLEFontImpl
));
if
(
newObject
==
0
)
return
newObject
;
...
...
@@ -2038,7 +2027,7 @@ static OLEFontImpl* OLEFontImpl_Construct(const FONTDESC *fontDesc)
newObject
->
ref
=
1
;
newObject
->
description
.
cbSizeofstruct
=
sizeof
(
FONTDESC
);
newObject
->
description
.
lpstrName
=
strdupW
(
fontDesc
->
lpstrName
);
newObject
->
description
.
lpstrName
=
wcsdup
(
fontDesc
->
lpstrName
);
newObject
->
description
.
cySize
=
fontDesc
->
cySize
;
newObject
->
description
.
sWeight
=
fontDesc
->
sWeight
;
newObject
->
description
.
sCharset
=
fontDesc
->
sCharset
;
...
...
@@ -2079,14 +2068,14 @@ static void OLEFontImpl_Destroy(OLEFontImpl* fontDesc)
{
TRACE
(
"(%p)
\n
"
,
fontDesc
);
HeapFree
(
GetProcessHeap
(),
0
,
fontDesc
->
description
.
lpstrName
);
free
(
fontDesc
->
description
.
lpstrName
);
if
(
fontDesc
->
pPropertyNotifyCP
)
IConnectionPoint_Release
(
fontDesc
->
pPropertyNotifyCP
);
if
(
fontDesc
->
pFontEventsCP
)
IConnectionPoint_Release
(
fontDesc
->
pFontEventsCP
);
HeapFree
(
GetProcessHeap
(),
0
,
fontDesc
);
free
(
fontDesc
);
}
/*******************************************************************************
...
...
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