Kleiner Bugfix in der channellist.cpp

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
SnowHead
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Sonntag 6. Juni 2004, 16:04

Kleiner Bugfix in der channellist.cpp

Beitrag von SnowHead »

Hi,

ich hatte bisher immer an meiner Fernbedienung oder Feinmotorik gezweifelt, wenn beim Blättern in der Kanalliste die letzte Seite häufig übersprungen wurde. Irgendwann hatte ich mir das mal genauer angeschaut und festgestellt, daß das reproduzierbar auftrat, wenn der Select-Balken auf der vorletzten Seite tiefer stand, als noch Einträge auf der letzten Seite übrig waren. Ein Blick in die Quellen bestätigte diese Feststellung. Mit der folgenden Änderung wird die letzte Seite in diesem Fall nicht mehr übersprungen:

Code: Alles auswählen

diff -uNr ../cvs/apps/tuxbox/neutrino/src/gui/channellist.cpp ./apps/tuxbox/neutrino/src/gui/channellist.cpp
--- ../cvs/apps/tuxbox/neutrino/src/gui/channellist.cpp	2009-02-12 16:33:50.000000000 +0100
+++ ./apps/tuxbox/neutrino/src/gui/channellist.cpp	2009-02-27 19:07:41.000000000 +0100
@@ -1,7 +1,7 @@
 /*
 	Neutrino-GUI  -   DBoxII-Project
 
-	$Id: channellist.cpp,v 1.206 2009/02/06 21:29:21 rhabarber1848 Exp $
+	$Id: channellist.cpp,v 1.207 2009/02/27 19:07:41 Exp $
 	
 	Copyright (C) 2001 Steffen Hehn 'McClean'
 	Homepage: http://dbox.cyberphoria.org/
@@ -327,7 +327,7 @@
 			selected += step;
 
 			if(selected >= chanlist.size())
-				selected = 0;
+				selected = (step==listmaxshow)?(chanlist.size()-1):0;
 
 			paintItem(prev_selected - liststart);
 			unsigned int oldliststart = liststart;
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von Striper »

Is mir bisher nie aufgefallen. Aber trotzdem schon mal Danke. Werds demnächst mal testen.
SnowHead
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Sonntag 6. Juni 2004, 16:04

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von SnowHead »

Hmm, das Gelbe war das aber auch noch nicht. Man kann von der letzten Seite nicht mehr wegblättern.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von rhabarber1848 »

Das Verhalten kann ich bestätigen, die letzte Seite
der Kanalliste eines Bouquets hat bei mir zwei Einträge,
wenn ich auf der vorletzten Seite stehe und volume +
drücke, kommt die erste statt der letzten Seite des
Bouquets, sofern der Auswahlbalken auf der vorletzten
Seite auf dem dritten oder einem höheren Eintrag steht.
SnowHead
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Sonntag 6. Juni 2004, 16:04

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von SnowHead »

Kann leider selbst nicht testen, aber theoretisch sollte es mit der Zeile

Code: Alles auswählen

selected = ((step==listmaxshow)&&(selected<(((chanlist.size()/listmaxshow)+1)*listmaxshow)))?(chanlist.size()-1):0;
funktionieren. Zugegebenermassen etwas verquer, aber ein einfacherer Test fiel mir nicht ein.
Zuletzt geändert von SnowHead am Samstag 28. Februar 2009, 19:49, insgesamt 1-mal geändert.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von GetAway »

Funktioniert, könnte somit comitted werden. :)
MTM
Foren-Moderator
Beiträge: 944
Registriert: Freitag 21. Januar 2005, 16:18

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von MTM »

Hallo,
mich störte das eigentlich auch immer schon. Das gleiche komische Verhalten ist übrigens auch in dem EPG zu finden (Rot, Rot), könnte auch dort gefixt werden. :D

MfG,
MTM.
SnowHead
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Sonntag 6. Juni 2004, 16:04

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von SnowHead »

Da GetAway den vorherigen Fix dankenswerterweise erfolgreich getestet hat, sollte sich der von MTM gemeldete Bug in der eventlist.cpp so fixen lassen:

Code: Alles auswählen

diff -uNr ../cvs/apps/tuxbox/neutrino/src/gui/eventlist.cpp ./apps/tuxbox/neutrino/src/gui/eventlist.cpp
--- ../cvs/apps/tuxbox/neutrino/src/gui/eventlist.cpp	2009-01-05 17:40:04.000000000 +0100
+++ ./apps/tuxbox/neutrino/src/gui/eventlist.cpp	2009-02-28 18:39:13.000000000 +0100
@@ -1,5 +1,5 @@
 /*
-	$Id: eventlist.cpp,v 1.118 2008/12/05 22:06:19 seife Exp $
+	$Id: eventlist.cpp,v 1.119 2009/02/28 18:39:13 Exp $
 
 	Neutrino-GUI  -   DBoxII-Project
 
@@ -337,7 +337,7 @@
 			selected += step;
 
 			if(selected >= evtlist.size())
-				selected = 0;
+				selected = ((step==listmaxshow)&&(selected<(((evtlist.size()/listmaxshow)+1)*listmaxshow)))?(evtlist.size()-1):0;
 
 			paintItem(prev_selected - liststart);
 			unsigned int oldliststart = liststart;
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Kleiner Bugfix in der channellist.cpp

Beitrag von rhabarber1848 »

Beide Patches sind im CVS