VarManager::VarManager( intf_thread_t *pIntf ): SkinObject( pIntf ),
- m_tooltipText( pIntf ), m_helpText( pIntf, false )
+ m_pTooltipText( NULL ), m_pHelpText( NULL )
{
+ m_pTooltipText = new VarText( pIntf );
+ m_pHelpText = new VarText( pIntf, false );
}
{
m_anonVarList.pop_back();
}
+
+ delete m_pTooltipText;
+
+ // Warning! the help text must be the last variable to be deleted,
+ // because VarText destructor references it (FIXME: find a cleaner way?)
+ delete m_pHelpText;
}
Variable *getVar( const string &rName, const string &rType );
/// Get the tooltip text variable
- VarText &getTooltipText() { return m_tooltipText; }
+ VarText &getTooltipText() { return *m_pTooltipText; }
/// Get the help text variable
- VarText &getHelpText() { return m_helpText; }
+ VarText &getHelpText() { return *m_pHelpText; }
private:
/// Tooltip text
- VarText m_tooltipText;
+ VarText *m_pTooltipText;
/// Help text
- VarText m_helpText;
+ VarText *m_pHelpText;
/// Map of named registered variables
map<string, VariablePtr> m_varMap;
/// List of named registed variables