diff --git a/src/notebook.cc b/src/notebook.cc index dbac5fa..4c382e9 100644 --- a/src/notebook.cc +++ b/src/notebook.cc @@ -32,7 +32,15 @@ int Notebook::size() { } Source::View* Notebook::get_view(int page) { - return source_views.at(page); + return source_views.at(get_index(page)); +} + +size_t Notebook::get_index(int page) { + for(size_t c=0;c(source_view)) source_clang_view->async_delete(); else delete source_view; - source_views.erase(source_views.begin()+ page); - scrolled_windows.erase(scrolled_windows.begin()+page); - hboxes.erase(hboxes.begin()+page); + source_views.erase(source_views.begin()+index); + scrolled_windows.erase(scrolled_windows.begin()+index); + hboxes.erase(hboxes.begin()+index); } DEBUG("end true"); return true; diff --git a/src/notebook.h b/src/notebook.h index 3c75e0c..68f6d99 100644 --- a/src/notebook.h +++ b/src/notebook.h @@ -14,6 +14,7 @@ class Notebook : public Gtk::Notebook { public: Notebook(Directories &directories); Source::View* get_view(int page); + size_t get_index(int page); int size(); Source::View* get_current_view(); bool close_current_page();