Hallo,
ist mir grad beim Testen aufgefallen:
Wenn, während virtual Zap aktiv ist (virtual zap infobar eingeblendet, nicht selektiert) ein Kanallistenupdate vom sectionsd kommt, dann segfaulted neutrino spätestens wenn virtual Zap beendet wird.
Ablauf:
- Kanallistenupdate triggert einen NeutrinoMessages::EVT_BOUQUETSCHANGED in neutrino.cpp
- daraufhin wird channelsInit() aufgerufen
- das macht dann delete channelListTV, füllt channelListTV neu und macht "channelList = channelListTv".
- damit ist die alte CNeutrinoApp::getInstance()->channelList->virtual_zap_mode() aus infoviewer.cpp:showTitle() nicht mehr gültig und es fliegt einem alles um die Ohren.
Ausser ein paar ganz doofen hacks ist mir dazu nichts eingefallen, man müsste wohl den destruktor von CChannelList so aufbohren, dass er den virtual_zap_mode ordentlich mit aufräumt.
Mag sich das ein C++-Spezi mal anschauen, mein C++ ist dafür zu schwach (und ausserdem benutze ich virtualZap nicht mal )
VirtualZap -> Kanallistenupdate -> segfault
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: VirtualZap -> Kanallistenupdate -> segfault
Das erklärt zumindest einige Abstürze, die ich, allerdings sehr selten, mit Neutrino hatte.seife hat geschrieben:dann segfaulted neutrino spätestens wenn virtual Zap beendet wird.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: VirtualZap -> Kanallistenupdate -> segfault
Vermutlich kann das auch nicht nur mit kanallistenupdates getriggert werden, sondern wohl auch anders, halt alles, was die channellist updated während virtualzap aktiv ist. Mir ist es halt nach einem kanallistenupdate aufgefallen.