add sigc disconnect() to destructor, avoid segfault if use new/delete CUpnpBrowserGui in other menu

This commit is contained in:
Jacek Jendrzej
2020-01-24 15:18:22 +01:00
parent a6ac57109b
commit 75ac2d660d

View File

@@ -80,8 +80,8 @@ CUpnpBrowserGui::CUpnpBrowserGui()
image = NULL; image = NULL;
sigc::slot0<void> reinit = sigc::mem_fun(this, &CUpnpBrowserGui::Init); sigc::slot0<void> reinit = sigc::mem_fun(this, &CUpnpBrowserGui::Init);
CNeutrinoApp::getInstance()->OnAfterSetupFonts.connect(reinit); sigFonts = CNeutrinoApp::getInstance()->OnAfterSetupFonts.connect(reinit);
CFrameBuffer::getInstance()->OnAfterSetPallette.connect(reinit); sigPall = CFrameBuffer::getInstance()->OnAfterSetPallette.connect(reinit);
} }
void CUpnpBrowserGui::Init() void CUpnpBrowserGui::Init()
@@ -161,12 +161,16 @@ void CUpnpBrowserGui::Init()
CUpnpBrowserGui::~CUpnpBrowserGui() CUpnpBrowserGui::~CUpnpBrowserGui()
{ {
sigFonts.disconnect();
sigPall.disconnect();
delete m_socket; delete m_socket;
if (dline){ if (dline){
delete dline; dline = NULL; delete dline; dline = NULL;
} }
if (image) if (image){
delete image, image = NULL; delete image, image = NULL;
}
} }
int CUpnpBrowserGui::exec(CMenuTarget* parent, const std::string & /*actionKey*/) int CUpnpBrowserGui::exec(CMenuTarget* parent, const std::string & /*actionKey*/)