[PATCH] jscript: Force base type of _jsval_t to be ULONGLONG instead of double.
Jacek Caban
jacek at codeweavers.com
Wed Mar 24 09:31:06 CDT 2021
On 24.03.2021 12:33, Dmitry Timoshkov wrote:
> I guess that I should send the proposed fix to wine-devel instead of
> waiting for response in the bug report.
Bug report is fine. I didn't know the answer without looking at this
myself and I didn't have the time to do that earlier, but it was on my
radar.
>
> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50845
> Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
> ---
> dlls/jscript/jsval.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/dlls/jscript/jsval.h b/dlls/jscript/jsval.h
> index 963f59f6a08..d930d35f4e4 100644
> --- a/dlls/jscript/jsval.h
> +++ b/dlls/jscript/jsval.h
> @@ -54,6 +54,7 @@ typedef enum {
> struct _jsval_t {
> #ifdef JSVAL_DOUBLE_LAYOUT_PTR32
> union {
> + ULONGLONG ull;
> double n;
> struct {
> union {
Did you see a crash in 32-bit build as well?
> @@ -69,9 +70,10 @@ struct _jsval_t {
> #else
> jsval_type_t type;
> union {
> + ULONGLONG ull;
> + double n;
> IDispatch *obj;
> jsstr_t *str;
> - double n;
> BOOL b;
> VARIANT *v;
> } u;
I think that there is a difference in enum underlying type between
targets, which could explain the difference here. The attached patch
works for me, please give it a try.
Thanks,
Jacek
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jsval.diff
Type: text/x-patch
Size: 325 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20210324/92f00741/attachment.bin>
More information about the wine-devel
mailing list