[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Sample code to reproduce potentially broken toolbar event handling (XaAES)



Hi again,

I've now tested it with identical results on XaAES v0.999 (Dec 15 2010).

-- PeP

16 dec 2010 kl. 16.13 skrev Peter Persson:

> Hi,
> 
> I've attached sourcecode which illustrates a problem with toolbar events. The code is a bit messy since I wrote it in 10 minutes, but I think it illustrates the problem well. I chose to implement the resource in source form so that we know what we're dealing with.
> 
> The code creates a toolbar resource with three buttons.
> - leftmost button doesn't do anything.
> - middle button uses graf_watchbox().
> - right button uses graf_slidebox().
> 
> Try the following:
> 1. Click quickly on the leftmost button. Only one event is generated, which seems correct.
> 2. Click and hold the leftmost button. For some reason, two events are generated, not just one.
> 3. Click and hold the middle button, and drag the mouse outside of the button area. Note how a second click event is generated, breaking the graf_watchbox() functionality.
> 4. Click and drag the right button. Note how a second click is generated, breaking the graf_slidebox() functionality.
> 
> Lonny helped me test some similar code on NAES, and those tests did not result in the behavior described above.
> 
> NOTE: I dump information on the console while the test app is running, so make sure to keep the console window open.
> 
> The behavior is tested on XaAES v0.998 (May 6 2007). I tried the Helmut daily build, which didn't contain an aranym binary. Then I tried the trunk build, which failed to boot at all on my aranym setup (Aranym even shuts down completely).
> 
> Anyway. Either I do something very bad in my code, or XaAES generates additional events which tend to break the functionality of two important AES object functions. I'm hoping for the former, since the latter means I'll have to resort to some fairly ugly workarounds in my current project (and so far I haven't found a workaround which works 100%).
> 
> Comments & suggestions welcome.
> 
> -- PeP
> 
> <main.c>
> <makefile>