// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "statbar.h"
#endif
{
if(m_statusTextStacks[i])
{
- m_statusTextStacks[i]->Clear();
+ wxListString& t = *m_statusTextStacks[i];
+ WX_CLEAR_LIST(wxListString, t);
delete m_statusTextStacks[i];
}
}
void wxStatusBarBase::PushStatusText(const wxString& text, int number)
{
wxListString* st = GetOrCreateStatusStack(number);
- st->Insert(new wxString(GetStatusText(number)));
+ // This long-winded way around avoids an internal compiler error
+ // in VC++ 6 with RTTI enabled
+ wxString tmp1(GetStatusText(number));
+ wxString* tmp = new wxString(tmp1);
+ st->Insert(tmp);
SetStatusText(text, number);
}
{
wxListString *st = GetStatusStack(number);
wxCHECK_RET( st, _T("Unbalanced PushStatusText/PopStatusText") );
- wxListString::Node *top = st->GetFirst();
+ wxListString::compatibility_iterator top = st->GetFirst();
SetStatusText(*top->GetData(), number);
- st->DeleteNode(top);
+ delete top->GetData();
+ st->Erase(top);
if(st->GetCount() == 0)
{
delete st;
if(!m_statusTextStacks[i])
{
m_statusTextStacks[i] = new wxListString();
- m_statusTextStacks[i]->DeleteContents(TRUE);
}
return m_statusTextStacks[i];