Closed GoogleCodeExporter closed 8 years ago
Attaching test files.
On Windows XP it works fine.
The problem appears only on Windows 7 for these test files.
Original comment by czarek.t...@gmail.com
on 19 Aug 2012 at 9:18
Attachments:
I think I've fixed it, but need confirmation, I use XP and cannot reproduce the
bug.
Download cefpython.pyd from the repository and test it:
http://cefpython.googlecode.com/git/cefexample/cefpython.pyd
Original comment by czarek.t...@gmail.com
on 19 Aug 2012 at 9:47
My test file is fixed. Thanks.
Original comment by rich...@gmail.com
on 19 Aug 2012 at 10:51
The problem with garbage data was in a function that converted CEFString to
Python string (CefStringToPyString in utils.pyx), it took the C string (a
pointer to wchar_t) from CEFString, and then converted it into char. To make
the conversion a WideCharToMultiByte() function was used, but there is one
quirk about this function. You call this func twice, first time to calculate
the bytes that need to be copied. When string is non-empty it returns the bytes
including the NUL character, so if string is 4 bytes it returns 5 bytes so that
NUL (\0) is also copied. But when string is empty it returns 0 bytes. When you
combine it with use of malloc() then you get garbage data, because malloc does
not initialize the memory, and WideCharToMultiByte does not copy the NUL
character when string is empty. The solution is to use calloc() instead of
malloc(), calloc initializes the memory with zeros.
This fix will make it into next 0.34 release.
Original comment by czarek.t...@gmail.com
on 20 Aug 2012 at 8:22
Version 0.35 released, comes with a fix for this issue.
Original comment by czarek.t...@gmail.com
on 23 Aug 2012 at 8:28
[deleted comment]
Project will move to Github. Find this issue at the new address (soon):
https://github.com/cztomczak/cefpython/issues/7
Original comment by czarek.t...@gmail.com
on 24 Aug 2015 at 6:23
Original issue reported on code.google.com by
rich...@gmail.com
on 19 Aug 2012 at 8:53