@@ -162,7 +162,7 @@ void Runtime::debugStart(TextEditInput *editWidget, const char *file) {
162162
163163 if (g_debugee != -1 ) {
164164 net_print (g_debugee, " l\n " );
165- open = net_input (g_debugee, buf, sizeof (buf), " \r\ n " ) > 0 ;
165+ open = net_input (g_debugee, buf, sizeof (buf), " \n " ) > 0 ;
166166 } else {
167167 open = false ;
168168 }
@@ -175,7 +175,7 @@ void Runtime::debugStart(TextEditInput *editWidget, const char *file) {
175175 g_debugee = net_connect (" localhost" , g_debugPort);
176176 if (g_debugee != -1 ) {
177177 net_print (g_debugee, " l\n " );
178- size = net_input (g_debugee, buf, sizeof (buf), " \r\ n " );
178+ size = net_input (g_debugee, buf, sizeof (buf), " \n " );
179179 if (size > 0 ) {
180180 editWidget->gotoLine (buf);
181181 appLog (" Debug session ready" );
@@ -194,14 +194,21 @@ void Runtime::debugStep(TextEditInput *edit, TextEditHelpWidget *help, bool cont
194194 int size;
195195 net_print (g_debugee, cont ? " c\n " : " n\n " );
196196 net_print (g_debugee, " l\n " );
197- size = net_input (g_debugee, buf, sizeof (buf), " \r\ n " );
197+ size = net_input (g_debugee, buf, sizeof (buf), " \n " );
198198 if (size > 0 ) {
199199 edit->gotoLine (buf);
200200 net_print (g_debugee, " v\n " );
201- size = net_input (g_debugee, buf, sizeof (buf), " \1 " );
202- if (size > 0 ) {
203- help->reload (buf);
204- }
201+ help->reload (NULL );
202+ do {
203+ size = net_input (g_debugee, buf, sizeof (buf), " \1\n " );
204+ if (buf[0 ] == ' \1 ' ) {
205+ break ;
206+ }
207+ if (size > 0 ) {
208+ help->append (buf, size);
209+ help->append (" \n " , 1 );
210+ }
211+ } while (size > 0 );
205212 }
206213 }
207214}
@@ -630,7 +637,7 @@ void Runtime::optionsBox(StringList *items) {
630637 }
631638
632639 _output->redraw ();
633- while (selectedIndex == -1 ) {
640+ while (selectedIndex == -1 && ! isClosing () ) {
634641 MAEvent ev = processEvents (true );
635642 if (ev.type == EVENT_TYPE_KEY_PRESSED &&
636643 ev.key == 27 ) {
0 commit comments