const wxString topic = connection->m_topic;
wxString item;
- switch ( const int msg = streams->Read8() )
+ bool error = false;
+
+ const int msg = streams->Read8();
+ switch ( msg )
{
case IPC_EXECUTE:
{
wxIPCFormat format;
- size_t size;
+ size_t size wxDUMMY_INITIALIZE(0);
void * const
data = streams->ReadFormatData(connection, &format, &size);
-
- connection->OnExecute(topic, data, size, format);
+ if ( data )
+ connection->OnExecute(topic, data, size, format);
+ else
+ error = true;
}
break;
item = streams->ReadString();
wxIPCFormat format;
- size_t size;
+ size_t size wxDUMMY_INITIALIZE(0);
void * const
data = streams->ReadFormatData(connection, &format, &size);
- connection->OnAdvise(topic, item, data, size, format);
+ if ( data )
+ connection->OnAdvise(topic, item, data, size, format);
+ else
+ error = true;
}
break;
item = streams->ReadString();
wxIPCFormat format = (wxIPCFormat)streams->Read8();
- size_t size;
+ size_t size wxDUMMY_INITIALIZE(0);
void * const data = streams->ReadData(connection, &size);
- connection->OnPoke(topic, item, data, size, format);
+ if ( data )
+ connection->OnPoke(topic, item, data, size, format);
+ else
+ error = true;
}
break;
default:
wxLogDebug("Unknown message code %d received.", msg);
- IPCOutput(streams).Write8(IPC_FAIL);
+ error = true;
break;
}
+
+ if ( error )
+ IPCOutput(streams).Write8(IPC_FAIL);
}
void wxTCPEventHandler::Server_OnRequest(wxSocketEvent &event)