1. Win32lib and multiple displays
I've recently installed a second display adaptor and monitor. Makes it
easier, having email for example always in one screen, and whatever
I'm working on at the time in another.
If I'm running a program that uses Win32lib, and I allow the mouse to
stray from this screen to that screen, I get a crash with the
following message:
C:\EUPHORIA\include\Win32Lib.ew:32613 in procedure eventLoop()
bitwise operations are limited to 32-bit numbers
Any suggestions (apart from "don't allow the mouse to stray")?
--
Craig
2. Re: Win32lib and multiple displays
On Wed, 06 Jul 2005 18:58:36 +1000, Craig Welch <euphoria at cwelch.org>
wrote:
>C:\EUPHORIA\include\Win32Lib.ew:32613 in procedure eventLoop()
>bitwise operations are limited to 32-bit numbers
>
>Any suggestions (apart from "don't allow the mouse to stray")?
For a quick fix, just comment out the lines:
w32Seed = xor_bits(floor(w32Seed), peek4u(msg+16))
w32Seed = xor_bits(floor(w32Seed), peek4u(msg+20) *
peek4u(msg+24))
This will stop getRandInt() working properly.
I expect Derek will post a proper correction, possibly something like:
w32Seed = xor_bits(floor(w32Seed),
and_bits(peek4u(msg+20),#0FFF)*
and_bits(peek4u(msg+24),#000FFFFF))
Regards,
Pete
3. Re: Win32lib and multiple displays
- Posted by Derek Parnell <ddparnell at bigpond.com>
Jul 06, 2005
-
Last edited Jul 07, 2005
Pete Lomax wrote:
>
> On Wed, 06 Jul 2005 18:58:36 +1000, Craig Welch <euphoria at cwelch.org>
> wrote:
>
> >C:\EUPHORIA\include\Win32Lib.ew:32613 in procedure eventLoop()
> >bitwise operations are limited to 32-bit numbers
> >
> >Any suggestions (apart from "don't allow the mouse to stray")?
> For a quick fix, just comment out the lines:
> w32Seed = xor_bits(floor(w32Seed), peek4u(msg+16))
> w32Seed = xor_bits(floor(w32Seed), peek4u(msg+20) *
> peek4u(msg+24))
>
> This will stop getRandInt() working properly.
>
> I expect Derek will post a proper correction, possibly something like:
> w32Seed = xor_bits(floor(w32Seed),
> and_bits(peek4u(msg+20),#0FFF)*
> and_bits(peek4u(msg+24),#000FFFFF))
>
I have fixed this in the next release but I don't have access to that source
code just now, but it was something like ...
w32Seed = xor_bits(floor(w32Seed), remainder(peek4u(msg+16), #3FFFFFFF)
w32Seed = xor_bits(floor(w32Seed), remainder(peek4u(msg+20) *
peek4u(msg+24), #3FFFFFFF))
--
Derek Parnell
Melbourne, Australia
irc://irc.sorcery.net:9000/euphoria
4. Re: Win32lib and multiple displays
Pete Lomax wrote:
> For a quick fix, just comment out the lines:
> w32Seed = xor_bits(floor(w32Seed), peek4u(msg+16))
> w32Seed = xor_bits(floor(w32Seed), peek4u(msg+20) *
> This will stop getRandInt() working properly.
Done. Problem solved.
Thanks,
--
Craig