DtWidget: Improve portability of Motif interface

- Add missing includes and prototypes
- Improve type compatibility
- Use <Xm/XmPrivate.h> for unofficial libXm headers

With this patch, dtpad no longer crashes on startup
on FreeBSD/amd64 because of a truncated 64-bit pointer.
This commit is contained in:
Marcin Cieslak
2012-08-31 01:17:48 +02:00
committed by Jon Trulson
parent 6e37640f11
commit ceb49b9130
14 changed files with 60 additions and 25 deletions

View File

@@ -69,6 +69,7 @@
# define NO_putwc
#elif defined(CSRG_BASED)
# include <wctype.h>
# include <wchar.h>
#endif /* linux */
#include <sys/wait.h>
@@ -88,11 +89,17 @@
#include <Xm/MessageB.h>
#include <Xm/MwmUtil.h>
#include <Xm/TextF.h>
#include <Xm/LabelG.h>
#include <Xm/SeparatoG.h>
#include <Xm/PushBG.h>
#include <Xm/ToggleBG.h>
#include <Xm/RowColumn.h>
/* Need the following for _DtOkString */
#include <Dt/DtP.h>
#include <Dt/DtMsgsP.h>
#include <Dt/HourGlass.h>
#include "DtWidgetI.h"
@@ -762,8 +769,10 @@ static XtActionsRec EditorActionTable[] = {
#endif /* _AIX */
#if !(defined(sun) && (_XOPEN_VERSION==3))
#if !(defined(__FreeBSD__))
# define iswblank(wc) iswctype((wc),blnkclass)
# undef getwc /* Use the libc function */
#endif
#if defined(__osf__) || defined(_AIX) /* __osf__ || _AIX */
/* function prototype for wctype() was changed to meet spec1170 */
/* digital compiler flagged warning */
@@ -1344,13 +1353,13 @@ dtEditorClassRec =
/* XmForm Part
*/
{
(int) NULL, /* extension */
NULL, /* extension */
},
/* DtEditor Part
*/
{
(int) NULL, /* extension */
0, /* extension */
}
};