Index: core/fxge/android/cfpf_skiafontmgr.cpp |
diff --git a/core/fxge/android/cfpf_skiafontmgr.cpp b/core/fxge/android/cfpf_skiafontmgr.cpp |
index 6463e8b5311dafcc90656b02647c956f33b188e3..e3511be67a1e69740be7f809846ddb9d1f4d2b38 100644 |
--- a/core/fxge/android/cfpf_skiafontmgr.cpp |
+++ b/core/fxge/android/cfpf_skiafontmgr.cpp |
@@ -28,14 +28,17 @@ static unsigned long FPF_SkiaStream_Read(FXFT_Stream stream, |
unsigned long offset, |
unsigned char* buffer, |
unsigned long count) { |
+ if (count == 0) |
+ return 0; |
+ |
IFX_SeekableReadStream* pFileRead = |
- (IFX_SeekableReadStream*)stream->descriptor.pointer; |
+ static_cast<IFX_SeekableReadStream*>(stream->descriptor.pointer); |
if (!pFileRead) |
return 0; |
- if (count > 0) { |
- if (!pFileRead->ReadBlock(buffer, (FX_FILESIZE)offset, (size_t)count)) |
- return 0; |
- } |
+ |
+ if (!pFileRead->ReadBlock(buffer, (FX_FILESIZE)offset, (size_t)count)) |
+ return 0; |
+ |
return count; |
} |
@@ -358,8 +361,9 @@ CFPF_SkiaFont* CFPF_SkiaFontMgr::CreateFont(const CFX_ByteStringC& bsFamilyname, |
return nullptr; |
} |
-FXFT_Face CFPF_SkiaFontMgr::GetFontFace(IFX_SeekableReadStream* pFileRead, |
- int32_t iFaceIndex) { |
+FXFT_Face CFPF_SkiaFontMgr::GetFontFace( |
+ const CFX_RetainPtr<IFX_SeekableReadStream>& pFileRead, |
+ int32_t iFaceIndex) { |
if (!pFileRead) |
return nullptr; |
if (pFileRead->GetSize() == 0) |
@@ -369,7 +373,7 @@ FXFT_Face CFPF_SkiaFontMgr::GetFontFace(IFX_SeekableReadStream* pFileRead, |
FXFT_StreamRec streamRec; |
FXSYS_memset(&streamRec, 0, sizeof(FXFT_StreamRec)); |
streamRec.size = pFileRead->GetSize(); |
- streamRec.descriptor.pointer = pFileRead; |
+ streamRec.descriptor.pointer = static_cast<void*>(pFileRead.Get()); |
streamRec.read = FPF_SkiaStream_Read; |
streamRec.close = FPF_SkiaStream_Close; |
FXFT_Open_Args args; |