X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f4a0c5be34be837210768501c13dbcff81e533c..be1023d508a5b3270893152d737bcd6f1980827b:/src/common/utilscmn.cpp?ds=sidebyside diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index 57fcf3bd32..be9df90d2f 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -748,6 +748,27 @@ whereami(name) #endif + +// Yield to other apps/messages and disable user input +bool wxSafeYield(wxWindow *win) +{ + wxNode *node; + for ( node = wxTopLevelWindows.GetFirst(); + node; + node = node->GetNext() ) + ((wxWindow*)node->GetData())->Enable(FALSE); + + // always enable ourselves + if(win) win->Enable(true); + bool rc = wxYield(); + + for ( node = wxTopLevelWindows.GetFirst(); + node; + node = node->GetNext() ) + ((wxWindow*)node->GetData())->Enable(TRUE); + return rc; +} + /* * N.B. these convenience functions must be separate from msgdlgg.cpp, textdlgg.cpp * since otherwise the generic code may be pulled in unnecessarily. @@ -801,19 +822,6 @@ int isascii( int c ) } #endif -// Overloaded functions, taking a wxString -bool wxGetHostName(wxString& name) -{ - bool success = wxGetHostName(wxBuffer, 500); - if (success) - { - name = wxBuffer; - return TRUE; - } - else - return FALSE; -} - bool wxGetUserId(wxString& buf) { bool success = wxGetUserId(wxBuffer, 500); @@ -838,3 +846,13 @@ bool wxGetUserName(wxString& buf) return FALSE; } +bool wxGetHostName(wxString& buf) +{ + static const size_t hostnameSize = 257; + bool ok = wxGetHostName(buf.GetWriteBuf(hostnameSize), hostnameSize); + + buf.UngetWriteBuf(); + + return ok; +} +