X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1363811bb6338fb0dad6c16cfa47f46fb1eb3b99..a959b08869abdec7449d49e18cb069e81a3f83e6:/src/motif/utils.cpp diff --git a/src/motif/utils.cpp b/src/motif/utils.cpp index 287774c77b..3827520517 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 @@ -40,7 +41,13 @@ #include #endif +#ifdef __VMS__ +#pragma message disable nosimpint +#endif #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif #include "wx/unix/execute.h" @@ -60,8 +67,6 @@ static char *GetIniFile (char *dest, const char *filename); -extern wxList wxTopLevelWindows; - // ============================================================================ // implementation // ============================================================================ @@ -76,7 +81,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. @@ -124,7 +129,7 @@ bool wxCheckForInterrupt(wxWindow *wnd) // wxExecute stuff // ---------------------------------------------------------------------------- -static void xt_notify_end_process(XtPointer data, int *fid, +static void xt_notify_end_process(XtPointer data, int *WXUNUSED(fid), XtInputId *id) { wxEndProcessData *proc_data = (wxEndProcessData *)data; @@ -463,8 +468,8 @@ void wxXMergeDatabases (wxApp * theApp, Display * display) size_t len; environment = GetIniFile (filename, NULL); len = strlen (environment); - wxString hostname; - if ( wxGetHostName(hostname) ) + wxString hostname = wxGetHostName(); + if ( !!hostname ) strncat(environment, hostname, 1024 - len); } homeDB = XrmGetFileDatabase (environment); @@ -542,8 +547,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; } @@ -690,8 +695,6 @@ bool wxSetDisplay(const wxString& display_name) else return FALSE; } - - return FALSE; } wxString wxGetDisplayName() @@ -726,9 +729,14 @@ char wxFindMnemonic (const char *s) return mnem; } -char * wxFindAccelerator (char *s) +char * wxFindAccelerator (const char *s) { - // The accelerator text is after the \t char. + // VZ: this function returns incorrect keysym which completely breaks kbd + // handling + return NULL; + +#if 0 + // The accelerator text is after the \t char. while (*s && *s != '\t') s++; if (*s == '\0') @@ -749,7 +757,7 @@ char * wxFindAccelerator (char *s) wxBuffer[0] = '\0'; char *tmp = copystring (s); s = tmp; - char *p = s; + char *p = tmp; while (1) { @@ -764,8 +772,7 @@ char * wxFindAccelerator (char *s) strcat (wxBuffer, s); else strcat (wxBuffer, "Meta"); - s = p + 1; - p = s; + s = p++; } else { @@ -776,18 +783,25 @@ char * wxFindAccelerator (char *s) } delete[]tmp; return wxBuffer; +#endif } -XmString wxFindAcceleratorText (char *s) +XmString wxFindAcceleratorText (const char *s) { - // The accelerator text is after the \t char. + // VZ: this function returns incorrect keysym which completely breaks kbd + // handling + return NULL; + +#if 0 + // The accelerator text is after the \t char. while (*s && *s != '\t') s++; if (*s == '\0') return (NULL); s++; - XmString text = XmStringCreateSimple (s); + XmString text = XmStringCreateSimple ((char *)s); return text; +#endif } // ---------------------------------------------------------------------------- @@ -1042,7 +1056,7 @@ void wxHSVToXColor(wxHSV *hsv,XColor *rgb) int h = hsv->h; int s = hsv->s; int v = hsv->v; - int r, g, b; + int r = 0, g = 0, b = 0; int i, f; int p, q, t; s = (s * wxMAX_RGB) / wxMAX_SV; @@ -1075,14 +1089,14 @@ void wxXColorToHSV(wxHSV *hsv,XColor *rgb) int b = rgb->blue >> 8; int maxv = wxMax3(r, g, b); int minv = wxMin3(r, g, b); - int h, s, v; + int h = 0, s, v; v = maxv; if (maxv) s = (maxv - minv) * wxMAX_RGB / maxv; else s = 0; if (s == 0) h = 0; else { - int rc, gc, bc, hex; + int rc, gc, bc, hex = 0; rc = (maxv - r) * wxMAX_RGB / (maxv - minv); gc = (maxv - g) * wxMAX_RGB / (maxv - minv); bc = (maxv - b) * wxMAX_RGB / (maxv - minv); @@ -1111,7 +1125,7 @@ void wxAllocNearestColor(Display *d,Colormap cmp,XColor *xc) wxHSV hsv_defs, hsv; wxXColorToHSV(&hsv,xc); - int diff, min_diff, pixel = 0; + int diff, min_diff = 0, pixel = 0; for(llp = 0;llp < num_colors;llp++) { @@ -1128,8 +1142,11 @@ void wxAllocNearestColor(Display *d,Colormap cmp,XColor *xc) xc -> green = color_defs[pixel].green; xc -> blue = color_defs[pixel].blue; xc -> flags = DoRed | DoGreen | DoBlue; + +/* FIXME, TODO if (!XAllocColor(d,cmp,xc)) cout << "wxAllocNearestColor : Warning : Cannot find nearest color !\n"; +*/ delete[] color_defs; }