Browse Source

Minor fixes to debugging

merge-requests/365/head
eidheim 10 years ago
parent
commit
091324e0ba
  1. 11
      src/window.cc

11
src/window.cc

@ -121,10 +121,7 @@ Window::Window() : compiling(false), debugging(false) {
for(int c=0;c<notebook.size();c++) { for(int c=0;c<notebook.size();c++) {
auto view=notebook.get_view(c); auto view=notebook.get_view(c);
if(view->file_path==debug_last_stop.first) { if(view->file_path==debug_last_stop.first) {
auto start_iter=view->get_buffer()->get_iter_at_line(debug_last_stop.second.first-1); view->get_source_buffer()->remove_source_marks(view->get_buffer()->begin(), view->get_buffer()->end(), "debug_stop");
auto end_iter=start_iter;
while(!end_iter.ends_line() && end_iter.forward_char()) {}
view->get_source_buffer()->remove_source_marks(start_iter, end_iter, "debug_stop");
break; break;
} }
} }
@ -132,8 +129,10 @@ Window::Window() : compiling(false), debugging(false) {
for(int c=0;c<notebook.size();c++) { for(int c=0;c<notebook.size();c++) {
auto view=notebook.get_view(c); auto view=notebook.get_view(c);
if(view->file_path==debug_stop.first) { if(view->file_path==debug_stop.first) {
if(debug_stop.second.first-1<view->get_buffer()->get_line_count()) {
view->get_source_buffer()->create_source_mark("debug_stop", view->get_buffer()->get_iter_at_line(debug_stop.second.first-1)); view->get_source_buffer()->create_source_mark("debug_stop", view->get_buffer()->get_iter_at_line(debug_stop.second.first-1));
debug_last_stop=debug_stop; debug_last_stop=debug_stop;
}
view->get_buffer()->place_cursor(view->get_buffer()->get_insert()->get_iter()); view->get_buffer()->place_cursor(view->get_buffer()->get_insert()->get_iter());
break; break;
} }
@ -811,7 +810,8 @@ void Window::set_menu_actions() {
auto end_line_iter=iter; auto end_line_iter=iter;
while(!iter.ends_line() && iter.forward_char()) {} while(!iter.ends_line() && iter.forward_char()) {}
auto line=view->get_buffer()->get_text(iter, end_line_iter); auto line=view->get_buffer()->get_text(iter, end_line_iter);
if(line_index<line.bytes()) { if(line_index>=line.bytes())
line_index=0;
view->get_buffer()->place_cursor(view->get_buffer()->get_iter_at_line_index(line_nr, line_index)); view->get_buffer()->place_cursor(view->get_buffer()->get_iter_at_line_index(line_nr, line_index));
while(g_main_context_pending(NULL)) while(g_main_context_pending(NULL))
@ -822,7 +822,6 @@ void Window::set_menu_actions() {
} }
} }
} }
}
}); });
#endif #endif

Loading…
Cancel
Save