Having some issues with PostMessage(). Application crashes with complaint about calling a pure virtual function; I think it's localized to the message system because (1) the crash does not occur when the PostMessage(...) call is commented, and (2) a breakpoint set on the recipient function never triggers.
Relevant code: * The PostMessage(...) call: (yeah, I know, it's ugly) PostMessage( (Panel *)(gViewPortInterface->FindPanelByName( PANEL_BASE )), new KeyValues( "SetShowPanel", "panel", PANEL_CLASS ) ); * The message handler declared: (in the header file of recipient object) MESSAGE_FUNC_CHARPTR( SetShowPanel, "SetShowPanel", panel ); * A section of relevant code from the implementation: static char *m_szPanelNames[] = { PANEL_CLASS }; void CBaseMenu::SetShowPanel( const char *panel ) { for ( int i = 0; i < sizeof( m_szPanelNames ); i++ ) { if ( Q_strcmp( panel, m_szPanelNames[i] ) ) // No match PostMessage( (Panel *)(gViewPortInterface->FindPanelByName (m_szPanelNames[i] )), new KeyValues( "SetShade", "state", 0 ) ); else PostMessage( (Panel *) (gViewPortInterface->FindPanelByName( m_szPanelNames[i] )), new KeyValues ( "SetShade", "state", 1 ) ); } } --------------- Please excuse the poor formatting. Any obvious problems with the code? Thanks. -- I think poem that never as a I shall see a lovely as binary tree _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders