Sliver
Still Fresh
Hi
nachdem mein erster Snake Clone fertig ist, wollte ich mich mal an nem größerem GP2X Programm versuchen
Das ganze soll mal ein Filemanager werden oder irgendwas in die Richtung; um es für den User übersichtlicher zu machen wird es Fenster geben. Das funktioniert teilweise auch schon - aber nur unter Windows, der GP2X scheint sich aufzuhängen...
Jetzt meine erste Frage: Wie kann man das anständig debuggen? Ich hab mich bisher immer Zeile für Zeile vorwärts getastet und den Cursor ausgeschaltet. Aber das ist ja auf Dauer nicht wirklich praktikabel.
Und die 2. Frage: Das Problem liegt so wies aussieht beim Rendern der Fenster. Der Code dafür:
Wie man sieht hat jedes Fenster einen vector mit Pointern auf die Child Fenster. Was ich jetzt mache ist durch diesen vector zu gehen und alle Child Windows ebenfalls zu rendern und dabei gibts wohl ne Endlosschleife oder was änhliches.
Ein einfacher Bug kann das eigentlich nicht sein, weil es ja unter Win läuft...
nachdem mein erster Snake Clone fertig ist, wollte ich mich mal an nem größerem GP2X Programm versuchen
Das ganze soll mal ein Filemanager werden oder irgendwas in die Richtung; um es für den User übersichtlicher zu machen wird es Fenster geben. Das funktioniert teilweise auch schon - aber nur unter Windows, der GP2X scheint sich aufzuhängen...
Jetzt meine erste Frage: Wie kann man das anständig debuggen? Ich hab mich bisher immer Zeile für Zeile vorwärts getastet und den Cursor ausgeschaltet. Aber das ist ja auf Dauer nicht wirklich praktikabel.
Und die 2. Frage: Das Problem liegt so wies aussieht beim Rendern der Fenster. Der Code dafür:
Code:
<i>
</i>void CWindow::redraw(SDL_Surface *screen)
{
// ...
// Das Rendern selbst funktioniert noch...
// Redraw all childs
for(unsigned int i=0;i<m_pChilds.size();i++)
{
if(m_pChilds.at(i))
m_pChilds.at(i)->redraw(screen);
}
}
Ein einfacher Bug kann das eigentlich nicht sein, weil es ja unter Win läuft...