X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e421922f90186d0619a806d277a0a2182e61b5fb..491b5be8305968871bc289453ed088a70c3de044:/src/html/htmlwin.cpp diff --git a/src/html/htmlwin.cpp b/src/html/htmlwin.cpp index 9db304ff22..30164dc55d 100644 --- a/src/html/htmlwin.cpp +++ b/src/html/htmlwin.cpp @@ -23,15 +23,18 @@ #endif #ifndef WXPRECOMP -#include "wx/wx.h" + #include "wx/log.h" + #include "wx/intl.h" + #include "wx/dcclient.h" + #include "wx/frame.h" #endif #include "wx/html/htmlwin.h" #include "wx/html/forcelnk.h" #include "wx/html/htmlproc.h" -#include "wx/log.h" -#include "wx/arrimpl.cpp" #include "wx/list.h" + +#include "wx/arrimpl.cpp" #include "wx/listimpl.cpp" //----------------------------------------------------------------------------- @@ -306,10 +309,15 @@ bool wxHtmlWindow::LoadPage(const wxString& location) { int c = m_History->GetCount() - (m_HistoryPos + 1); - m_HistoryPos++; - for (int i = 0; i < c; i++) - m_History->Remove(m_HistoryPos); - m_History->Add(new wxHtmlHistoryItem(m_OpenedPage, m_OpenedAnchor)); + if (m_HistoryPos < 0 || + (*m_History)[m_HistoryPos].GetPage() != m_OpenedPage || + (*m_History)[m_HistoryPos].GetAnchor() != m_OpenedAnchor) + { + m_HistoryPos++; + for (int i = 0; i < c; i++) + m_History->RemoveAt(m_HistoryPos); + m_History->Add(new wxHtmlHistoryItem(m_OpenedPage, m_OpenedAnchor)); + } } if (m_OpenedPageTitle == wxEmptyString)