diff --git a/src/gui/upnpbrowser.cpp b/src/gui/upnpbrowser.cpp index c21a6e4e2..d38eb3b78 100644 --- a/src/gui/upnpbrowser.cpp +++ b/src/gui/upnpbrowser.cpp @@ -505,7 +505,7 @@ void CUpnpBrowserGui::selectDevice() int step = ((int) msg == g_settings.key_pagedown) ? m_listmaxshow : 1; // browse or step 1 int new_selected = m_selecteddevice + step; if (new_selected >= (int) m_devices.size()) { - if ((m_devices.size() - m_listmaxshow -1 < m_selecteddevice) && (m_selecteddevice != (m_devices.size() - 1)) && (step != 1)) + if (((m_devices.size() - m_listmaxshow -1 < m_selecteddevice) && (step != 1)) || (m_selecteddevice != (m_devices.size() - 1))) new_selected = m_devices.size() - 1; else if (((m_devices.size() / m_listmaxshow) + 1) * m_listmaxshow == m_devices.size() + m_listmaxshow) // last page has full entries new_selected = 0; diff --git a/src/gui/widget/listbox.cpp b/src/gui/widget/listbox.cpp index de94267d0..e5fc17a1c 100644 --- a/src/gui/widget/listbox.cpp +++ b/src/gui/widget/listbox.cpp @@ -209,7 +209,7 @@ int CListBox::exec(CMenuTarget* parent, const std::string & /*actionKey*/) int step = ((int) msg == g_settings.key_pagedown) ? listmaxshow : 1; // browse or step 1 int new_selected = selected + step; if (new_selected >= (int) getItemCount()) { - if ((getItemCount() - listmaxshow -1 < selected) && (selected != (getItemCount() - 1)) && (step != 1)) + if (((getItemCount() - listmaxshow -1 < selected) && (step != 1)) || (selected != (getItemCount() - 1))) new_selected = getItemCount() - 1; else if (((getItemCount() / listmaxshow) + 1) * listmaxshow == getItemCount() + listmaxshow) // last page has full entries new_selected = 0;