rendered paste bodyIndex: libs/libmyth/mythcontext.cpp===================================================================--- libs/libmyth/mythcontext.cpp (revision 23660)+++ libs/libmyth/mythcontext.cpp (working copy)@@ -274,16 +274,16 @@ { DeleteUPnP(); QMutexLocker locker(&sockLock);+ if (eventSock)+ {+ eventSock->DownRef();+ eventSock = NULL;+ } if (serverSock) { serverSock->DownRef(); serverSock = NULL; }- if (eventSock)- {- eventSock->DownRef();- eventSock = NULL;- } if (m_database) DestroyMythDB(); if (m_ui)Index: libs/libmythdb/mythsocketthread.cpp===================================================================--- libs/libmythdb/mythsocketthread.cpp (revision 23660)+++ libs/libmythdb/mythsocketthread.cpp (working copy)@@ -158,7 +158,7 @@ VERBOSE(VB_SOCKET, SLOC(sock) + "socket closed"); sock->close(); }- else if (sock->m_cb)+ else if (sock->m_cb && sock->GetRefCount() > 0) { sock->m_notifyread = true; VERBOSE(VB_SOCKET, SLOC(sock) + "calling m_cb->readyRead()");Index: libs/libmythdb/mythsocket.h===================================================================--- libs/libmythdb/mythsocket.h (revision 23660)+++ libs/libmythdb/mythsocket.h (working copy)@@ -33,6 +33,7 @@ void UpRef(void); bool DownRef(void);+ int GetRefCount(void) { return m_ref_count; } State state(void); QString stateToString(void) { return stateToString(state()); }