Browse Source

Cleanup of debug stop marks

merge-requests/365/head
eidheim 10 years ago
parent
commit
658adaaf79
  1. 17
      src/project.cc
  2. 8
      src/window.cc

17
src/project.cc

@ -82,14 +82,17 @@ void Project::debug_update_status(const std::string &debug_status) {
} }
void Project::debug_update_stop() { void Project::debug_update_stop() {
for(size_t c=0;c<Notebook::get().size();c++) { if(!debug_last_stop_file_path.empty()) {
auto view=Notebook::get().get_view(c); for(size_t c=0;c<Notebook::get().size();c++) {
if(view->file_path==debug_last_stop_file_path) { auto view=Notebook::get().get_view(c);
view->get_source_buffer()->remove_source_marks(view->get_buffer()->begin(), view->get_buffer()->end(), "debug_stop"); if(view->file_path==debug_last_stop_file_path) {
break; view->get_source_buffer()->remove_source_marks(view->get_buffer()->begin(), view->get_buffer()->end(), "debug_stop");
break;
}
} }
} }
//Add debug stop source mark //Add debug stop source mark
debug_last_stop_file_path.clear();
for(size_t c=0;c<Notebook::get().size();c++) { for(size_t c=0;c<Notebook::get().size();c++) {
auto view=Notebook::get().get_view(c); auto view=Notebook::get().get_view(c);
if(view->file_path==debug_stop.first) { if(view->file_path==debug_stop.first) {
@ -100,8 +103,6 @@ void Project::debug_update_stop() {
break; break;
} }
} }
if(auto view=Notebook::get().get_current_view())
view->get_buffer()->place_cursor(view->get_buffer()->get_insert()->get_iter());
} }
std::unique_ptr<Project::Base> Project::create() { std::unique_ptr<Project::Base> Project::create() {
@ -326,6 +327,8 @@ void Project::Clang::debug_start() {
Project::debug_stop.second.second=line_index; Project::debug_stop.second.second=line_index;
debug_update_stop(); debug_update_stop();
if(auto view=Notebook::get().get_current_view())
view->get_buffer()->place_cursor(view->get_buffer()->get_insert()->get_iter());
}); });
}); });
} }

8
src/window.cc

@ -127,11 +127,8 @@ Window::Window() {
view->set_info(view->info); view->set_info(view->info);
#ifdef JUCI_ENABLE_DEBUG #ifdef JUCI_ENABLE_DEBUG
if(Project::debugging) { if(Project::debugging)
if(view->file_path==Project::debug_stop.first && Project::debug_update_stop();
Project::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(Project::debug_stop.second.first-1));
}
#endif #endif
} }
}; };
@ -785,7 +782,6 @@ void Window::set_menu_actions() {
int index=Project::debug_stop.second.second-1; int index=Project::debug_stop.second.second-1;
view->place_cursor_at_line_index(line, index); view->place_cursor_at_line_index(line, index);
view->scroll_to_cursor_delayed(view, true, true); view->scroll_to_cursor_delayed(view, true, true);
Project::debug_update_stop();
} }
} }
} }

Loading…
Cancel
Save