Skip to content

Commit 34be01d

Browse files
committed
Reset the pager in case the current page does not exist anymore. Closes #64
1 parent d61d5a6 commit 34be01d

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

include/pager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ class Pager : public wxEvtHandler {
8484
/// @return page number
8585
const int GetCurrentPage() { return m_current_page; }
8686

87+
/// Reset currently displayed page number
88+
void ResetCurrentPage() { SetCurrentPage(*m_pages.begin()); }
89+
8790
/// Adds a page
8891
/// @param pg Page number
8992
void AddPage(const int pg) { m_pages.insert(pg); }

src/dashboardsk.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,20 @@ void DashboardSK::Draw(dskDC* dc, PlugIn_ViewPort* vp, int canvasIndex)
6060
}
6161
m_displayed_pages[canvasIndex]->Draw(dc, vp, canvasIndex);
6262
Dashboard::ClearOffsets();
63+
bool drawn = false;
6364
for (auto dashboard : m_dashboards) {
6465
if (!m_frozen
6566
&& m_displayed_pages[canvasIndex]->GetCurrentPage()
6667
== dashboard->GetPageNr()) {
6768
dashboard->Draw(dc, vp, canvasIndex);
69+
drawn = true;
6870
} else {
6971
dashboard->ProcessData();
7072
}
7173
}
74+
if (!drawn) {
75+
m_displayed_pages[canvasIndex]->ResetCurrentPage();
76+
}
7277
}
7378

7479
void DashboardSK::ReadConfig(wxJSONValue& config)

0 commit comments

Comments
 (0)