From 658adaaf79ea106ba825f910b5f2aa98a159e53b Mon Sep 17 00:00:00 2001 From: eidheim Date: Fri, 3 Jun 2016 09:58:21 +0200 Subject: [PATCH] Cleanup of debug stop marks --- src/project.cc | 17 ++++++++++------- src/window.cc | 8 ++------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/project.cc b/src/project.cc index ca817ac..2a31607 100644 --- a/src/project.cc +++ b/src/project.cc @@ -82,14 +82,17 @@ void Project::debug_update_status(const std::string &debug_status) { } void Project::debug_update_stop() { - for(size_t c=0;cfile_path==debug_last_stop_file_path) { - view->get_source_buffer()->remove_source_marks(view->get_buffer()->begin(), view->get_buffer()->end(), "debug_stop"); - break; + if(!debug_last_stop_file_path.empty()) { + for(size_t c=0;cfile_path==debug_last_stop_file_path) { + view->get_source_buffer()->remove_source_marks(view->get_buffer()->begin(), view->get_buffer()->end(), "debug_stop"); + break; + } } } //Add debug stop source mark + debug_last_stop_file_path.clear(); for(size_t c=0;cfile_path==debug_stop.first) { @@ -100,8 +103,6 @@ void Project::debug_update_stop() { 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::create() { @@ -326,6 +327,8 @@ void Project::Clang::debug_start() { Project::debug_stop.second.second=line_index; debug_update_stop(); + if(auto view=Notebook::get().get_current_view()) + view->get_buffer()->place_cursor(view->get_buffer()->get_insert()->get_iter()); }); }); } diff --git a/src/window.cc b/src/window.cc index 26b0051..eb5613a 100644 --- a/src/window.cc +++ b/src/window.cc @@ -127,11 +127,8 @@ Window::Window() { view->set_info(view->info); #ifdef JUCI_ENABLE_DEBUG - if(Project::debugging) { - if(view->file_path==Project::debug_stop.first && - Project::debug_stop.second.first-1get_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)); - } + if(Project::debugging) + Project::debug_update_stop(); #endif } }; @@ -785,7 +782,6 @@ void Window::set_menu_actions() { int index=Project::debug_stop.second.second-1; view->place_cursor_at_line_index(line, index); view->scroll_to_cursor_delayed(view, true, true); - Project::debug_update_stop(); } } }