X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3851e4791876cf3ccfb52101923e901f7c97c200..aa99e0cd2242db04fe1f9bb7d91aea545def2422:/src/gtk/frame.cpp?ds=sidebyside diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 45d8071cdc..afe3ebd900 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -150,7 +150,7 @@ static void gtk_toolbar_detached_callback( GtkWidget *WXUNUSED(widget), GtkWidge /* Callback for wxFrame. This very strange beast has to be used because * C++ has no virtual methods in a constructor. We have to emulate a - * virtual function here as wxWindows requires different ways to insert + * virtual function here as wxWidgets requires different ways to insert * a child in container classes. */ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child ) @@ -520,7 +520,20 @@ void wxFrame::OnInternalIdle() if (m_frameToolBar) m_frameToolBar->OnInternalIdle(); #endif #if wxUSE_STATUSBAR - if (m_frameStatusBar) m_frameStatusBar->OnInternalIdle(); + if (m_frameStatusBar) + { + m_frameStatusBar->OnInternalIdle(); + + // There may be controls in the status bar that + // need to be updated + for ( wxWindowList::compatibility_iterator node = m_frameStatusBar->GetChildren().GetFirst(); + node; + node = node->GetNext() ) + { + wxWindow *child = node->GetData(); + child->OnInternalIdle(); + } + } #endif } @@ -681,7 +694,7 @@ void wxFrame::SetStatusBar(wxStatusBar *statbar) wxFrameBase::SetStatusBar(statbar); - if (hadStatBar && !m_frameToolBar) + if (hadStatBar && !m_frameStatusBar) GtkUpdateSize(); }