Aldo (or anyone else who knows how to fix this):
I've been trying to figure out why AcceleratorTables do not work, and =
I've got a pretty fair idea about it. The problem is, I don't know the =
Windows API at all, so I don't know how to fix it.
In the current (version 665) GUI.pm, take a look at lines 2578 - 2635. =
Specifically, line 2619:
Nowhere in that subroutine do you define a variable called $id. Looking =
in the .xs file, I can see that this is being used in the ACCEL array =
being fed to windows, line 3958:
acc[c].cmd =3D (WORD) SvIV(ST(i));
So, what happens is, Perl complains about the use of an undefined value, =
then presumably feeds the number 0 to the XS glue. Then, the .cmd =
parameter gets set to zero, instead of whatever it should be.
Problem is, as I said before, I don't know the Windows API at all, so I =
have no idea what we're supposed to be setting as the .cmd parameter.
BTW, I looked back through all the previous versions of Win32::GUI, and =
the code hasn't changed since 400-something. Has this ever worked?
Thanks to anybody who can help me figure this out. BTW, I am able to =
compile and test this as needed. I'm actually working with the .558 =
source for reasons I won't get into here.
Trevor S Garside