X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/518b5d2ffbaf7422195537a5512e791be4497591..78bd7ed38ccdfdd5f2cf6cf77089046b9e3993b5:/src/motif/utils.cpp?ds=sidebyside diff --git a/src/motif/utils.cpp b/src/motif/utils.cpp index e981f6e89d..41679869cc 100644 --- a/src/motif/utils.cpp +++ b/src/motif/utils.cpp @@ -22,6 +22,7 @@ #include "wx/app.h" #include "wx/msgdlg.h" #include "wx/cursor.h" +#include "wx/window.h" // for wxTopLevelWindows #include #include @@ -42,6 +43,8 @@ #include +#include "wx/unix/execute.h" + #include "wx/motif/private.h" // ---------------------------------------------------------------------------- @@ -58,8 +61,6 @@ static char *GetIniFile (char *dest, const char *filename); -extern wxList wxTopLevelWindows; - // ============================================================================ // implementation // ============================================================================ @@ -74,7 +75,7 @@ void wxFlushEvents() Display *display = (Display*) wxGetDisplay(); XSync (display, FALSE); - XEvent event; + // XtAppPending returns availability of events AND timers/inputs, which // are processed via callbacks, so XtAppNextEvent will not return if // there are no events. So added '& XtIMXEvent' - Sergey. @@ -122,7 +123,7 @@ bool wxCheckForInterrupt(wxWindow *wnd) // wxExecute stuff // ---------------------------------------------------------------------------- -static void xt_notify_end_process(XtPointer client, int *fid, +static void xt_notify_end_process(XtPointer data, int *fid, XtInputId *id) { wxEndProcessData *proc_data = (wxEndProcessData *)data; @@ -141,7 +142,7 @@ int wxAddProcessCallback(wxEndProcessData *proc_data, int fd) fd, (XtPointer *) XtInputReadMask, (XtInputCallbackProc) xt_notify_end_process, - (XtPointer) process_data); + (XtPointer) proc_data); return (int)id; } @@ -461,11 +462,9 @@ void wxXMergeDatabases (wxApp * theApp, Display * display) size_t len; environment = GetIniFile (filename, NULL); len = strlen (environment); -#if defined(__SOLARIS__) || defined(__SVR4__) && !defined(__HPUX__) - (void) sysinfo (SI_HOSTNAME, environment + len, 1024 - len); -#else - (void) gethostname (environment + len, 1024 - len); -#endif + wxString hostname = wxGetHostName(); + if ( !!hostname ) + strncat(environment, hostname, 1024 - len); } homeDB = XrmGetFileDatabase (environment); XrmMergeDatabases (homeDB, &wxResourceDatabase); @@ -542,8 +541,8 @@ wxXSetBusyCursor (wxWindow * win, wxCursor * cursor) else { // Restore old cursor - if (win->GetCursor()->Ok()) - attrs.cursor = (Cursor) win->GetCursor()->GetXCursor(display); + if (win->GetCursor().Ok()) + attrs.cursor = (Cursor) win->GetCursor().GetXCursor(display); else attrs.cursor = None; }