#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.
}
#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);
return FALSE;
}
+bool wxGetHostName(wxString& buf)
+{
+ static const size_t hostnameSize = 257;
+ bool ok = wxGetHostName(buf.GetWriteBuf(hostnameSize), hostnameSize);
+
+ buf.UngetWriteBuf();
+
+ return ok;
+}
+