mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-30 00:41:17 +02:00
CChannelList: fix "prev bouquet" if empty bouquets are present
also do proper wrap-around when selecting previous / next bouquet
This commit is contained in:
@@ -757,12 +757,13 @@ int CChannelList::show()
|
|||||||
if (!bouquetList->Bouquets.empty()) {
|
if (!bouquetList->Bouquets.empty()) {
|
||||||
bool found = true;
|
bool found = true;
|
||||||
int dir = msg == (neutrino_msg_t)g_settings.key_bouquet_up ? 1 : -1;
|
int dir = msg == (neutrino_msg_t)g_settings.key_bouquet_up ? 1 : -1;
|
||||||
int b_size = bouquetList->Bouquets.size();
|
int b_size = bouquetList->Bouquets.size(); /* bigger than 0 */
|
||||||
int nNext = (bouquetList->getActiveBouquetNumber() + b_size + dir) % b_size;
|
int nNext = (bouquetList->getActiveBouquetNumber() + b_size + dir) % b_size;
|
||||||
if(bouquetList->Bouquets[nNext]->channelList->isEmpty() ) {
|
if(bouquetList->Bouquets[nNext]->channelList->isEmpty() ) {
|
||||||
found = false;
|
found = false;
|
||||||
|
int n_old = nNext;
|
||||||
nNext = (nNext + b_size + dir) % b_size;
|
nNext = (nNext + b_size + dir) % b_size;
|
||||||
for (int i = nNext; i < b_size; i++) {
|
for (int i = nNext; i != n_old; i = (i + b_size + dir) % b_size) {
|
||||||
if( !bouquetList->Bouquets[i]->channelList->isEmpty() ) {
|
if( !bouquetList->Bouquets[i]->channelList->isEmpty() ) {
|
||||||
found = true;
|
found = true;
|
||||||
nNext = i;
|
nNext = i;
|
||||||
|
Reference in New Issue
Block a user