![]() |
|
Combination AltGr-number crashing with PL layout |
Marek Ratajczak
Member #8,379
March 2007
|
Hi All, Kind Regards, |
Elias
Member #358
May 2000
|
Would be nice to confirm it with the newest version, even if there's no changes relate to this as far as I know. Anyway, to find the problem, you need to use a debugger and find out in which line of the source code it crashes (not sure how to do that in Windows, in Linux you'd use the debug library and just run the program in gdb). -- |
Edgar Reynaldo
Major Reynaldo
May 2007
![]() |
GnuDeBugger works in Windows too. What compiler are you using? I think the binary installation of MinGW comes with gdb. Here is Documentation for GnuDebugger My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Marek Ratajczak
Member #8,379
March 2007
|
Hi, Solution is to change flag: three_finger_flag to false. (...) The DJGPP keyboard handler provides an 'emergency exit' sequence which you can use to kill off your program. If you are running under DOS this is the three finger salute, ctrl+alt+del. Most multitasking OS's will trap this combination before it reaches the Allegro handler, in which case you can use the alternative ctrl+alt+end. If you want to disable this behaviour in release versions of your program, set this flag to FALSE. All is truth, but maybe this description should be extended for Ctrl-Alt-End and AltGR-End as well. By the way: of course I use debugger, and in this case I spent a couple of hours using it to find the source of problem. No success, because this "bug", if it is a "bug", is inside Allegro library, and I haven't access to debug information using bunary alleg42.dll. I use compiler and debugger Microsoft Visual Studio .NET 2003 Architect (co MSVC 7.1). |
Elias
Member #358
May 2000
|
Thanks for finding this out. There's this code in Allegro (src/win/wkeybd.c):
So, it looks like NumPad 1 is even specifically tested against. And already some magic is needed for other cases where it would be wrongly detected. Not sure what to do about this new case thoguh. Therefore, my proposed solution for future versions of Allegro would be to remove the Ctrl-Alt-End stuff completely. It was useful in the days of DJGPP, as DOS provided no way to kill a running program, but today this is completely useless as each OS has a task manager where you can kill the program. -- |
|