Error messages while scanning are drawn on top of the text menu

2013-04-22
2013-04-22
  • Joe van Tunen
    Joe van Tunen
    2013-04-22

    I have several error messages while scanning disks. See https://sourceforge.net/p/refind/discussion/general/thread/0b2a41ff/

    There's a few problems with this; probably only the last one listed here can be fixed easily:

    1) I don't see the "Hit any key to continue " message or the errors when booting for the first time either in graphics or text mode. The issue with text mode might be because I was using textmode in the conf file (a different bug see https://sourceforge.net/p/refind/discussion/general/thread/cee082bf/ ).

    2) If the text display is n lines tall, sometimes the "any key" message appears after less than or more than n lines have scrolled. Usually less than when the text mode is 80,50 and usually more than when the text mode is 80,24. Some of the lines wrap around if they are longer than 80 characters. This might be impossible to fix unless you can override the Print command that the rEFInd HFS driver uses to print its "corrupted node" message.

    3) There is no "any key" message after the first one even if there are several more lines of errors. I think if there were any errors that would cause the "any key" message to appear, then the "any key" message should appear again even if there was one line of errors, before the text is cleared to return to the menu screen. Actually, these extra lines are just "corrupted node" errors that rEFInd can't keep track of unless it inspects the contents of the text screen or overrides the Print command that the HFS driver uses so this probably can't be fixed.

    4) Pressing Escape to rescan disks causes the same errors except in text mode, the errors are colored green (the color of the last 2 lines of the menu screen) until there's an explicit color change to yellow for different errors. The error lines will be hilighted if the last key you pressed causes the currently selected menu item to change. I think the simplest way to fix this is to set the cursor position to beyond the bottom right corner (or if that's not possible then clear the bottom line and set the position to the bottom line), and set the text color to standard when the user presses Escape so that any errors that occur while scanning are printed correctly.