[PATCH] jscript: Force base type of _jsval_t to be ULONGLONG instead of double.
Dmitry Timoshkov
dmitry at baikal.ru
Wed Mar 24 10:00:36 CDT 2021
Jacek Caban <jacek at codeweavers.com> wrote:
> > 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?
Sorry if I wasn't clear enough, the crash caused by assert(0) happens in
32-bit build, so your patch below won't help. 64-bit build is affected by
another bug, and a diferent crash.
> > @@ -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.
--
Dmitry.
More information about the wine-devel
mailing list