Menu

#31 Please remove keypress in E_Exit()

v0.50
closed
Qbix
None
2
2012-09-07
2002-08-29
No

(In version 0.50. If fixed in CVS etc, please disregard)

In misc/support.cpp, in function E_Exit(...), the
program will display an
error message and wait for a keypress.

When the application is run fullscreen under X11, it is
not possible to
switch to the console containing the error message. It
is not possible to
press the key, and therefore it is not possible to shut
the dead dosbox
down except by switching to another console, logging in
and destroying the program with kill -9.

If necessary for debugging, consider wrapping the key
wait in a condtional compile so it can be disabled for
'production' use.

Thanks!

Discussion

  • Qbix

    Qbix - 2002-08-29

    Logged In: YES
    user_id=535630

    please try the 0.55 version first as it now exits more
    cleanly than the 0.50 did

     
  • Joseph P Morris

    Joseph P Morris - 2002-08-30

    Logged In: YES
    user_id=28764

    v0.55 behaves exactly the same.
    Under X-windows (or at least XFCE) you have to select the
    console
    which is waiting for the keypress.

    Just removing the fgetc(stdin); statement makes it possible
    to exit the
    program when it is in this state.

    Thanks.

     
  • Zorbid

    Zorbid - 2002-08-31

    Logged In: YES
    user_id=404180

    I have the same problem in XP. WinXP is stuck in the game
    resolution (even if you manage to close the session with the
    keyboard).
    The only way to exit dosbox is random <alt>+<tab> untill
    you find the debug window, to press a key.

    A simple workaround would be to return to windowed mode
    before exiting.

     
  • Qbix

    Qbix - 2002-08-31

    Logged In: YES
    user_id=535630

    the problem is that there may be nice information on the
    debug window or in the dosbox window. (for example it
    crashes when blah blah enters the screen).

    I could resize the screen as zorbid suggested to windowed
    mode. Or I could add a sleep command of a few seconds
    after which it closes itself.

    What would be better according to you ?
    I will ask the other authors for their views of this subject

     
  • Justin Kerk

    Justin Kerk - 2002-09-01

    Logged In: YES
    user_id=134009

    On a related note, I find the message "EXIT:Closed the SDL
    Window / Press ENTER to stop" very annoying, especially if
    I'm running DosBox many times to test things. If you click
    the X, the program should die, period.

     
  • Zorbid

    Zorbid - 2002-09-01

    Logged In: YES
    user_id=404180

    This is why I requested a reset key combo, but the team
    dropped the suggestion.

    Another good thing would be something that kills the game
    and returns to the path where it was before you launched the
    game, so you can test different options untill it works good.

     
  • Qbix

    Qbix - 2002-09-02

    Logged In: YES
    user_id=535630

    Zorbid:
    the feature might actually be implemented. As with the ini
    file we want a setup class which starts all hardware. Then
    it's possible to reset dosbox by stopping all hardware and
    restarting it
    We didn't drop the suggestion... (well it may seem that
    way) but we aren't able to implemented in its current
    design.

    The sdl/error... I will think about. Everything will change
    when that setup class finally exists. So I could fix the
    annoyances but it will only be temporary as everything will
    change.

     
  • Joseph P Morris

    Joseph P Morris - 2002-09-02

    Logged In: YES
    user_id=28764

    I tried to send this yesterday, here it is again:

    > the problem is that there may be nice information on the
    > debug window or in the dosbox window. (for example it
    > crashes when blah blah enters the screen).

    AFAIK, only Windows trashes the console. How about:

    ifdef _WIN32

    fgetc(stdin);

    endif

     
  • Qbix

    Qbix - 2002-09-03

    Logged In: YES
    user_id=535630

    Hmm well,

    I changed the code to switch to windowed mode.

    if it doesn't fix the problems or doesn't work feel free to
    submit another bug saying that this fix doesn't work

     

Log in to post a comment.