X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b7ba00e77a3f69941d6a2050e67bdfff38b3238e..3b2f109dbbea2847114c62315676eed7a3986dbc:/src/generic/busyinfo.cpp diff --git a/src/generic/busyinfo.cpp b/src/generic/busyinfo.cpp index e11108364a..26c875b43a 100644 --- a/src/generic/busyinfo.cpp +++ b/src/generic/busyinfo.cpp @@ -17,6 +17,7 @@ // for all others, include the necessary headers #ifndef WX_PRECOMP + #include "wx/frame.h" #include "wx/stattext.h" #include "wx/panel.h" #include "wx/utils.h" @@ -38,7 +39,7 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message) : wxFrame(parent, wxID_ANY, wxT("Busy"), wxDefaultPosition, wxDefaultSize, #if defined(__WXX11__) - wxTHICK_FRAME + wxRESIZE_BORDER #else wxSIMPLE_BORDER #endif @@ -114,9 +115,23 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message) wxBusyInfo::wxBusyInfo(const wxString& message, wxWindow *parent) { m_InfoFrame = new wxInfoFrame( parent, message); + if ( parent && parent->HasFlag(wxSTAY_ON_TOP) ) + { + // we must have this flag to be in front of our parent if it has it + m_InfoFrame->SetWindowStyleFlag(wxSTAY_ON_TOP); + } + m_InfoFrame->Show(true); m_InfoFrame->Refresh(); m_InfoFrame->Update(); + +#ifdef __WXGTK20__ + // FIXME: this is pretty bad, as any call to Yield(), but without it, the + // static text is never shown and neither gdk_display_flush() nor + // gdk_display_sync() nor gdk_window_process_updates() helps + wxMilliSleep(100); + wxYield(); +#endif } wxBusyInfo::~wxBusyInfo()