- Improve pointer/int compatibility
- Include unpublished Dt headers in Dt
- Use <Xm/XmPrivate.h> for unpublished Motif functions

There are still warnings left generated because
ElementValue.parsed_value should really be a union.

There are also some warnings left because of XtPointer
casting and some unused variables and functions.
---
 cde/programs/dtwm/Button.c        |    9 +++---
 cde/programs/dtwm/Callback.c      |   11 +++++---
 cde/programs/dtwm/DataBaseLoad.c  |   31 ++++++++++----------
 cde/programs/dtwm/DataBaseLoad.h  |    1 +
 cde/programs/dtwm/Dt/shellutils.h |   56 +++++++++++++++++++++++++++++++++++++
 cde/programs/dtwm/DtSvcInternal.h |    2 ++
 cde/programs/dtwm/Parse.c         |   12 ++++----
 cde/programs/dtwm/PopupMenu.c     |    5 ++--
 cde/programs/dtwm/Print.c         |    2 +-
 cde/programs/dtwm/UI.c            |    8 +++---
 cde/programs/dtwm/UI.h            |    5 ++++
 cde/programs/dtwm/WmBackdrop.c    |   17 ++++++-----
 cde/programs/dtwm/WmCDecor.c      |    2 +-
 cde/programs/dtwm/WmEvent.c       |    6 ++--
 cde/programs/dtwm/WmFP.c          |   10 +++++--
 cde/programs/dtwm/WmFunction.c    |    5 ++--
 cde/programs/dtwm/WmGraphics.c    |    2 +-
 cde/programs/dtwm/WmHelp.c        |   34 +++++++++++-----------
 cde/programs/dtwm/WmIPC.c         |    3 +-
 cde/programs/dtwm/WmIPC.h         |    7 +++++
 cde/programs/dtwm/WmIconBox.c     |    6 ++--
 cde/programs/dtwm/WmInitWs.c      |   23 +++++++--------
 cde/programs/dtwm/WmMain.c        |    1 +
 cde/programs/dtwm/WmManage.c      |   17 ++++-------
 cde/programs/dtwm/WmParse.c       |   10 +++----
 cde/programs/dtwm/WmParse.h       |    2 +-
 cde/programs/dtwm/WmProperty.c    |    6 ++--
 cde/programs/dtwm/WmProperty.h    |    1 +
 cde/programs/dtwm/WmProtocol.c    |    2 +-
 cde/programs/dtwm/WmResParse.c    |   54 +++++++++++++++++------------------
 cde/programs/dtwm/WmResource.c    |    6 ++--
 cde/programs/dtwm/WmSignal.c      |    3 ++
 cde/programs/dtwm/WmWinConf.c     |    3 +-
 cde/programs/dtwm/WmWinInfo.c     |    7 +++--
 cde/programs/dtwm/WmWinList.c     |    5 ++--
 cde/programs/dtwm/WmWrkspace.c    |   20 ++++++-------
 cde/programs/dtwm/WmWrkspace.h    |    1 +
 37 files changed, 235 insertions(+), 160 deletions(-)
 create mode 100644 cde/programs/dtwm/Dt/shellutils.h
 create mode 100644 cde/programs/dtwm/DtSvcInternal.h

diff --git a/cde/programs/dtwm/Button.c b/cde/programs/dtwm/Button.c
index 9cfad52..1f406a3 100644
--- a/cde/programs/dtwm/Button.c
+++ b/cde/programs/dtwm/Button.c
@@ -43,6 +43,9 @@ static char SCCSID[] = "OSF/Motif: @(#)Button.c       1.19 
95/05/01";
 #include <Dt/MacrosP.h>
 #include <Dt/DtStrDefs.h>
 
+#include "DtSvcInternal.h"   /* _DtGetMask */
+#include <Xm/XmPrivate.h>    /* _XmFocusInGadget, _XmFocusOutGadget, 
_XmSocorro */
+
 #define DELAY_DEFAULT 100      
 
 static void Initialize( 
@@ -377,7 +380,6 @@ UpdateGCs(
 {
    DtButtonGadget bg = (DtButtonGadget) w ;
    XmManagerWidget mw = (XmManagerWidget) XtParent(w) ;
-   XGCValues values;
 
    XtReleaseGC ((Widget) mw, bg->button.gc_normal);
    XtReleaseGC ((Widget) mw, bg->button.gc_background);
@@ -404,7 +406,6 @@ Redisplay(
         Region region )
 {
 DtButtonGadget bg = (DtButtonGadget) w;
-XmManagerWidget mw = (XmManagerWidget) XtParent(w);
 Dimension      s_t = bg -> gadget.shadow_thickness;
 Dimension      h_t = bg -> gadget.highlight_thickness;
 Position       x;
@@ -510,11 +511,9 @@ SetValues(
 
 {
    DtButtonGadget  current = (DtButtonGadget) current_w;
-   DtButtonGadget  request = (DtButtonGadget) request_w;
    DtButtonGadget  new_g = (DtButtonGadget) new_w;
    XmManagerWidget mw = (XmManagerWidget) XtParent(new_w);
    Boolean          returnFlag = FALSE;
-   Cursor           cursor;
 
    G_EventMask (new_g) = (XmARM_EVENT | XmACTIVATE_EVENT |
                         XmMULTI_ARM_EVENT | XmMULTI_ACTIVATE_EVENT |
@@ -648,7 +647,6 @@ Activate(
 {
    DtButtonGadget bg = (DtButtonGadget) w ;
    DtButtonCallbackStruct call_value;
-   Dimension bw = G_BorderWidth(bg);
 
    if (!B_Armed (bg))
       return;
@@ -844,6 +842,7 @@ VisualChange(
        else
         return (False);
     }
+    return (False);
 }
 
 /************************************************************************
diff --git a/cde/programs/dtwm/Callback.c b/cde/programs/dtwm/Callback.c
index 3ea47a4..9e40a61 100644
--- a/cde/programs/dtwm/Callback.c
+++ b/cde/programs/dtwm/Callback.c
@@ -54,6 +54,7 @@
 #include <Dt/WsmP.h>
 #include <Dt/WsmM.h>
 #include <Dt/MacrosP.h>
+#include <Dt/SharedProcs.h>
 
 #include <Xm/Form.h>
 #include <Xm/ToggleBG.h>
@@ -67,7 +68,9 @@
 #include "UI.h"
 
 #include "WmGlobal.h"
+#include "WmHelp.h"
 #include "WmResNames.h"
+#include "WmResParse.h"
 #include "WmFunction.h"
 
 
@@ -1865,7 +1868,7 @@ DropCB (Widget    w,
          if (save_name != NULL)
             drop_action->action_name = save_name;
 
-         control_data->operation = NULL;
+         control_data->operation = 0;
 
          return;
       }
@@ -1878,7 +1881,7 @@ DropCB (Widget    w,
       if (save_name != NULL)
          drop_action->action_name = save_name;
 
-      control_data->operation = NULL;
+      control_data->operation = 0;
    }
 }
 
@@ -2443,7 +2446,7 @@ CustomizeDropCB (Widget    w,
             /*  element values.                                         */
 
             control_data.element_values = element_values;
-            RemoveEntry (&control_data, CONTROL);
+            RemoveEntry ((RecordData *)&control_data, CONTROL);
         
             bad_control = True;
             break;
@@ -2538,7 +2541,7 @@ CustomizeDropCB (Widget    w,
       control_data->move_action = NULL;
       control_data->copy_action = NULL;
       control_data->link_action = NULL;
-      control_data->operation = NULL;
+      control_data->operation = 0;
 
       AddControlActionList (control_data);
 
diff --git a/cde/programs/dtwm/DataBaseLoad.c b/cde/programs/dtwm/DataBaseLoad.c
index 0649f50..042ad62 100644
--- a/cde/programs/dtwm/DataBaseLoad.c
+++ b/cde/programs/dtwm/DataBaseLoad.c
@@ -50,6 +50,7 @@
 #include <Dt/UserMsg.h>
 
 #include "WmParse.h"
+#include "WmPanelP.h"
 #include "DataBaseLoad.h"
 #include "Parse.h"
 #include "UI.h"
@@ -417,24 +418,24 @@ static void InitializeFileControlFields (ElementValue *, 
char *);
  *
  ************************************************************************/
 
-static panel_count = 0;
-static panel_data_count = 0;
+static int panel_count = 0;
+static int panel_data_count = 0;
 static RecordData * panel_data = NULL;
 
-static box_count = 0;
-static box_data_count = 0;
+static int box_count = 0;
+static int box_data_count = 0;
 static RecordData * box_data = NULL;
 
-static subpanel_count = 0;
-static subpanel_data_count = 0;
+static int subpanel_count = 0;
+static int subpanel_data_count = 0;
 static RecordData * subpanel_data = NULL;
 
-static switch_count = 0;
-static switch_data_count = 0;
+static int switch_count = 0;
+static int switch_data_count = 0;
 static RecordData * switch_data = NULL;
 
-static control_count = 0;
-static control_data_count = 0;
+static int control_count = 0;
+static int control_data_count = 0;
 static RecordData * control_data = NULL;
 
 
@@ -1123,7 +1124,7 @@ AnimationParseCB (DtDtsDbField  * fields,
    panel.animation_data[count].name = strdup(fields[0].fieldValue);
 
 
-   for (i = 1; fields[i].fieldName != NULL; i++)
+   for (i = 1; fields[i].fieldName != NULLQUARK; i++)
    {
        if (fields[i].fieldName == animation_quark)
           field_count++;
@@ -1183,7 +1184,9 @@ ControlSingleParseCB (DtDtsDbField  * fields,
                 Boolean       rejection)
 
 {
-   if (control_element_value_found) return;
+   if (control_element_value_found) {
+       return (True);
+   }
 
    control_element_values = (ElementValue *) XtMalloc (sizeof(ElementValue) *
                                                       CONTROL_KEYWORD_COUNT);
@@ -1248,7 +1251,7 @@ ProcessRecord (DtDtsDbField   * fields,
    /*  to the keywords for this record type and when found, enter  */
    /*  it into the element values array for the component.         */
 
-   for (i = 0; fields[i].fieldName != NULL; i++)
+   for (i = 0; fields[i].fieldName != NULLQUARK; i++)
    {
       XrmQuark field1 = fields[i].fieldName;
       char * field2 = fields[i].fieldValue;
@@ -2515,7 +2518,7 @@ ProcessControl (XtPointer       parent,
    control->move_action = NULL;
    control->copy_action = NULL;
    control->link_action = NULL;
-   control->operation = NULL;
+   control->operation = 0;
 
    AddControlActionList (control);
 
diff --git a/cde/programs/dtwm/DataBaseLoad.h b/cde/programs/dtwm/DataBaseLoad.h
index 346cbfc..1bc9b5b 100644
--- a/cde/programs/dtwm/DataBaseLoad.h
+++ b/cde/programs/dtwm/DataBaseLoad.h
@@ -488,6 +488,7 @@ extern void InitializeSubpanelFields (ElementValue * 
element_values);
 extern void _WriteControlElementValues(ElementValue *);
 extern void WriteControlComponentFile(ControlData *);
 extern void WriteSubpanelComponentFile(SubpanelData *);
+extern void RemoveEntry (RecordData * record_data, int record_type);
 extern void RemoveControlComponentFile(ControlData *);
 extern void RemoveSubpanelComponentFile(SubpanelData *);
 extern void    SessionAddFileData (char *, char *, int, char *, int, Boolean);
diff --git a/cde/programs/dtwm/Dt/shellutils.h 
b/cde/programs/dtwm/Dt/shellutils.h
new file mode 100644
index 0000000..8e118f8
--- /dev/null
+++ b/cde/programs/dtwm/Dt/shellutils.h
@@ -0,0 +1,56 @@
+/*
+ * CDE - Common Desktop Environment
+ *
+ * Copyright (c) 1993-2012, The Open Group. All rights reserved.
+ *
+ * These libraries and programs are free software; you can
+ * redistribute them and/or modify them under the terms of the GNU
+ * Lesser General Public License as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * These libraries and programs are distributed in the hope that
+ * they will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with these librararies and programs; if not, write
+ * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
+ * Floor, Boston, MA 02110-1301 USA
+ */
+/*
+ * File:       shellutils.h $XConsortium: shellutils.h /main/3 1995/10/26 
16:13:31 rswiston $
+ *
+ * (c) Copyright 1993, 1994 Hewlett-Packard Company
+ * (c) Copyright 1993, 1994 International Business Machines Corp.
+ * (c) Copyright 1993, 1994 Sun Microsystems, Inc.
+ * (c) Copyright 1993, 1994 Novell, Inc.
+ */
+
+#ifndef __SHELLUTILS_H_
+#define __SHELLUTILS_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+    char const *const *shellscan(char const *str, int *argc = (int *)0,
+           unsigned opts = 0);
+}
+#else
+    extern char **shellscan();
+#endif
+
+#define SHX_NOGLOB     0x0001
+#define SHX_NOTILDE    0x0002
+#define SHX_NOVARS     0x0004
+#define SHX_NOQUOTES   0x0008
+#define SHX_NOSPACE    0x0010
+#define SHX_NOMETA     0x0020
+#define SHX_NOCMD      0x0040
+#define SHX_COMPLETE   0x0080
+
+#define SHX_NOGRAVE    0x0040          /* Obsolete, use NOCMD */
+
+#endif /* __SHELLUTILS_H_ */
diff --git a/cde/programs/dtwm/DtSvcInternal.h 
b/cde/programs/dtwm/DtSvcInternal.h
new file mode 100644
index 0000000..3e4021e
--- /dev/null
+++ b/cde/programs/dtwm/DtSvcInternal.h
@@ -0,0 +1,2 @@
+/* Additional import */
+extern Pixmap _DtGetMask(Screen *screen, char *image_name);
diff --git a/cde/programs/dtwm/Parse.c b/cde/programs/dtwm/Parse.c
index 9a2b4a1..c13389e 100644
--- a/cde/programs/dtwm/Parse.c
+++ b/cde/programs/dtwm/Parse.c
@@ -115,7 +115,7 @@ StringToBoolean (char * parse_source,
                  void ** parse_return)
 
 {
-   _DtWmParseToLower((unsigned char *)parse_source);
+   _DtWmParseToLower(parse_source);
 
    if (strcmp (parse_source, "true") == 0)
       *parse_return = (void *) True;
@@ -145,7 +145,7 @@ StringToResolution (char * parse_source,
                     void ** parse_return)
 
 {
-   _DtWmParseToLower ((unsigned char *) parse_source);
+   _DtWmParseToLower (parse_source);
    
    if (strcmp (parse_source, resolution_types[HIGH]) == 0)
       *parse_return = (void *) HIGH;
@@ -179,7 +179,7 @@ StringToControlBehavior (char * parse_source,
                          void ** parse_return)
 
 {
-   _DtWmParseToLower ((unsigned char *) parse_source);
+   _DtWmParseToLower (parse_source);
 
    if (strcmp (parse_source, "double_click") == 0)
       *parse_return = (void *) DOUBLE_CLICK;
@@ -312,7 +312,7 @@ StringToControlType (char * parse_source,
                      void ** parse_return)
 
 {
-   _DtWmParseToLower ((unsigned char *) parse_source);
+   _DtWmParseToLower (parse_source);
 
    if (strcmp (parse_source, control_types[CONTROL_BLANK]) == 0)
       *parse_return = (void *) CONTROL_BLANK;
@@ -352,7 +352,7 @@ StringToMonitorType (char * parse_source,
                      void ** parse_return)
 
 {
-   _DtWmParseToLower ((unsigned char *) parse_source);
+   _DtWmParseToLower (parse_source);
 
    if (strcmp (parse_source, monitor_types[MONITOR_NONE]) == 0)
       *parse_return = (void *) MONITOR_NONE;
@@ -416,7 +416,7 @@ StringToPositionHints (char * parse_source,
 {
    Boolean status;
 
-   _DtWmParseToLower ((unsigned char *) parse_source);
+   _DtWmParseToLower (parse_source);
 
    if (strcmp (parse_source, "first") == 0)
       parse_source = "0";
diff --git a/cde/programs/dtwm/PopupMenu.c b/cde/programs/dtwm/PopupMenu.c
index 54f9f94..a461b55 100644
--- a/cde/programs/dtwm/PopupMenu.c
+++ b/cde/programs/dtwm/PopupMenu.c
@@ -47,6 +47,7 @@
 
 #include "DataBaseLoad.h"
 #include "WmGlobal.h"
+#include "UI.h"
 
 #define POPUP_CHILDREN 7
 
@@ -963,8 +964,8 @@ SetupActionMenuItems (Widget        w,
       {    
          action_item[action_index] = 
             XmCreatePushButtonGadget (w, "action_button", args, 0);
-                                               
-          *action_count++;
+
+          (*action_count)++;
 
           XtManageChild (action_item[action_index]);
          XtAddCallback (action_item[action_index], XmNactivateCallback,
diff --git a/cde/programs/dtwm/Print.c b/cde/programs/dtwm/Print.c
index 79cbc50..c33d451 100644
--- a/cde/programs/dtwm/Print.c
+++ b/cde/programs/dtwm/Print.c
@@ -223,7 +223,7 @@ PrintFrontPanelContents(void)
  *
  ************************************************************************/
 
-void
+int
 main (int argc,
       char         **argv)
 
diff --git a/cde/programs/dtwm/UI.c b/cde/programs/dtwm/UI.c
index 1a4e7d7..be0684c 100644
--- a/cde/programs/dtwm/UI.c
+++ b/cde/programs/dtwm/UI.c
@@ -1862,7 +1862,7 @@ ControlCreateAndRegister (Widget        parent,
 
 {
    Widget icon;
-   unsigned char operations = NULL;
+   unsigned char operations = 0;
    char *format, * next_seg;
    Arg al2[4];
 
@@ -1938,7 +1938,7 @@ ControlCreateAndRegister (Widget        parent,
         operations = XmDROP_COPY;
       }
 
-      if (operations != NULL)
+      if (operations != 0)
       {
         XtSetArg (al2[0], DtNdropAnimateCallback, dropCB);
         XtSetArg (al2[1], DtNtextIsBuffer, True);
@@ -3322,7 +3322,7 @@ DeleteControl (ControlData * control_data)
 
    DeleteControlActionList (control_data);
 
-   RemoveEntry (control_data, CONTROL);
+   RemoveEntry ((RecordData *)control_data, CONTROL);
 }
 
 
@@ -3397,7 +3397,7 @@ DeleteSubpanel (ControlData * control_data)
    XtDestroyWidget (subpanel_data->shell);
    XtFree ((char *) subpanel_data->control_data);
 
-   RemoveEntry (subpanel_data, SUBPANEL);
+   RemoveEntry ((RecordData *)subpanel_data, SUBPANEL);
 
    XtFree ((char *) subpanel_data);
    control_data->subpanel_data = NULL;
diff --git a/cde/programs/dtwm/UI.h b/cde/programs/dtwm/UI.h
index 0f06828..e26c821 100644
--- a/cde/programs/dtwm/UI.h
+++ b/cde/programs/dtwm/UI.h
@@ -70,6 +70,11 @@
 
 extern void ToggleDefaultControl (ControlData *, SubpanelData *, ControlData 
*);
 extern String GetIconName (String, unsigned int);
+extern void AddSubpanel (ControlData * control_data);
+extern void DeleteSubpanelControl(SubpanelData *subpanel, ControlData 
*control_data);
+extern void DeleteSubpanel(ControlData *control_data);
+extern void UpdateSwitchGeometry (BoxData * box_data);
+extern void FrontPanelCreate (Widget toplevel);
 
 
 #endif /* _ui_h */
diff --git a/cde/programs/dtwm/WmBackdrop.c b/cde/programs/dtwm/WmBackdrop.c
index f2783a5..ce455a8 100644
--- a/cde/programs/dtwm/WmBackdrop.c
+++ b/cde/programs/dtwm/WmBackdrop.c
@@ -195,8 +195,8 @@ ProcessBackdropResources(
     unsigned int w, h, bw, depth;
     Window root;
     unsigned long oldFlags;
-    static unsigned char *none_string = NULL;
-    static unsigned char *no_backdrop_string = NULL;
+    static String none_string = NULL;
+    static String no_backdrop_string = NULL;
     Boolean bNone = False;
 #ifndef NO_MULTIBYTE
     unsigned int chlen;
@@ -208,14 +208,13 @@ ProcessBackdropResources(
     }
 
     if (!no_backdrop_string && 
-       (no_backdrop_string = (unsigned char *)
-                      XtNewString (DTWM_REQP_BACKDROP_NONE)))
+       (no_backdrop_string = XtNewString (DTWM_REQP_BACKDROP_NONE)))
     {
        ToLower(no_backdrop_string);
        xa_NO_BACKDROP = XmInternAtom (DISPLAY, no_backdrop_string, False);
 
        /* for compatiblity with DT 2.01 */
-       none_string = (unsigned char *) XtNewString ("none");
+       none_string = XtNewString ("none");
     }
     if (!no_backdrop_string)
     {
@@ -278,7 +277,7 @@ ProcessBackdropResources(
            pchL = (unsigned char *) strdup ((char *)pch);
 
             if (*pchL) 
-               ToLower(pchL);
+               ToLower((char *)pchL);
        
            if (!(strcmp ((char *)pchL, (char *)no_backdrop_string)) ||
                !(strcmp ((char *)pchL, (char *)none_string)))
@@ -286,7 +285,7 @@ ProcessBackdropResources(
                /*
                 * No backdrop (root window shows through)
                 */
-               pWS->backdrop.window = NULL;
+               pWS->backdrop.window = None;
                pWS->backdrop.nameAtom = xa_NO_BACKDROP;
                bNone = True;
            }
@@ -602,7 +601,7 @@ SetNewBackdrop(
     if (!bitmapFile || !strlen(bitmapFile) || 
        !strcmp(bitmapFile, DTWM_REQP_BACKDROP_NONE))
     {
-       pixmap = NULL;
+       pixmap = None;
     }
 
     if (bitmapFile) 
@@ -621,7 +620,7 @@ SetNewBackdrop(
        {
            /* not in Xm pixmap cache */
        }
-       pWS->backdrop.imagePixmap = NULL;
+       pWS->backdrop.imagePixmap = None;
     }
 
     /* free pWS->backdrop.image */
diff --git a/cde/programs/dtwm/WmCDecor.c b/cde/programs/dtwm/WmCDecor.c
index dfb4579..82e0b8e 100644
--- a/cde/programs/dtwm/WmCDecor.c
+++ b/cde/programs/dtwm/WmCDecor.c
@@ -1107,7 +1107,7 @@ void GetTextBox (ClientData *pcd, XRectangle *pBox)
 {
     int x,y;
     unsigned int width,height;
-#ifdef WSM
+#if defined(WSM) && defined(DT_LEFT_JUSTIFIED_TITLE)
     Dimension textWidth;
     Dimension offset;
     XmFontList  fontList;
diff --git a/cde/programs/dtwm/WmEvent.c b/cde/programs/dtwm/WmEvent.c
index f643503..508dcd1 100644
--- a/cde/programs/dtwm/WmEvent.c
+++ b/cde/programs/dtwm/WmEvent.c
@@ -236,7 +236,7 @@ _WmGrabMasks ( unsigned int modifiers, int *pnum_masks )
     unsigned int mask;
 
     /* count the number of masks in the lock sequence */
-    for (num_masks=0; wmGD.pLockMaskSequence[num_masks] != NULL; num_masks++);
+    for (num_masks=0; wmGD.pLockMaskSequence[num_masks]; num_masks++);
 
     /* insure we have enough space for our returned masks */
     if ((pRetMasks == NULL) || (len_ret_masks < num_masks+2))
@@ -2062,8 +2062,8 @@ HandleDtWmRequest (WmScreenData *pSD, XEvent *pev)
                        {
                            XtFree ((char *)wmFuncArgs);
                        }
-                       else if ((functionTable[iFuncIndex].parseProc ==
-                                       ParseWmFuncActionArg))
+                       else if (functionTable[iFuncIndex].parseProc ==
+                                       ParseWmFuncActionArg)
                        {
                            WmActionArg *pAP = (WmActionArg *) wmFuncArgs;
 
diff --git a/cde/programs/dtwm/WmFP.c b/cde/programs/dtwm/WmFP.c
index 48a8108..22dcb63 100644
--- a/cde/programs/dtwm/WmFP.c
+++ b/cde/programs/dtwm/WmFP.c
@@ -79,6 +79,10 @@ extern void SubpanelTornEventHandler (Widget, XtPointer, 
XEvent *, Boolean *);
 extern void WorkspaceModifyCB (Widget, Atom, int, XtPointer);
 extern void SessionRestoreData (void);
 extern void UnManageWindow (ClientData *pCD);
+extern void WorkspaceAdjustPanelPosition (Position x,
+                              Position y,
+                              Dimension width,
+                              Dimension height);
 
 static void PushRecallSetData ();
 static void EmbeddedClientSetData ();
@@ -247,7 +251,7 @@ EmbeddedClientRegister (ControlData * control_data,
       {
         if (strcmp (client_name, embedded_client_list[i].pchResName) == 0)
          {
-           embedded_client_list[i].wControl == control_data->icon;
+           embedded_client_list[i].wControl = control_data->icon;
             break;
          }
       }
@@ -269,7 +273,7 @@ EmbeddedClientRegister (ControlData * control_data,
 
          embedded_client->pchResName = XtNewString (client_name);
          embedded_client->wControl = control_data->icon;
-         embedded_client->winParent = NULL;
+         embedded_client->winParent = None;
          embedded_client->pCD = NULL;
       }
 
@@ -473,7 +477,7 @@ PushRecallRegister (ControlData * control_data,
       {
         if (strcmp (client_name, push_recall_list[i].pchResName) == 0)
          {
-           push_recall_list[i].wControl == control_data->icon;
+           push_recall_list[i].wControl = control_data->icon;
             break;
          }
       }
diff --git a/cde/programs/dtwm/WmFunction.c b/cde/programs/dtwm/WmFunction.c
index 22a9d56..8ef8582 100644
--- a/cde/programs/dtwm/WmFunction.c
+++ b/cde/programs/dtwm/WmFunction.c
@@ -61,6 +61,7 @@ static char rcsid[] = "$TOG: WmFunction.c /main/19 1998/04/20 
13:00:48 mgreess $
 #include <Dt/DtStrDefs.h>
 #include "WmPanelP.h"
 #include "WmSignal.h"
+#include "WmManage.h"
 #endif /* PANELIST */
 
 /*
@@ -994,10 +995,10 @@ Boolean F_Focus_Color (String args, ClientData *pCD, 
XEvent *event)
 
 Boolean F_Exec (String args, ClientData *pCD, XEvent *event)
 {
-    int   status;
     int   pid;
-    int   w;
 #ifndef WSM
+    int   status;
+    int   w;
     void (*intStat) ();
     void (*quitStat) ();
 #endif /* WSM */
diff --git a/cde/programs/dtwm/WmGraphics.c b/cde/programs/dtwm/WmGraphics.c
index 6de4fef..201a1c6 100644
--- a/cde/programs/dtwm/WmGraphics.c
+++ b/cde/programs/dtwm/WmGraphics.c
@@ -1244,7 +1244,7 @@ void WmInstallBitmapDataIntoXmCache (WmScreenData *pSD,
 {
     XImage *pImage;
 
-    if (pImage = (XImage *) XtMalloc (sizeof (XImage)))
+    if ((pImage = (XImage *) XtMalloc (sizeof (XImage))))
     {
        pImage->width = width; 
        pImage->height = height;
diff --git a/cde/programs/dtwm/WmHelp.c b/cde/programs/dtwm/WmHelp.c
index f37d2ec..e145db5 100644
--- a/cde/programs/dtwm/WmHelp.c
+++ b/cde/programs/dtwm/WmHelp.c
@@ -837,7 +837,7 @@ static void WmDtPopupHelpCB (
            do
            {
                ptr = DtStrchr (pTemp->workspaces, '*');
-               if (ptr != NULL) *ptr = NULL;
+               if (ptr != NULL) *ptr = '\0';
                
                atom_names = 
                    (char **) XtRealloc ((char *)atom_names,
@@ -1091,8 +1091,8 @@ WmDtHelp (String args)
     WmPanelistObject  pPanelist;
     char *theHelpVolume = WM_DT_HELP_VOLUME;
     char *theHelpTopic  = WM_DT_HELP_TOPIC;
-    char volume[MAXWMPATH + 1];
-    char topic[MAXWMPATH + 1];
+    unsigned char volume[MAXWMPATH + 1];
+    unsigned char topic[MAXWMPATH + 1];
     int  argCount = 0;
 
 
@@ -1103,27 +1103,27 @@ WmDtHelp (String args)
 
     pPanelist = (WmPanelistObject) pSD->wPanelist;
     
-    if (theWidget = O_Panel(pPanelist))
+    if ((theWidget = O_Panel(pPanelist)))
     {
        if (args )
        {
            /*
             * parse args for volume and topic 
             */
-           WmDtGetHelpArgs((unsigned char*)args, &volume, &topic, &argCount);
+           WmDtGetHelpArgs(args, volume, topic, &argCount);
            if (argCount == 1)
            {
                WmDtDisplayTopic(pSD->screenTopLevelW1, 
                                  theHelpVolume, 
-                                 topic, 
+                                 (char *)topic, 
                                  DtHELP_TYPE_TOPIC, theWidget, True,
                                  NULL, 0, NULL, False, NULL);
            }
            else
            {
                WmDtDisplayTopic(pSD->screenTopLevelW1, 
-                                 volume, 
-                                 topic, 
+                                 (char *)volume, 
+                                 (char *)topic, 
                                  DtHELP_TYPE_TOPIC, theWidget, False,
                                  NULL, 0, NULL, False, NULL);
            }
@@ -1174,7 +1174,7 @@ WmDtHelpMode (void)
     int iStatus;
     String sTmp, sMessage, sTitle;
 
-    iStatus = WmDtReturnSelectedWidget(wmGD.topLevelW, NULL, 
+    iStatus = WmDtReturnSelectedWidget(wmGD.topLevelW, None, 
                        &selectedWidget);
 
     switch (iStatus)
@@ -1693,7 +1693,7 @@ RestoreHelpDialogs(
        }
        xrm_name [0] = XrmStringToQuark ("wsHelp");
        xrm_name [1] = XrmStringToQuark ("onScreen");
-       xrm_name [2] = NULL;
+       xrm_name [2] = NULLQUARK;
        
        
        if (XrmQGetResource (db, xrm_name, xrm_name, &rep_type, &value)) 
@@ -1873,7 +1873,7 @@ RestoreHelpDialogs(
 
        xrm_name [0] = XrmStringToQuark ("cachedHelp");
        xrm_name [1] = XrmStringToQuark ("cachedCount");
-       xrm_name [2] = NULL;
+       xrm_name [2] = NULLQUARK;
        
        
        if (XrmQGetResource (db, xrm_name, xrm_name, &rep_type, &value)) 
@@ -1884,8 +1884,8 @@ RestoreHelpDialogs(
            {
                sprintf (dialogName,  "oWsHelp%d", cCount);
                xrm_name [0] = XrmStringToQuark (dialogName);
-               xrm_name [1] = NULL;
-               xrm_name [2] = NULL;
+               xrm_name [1] = NULLQUARK;
+               xrm_name [2] = NULLQUARK;
 
                displayTopicInfo.xPos = 0;
                displayTopicInfo.xPos = 0;
@@ -2130,7 +2130,7 @@ SaveHelpResources(
         res_class = DT_WM_RESOURCE_CLASS;
     }
 
-    sprintf (screenName, "%d\0", pSD->screen);
+    sprintf (screenName, "%d", pSD->screen);
 
     sprintf (buffer, "%s*%s*%s:  \\n ", res_class,  screenName, 
             WmNhelpResources);
@@ -2344,7 +2344,7 @@ SaveHelpResources(
                if (pCDforHelp)
                {
                    thisCnt = 0;
-                   sprintf(workspaces,"");
+                   sprintf(workspaces, "%s", "");
                    for (wsCnt = 0; wsCnt < pSD->numWorkspaces;
                         wsCnt++)
                    {
@@ -2555,7 +2555,7 @@ wmDtHelpSetPosition(
     int n;
     XFontStruct *font;
     Dimension height;
-    Window wGroup;
+    Window wGroup = None;
     int x, y;
     ClientData *pCDforHelp;
 
@@ -2678,7 +2678,7 @@ wmDtHelpSetPosition(
     }
     else
     {
-        if (wGroup != 0)
+        if (wGroup != None)
        {
            HideHelpDialog (pSD, True);
        }
diff --git a/cde/programs/dtwm/WmIPC.c b/cde/programs/dtwm/WmIPC.c
index 331f43b..e0e2a96 100644
--- a/cde/programs/dtwm/WmIPC.c
+++ b/cde/programs/dtwm/WmIPC.c
@@ -189,7 +189,7 @@ dtInitializeMessaging(Widget toplevel)
     default_session = tt_default_session();
     status = tt_ptr_error(default_session);
     if (status != TT_OK) {
-        GETMESSAGE(2, 4, "Could not get default ToolTalk session:\n%s\n");
+        errfmt = GETMESSAGE(2, 4, "Could not get default ToolTalk 
session:\n%s\n");
         ToolTalkError(toplevel, errfmt, status);
        return;
     }
@@ -238,6 +238,7 @@ dtInitializeMessaging(Widget toplevel)
         ToolTalkError(toplevel, errfmt, status);
        return;
     }
+
     tt_free( default_session );
     status = tt_pattern_class_add(notice_pattern, TT_NOTICE);
     if (status != TT_OK) {
diff --git a/cde/programs/dtwm/WmIPC.h b/cde/programs/dtwm/WmIPC.h
index 74bd685..39fd11a 100644
--- a/cde/programs/dtwm/WmIPC.h
+++ b/cde/programs/dtwm/WmIPC.h
@@ -45,6 +45,13 @@ extern void dtSendWorkspaceModifyNotification(
        WmScreenData            *pSD, 
        Atom                    aWs, 
        int                     iType);
+extern void dtSendMarqueeSelectionNotification(
+       WmScreenData *pSD,
+       int     type,
+       Position x,
+       Position y,
+       Dimension width,
+       Dimension height);
 
 /********    End Public Function Declarations    ********/
 
diff --git a/cde/programs/dtwm/WmIconBox.c b/cde/programs/dtwm/WmIconBox.c
index 177489f..ccdc96b 100644
--- a/cde/programs/dtwm/WmIconBox.c
+++ b/cde/programs/dtwm/WmIconBox.c
@@ -186,7 +186,7 @@ void AddIconBoxForWorkspace (WmWorkspaceData *pWS)
     extern WmWorkspaceData *pIconBoxInitialWS;
 
     pIconBoxInitialWS = pWS;
-    ManageWindow (pWS->pSD, NULL, MANAGEW_ICON_BOX);
+    ManageWindow (pWS->pSD, None, MANAGEW_ICON_BOX);
 
 } /* END OF FUNCTION AddIconBoxForWorkspace */
 #endif /* WSM */
@@ -862,7 +862,7 @@ void InitializeIconBoxData (WmWorkspaceData *pWS, 
IconBoxData *pIBD)
     pIBD->wsID = pWS->id;
 #endif /* WSM */
 
-    ToLower ((unsigned char *) pWS->pSD->iconBoxSBDisplayPolicy);
+    ToLower (pWS->pSD->iconBoxSBDisplayPolicy);
     
     if (!((!strcmp(pWS->pSD->iconBoxSBDisplayPolicy , "all"))      ||
          (!strcmp(pWS->pSD->iconBoxSBDisplayPolicy , szvertical)) ||
@@ -1819,7 +1819,6 @@ IconBoxShowing (WmWorkspaceData *pWS, ControlWindowStruct 
*pCW)
 #endif /* PANELIST */
 {
     Boolean rval = False;
-    int wsIndex =  GetCurrentWorkspaceIndex (pWS->pSD); 
     
 #ifdef PANELIST
     if (pWS->pIconBox &&
@@ -1876,7 +1875,6 @@ IconBoxPopUp (WmWorkspaceData *pWS,
 {
     
     IconBoxData *pibd;
-    int wsIndex =  GetCurrentWorkspaceIndex (pWS->pSD); 
     
     if (pWS->pIconBox)
     {
diff --git a/cde/programs/dtwm/WmInitWs.c b/cde/programs/dtwm/WmInitWs.c
index d040cce..8e598dc 100644
--- a/cde/programs/dtwm/WmInitWs.c
+++ b/cde/programs/dtwm/WmInitWs.c
@@ -213,7 +213,7 @@ InitMouseBinding(void)
 static void
 BuildLockMaskSequence(void)
 {
-    int i, j, k;
+    int j, k;
     unsigned int mask;
     unsigned int thisbit;
     Boolean bit_on;
@@ -334,7 +334,7 @@ SetupLockingModifierMask(void)
     Display *dpy = wmGD.display;
     int pkcLockingMods[NUM_LOCKING_MODS];
 
-    int kcq, kc;
+    int kc;
 
     for (i=0; i<NUM_LOCKING_MODS; i++)
     {
@@ -1223,7 +1223,6 @@ XFlush (DISPLAY);
                    Pixmap      iconBitmap;
                    Arg         al[5];
                    int         ac;
-                   Widget      wFpShell;
                    WmPanelistObject  pPanelist;
 
                     wmGD.dtSD->wPanelist =
@@ -1327,8 +1326,6 @@ InitWmScreen (WmScreenData *pSD, int sNum)
     int wsnum;
     WmWorkspaceData *pwsI;
     int buf_size;
-    int i;
-    static int dupnum = 0;
     int iwsx;
 #endif /* WSM */
 
@@ -1396,7 +1393,7 @@ InitWmScreen (WmScreenData *pSD, int sNum)
     pSD->workspaceList = NULL;
     pSD->numWorkspaces = 0;
     pSD->numWsDataAllocated = 0;
-    pSD->lastBackdropWin = NULL;
+    pSD->lastBackdropWin = None;
     pSD->pDtSessionItems = NULL;
     pSD->totalSessionItems = 0;
     pSD->remainingSessionItems = 0;
@@ -1443,7 +1440,7 @@ InitWmScreen (WmScreenData *pSD, int sNum)
        buf_size = strlen(buffer) + 1;
 
        if ((wmGD.screenNames[sNum] = 
-            (unsigned char *)XtRealloc (wmGD.screenNames[sNum], buf_size)) == 
NULL)
+            (unsigned char *)XtRealloc ((char *)wmGD.screenNames[sNum], 
buf_size)) == NULL)
        {
            Warning (((char *)GETMESSAGE(40, 7, "Cannot create enough memory 
for the screen names")));
            ExitWM (WM_ERROR_EXIT_VALUE);
@@ -1795,7 +1792,7 @@ InsureDefaultBackdropDir(char **ppchBackdropDirs)
   len = strlen (pchD);
   pchEnd = pch + strlen(pch);
   
-  while (!bFound && (pch != NULL) && (*pch != NULL))
+  while (!bFound && (pch != NULL) && (*pch != 0))
     {
       if (strncmp (pch, pchD, len) == 0)
        {
@@ -1805,7 +1802,7 @@ InsureDefaultBackdropDir(char **ppchBackdropDirs)
           */
          pch2 = pch + len;     
          if ((pch2 <= pchEnd) &&
-             ((*pch2 == NULL) ||
+             ((*pch2 == 0) ||
               (((mblen (pch2, MB_CUR_MAX) == 1) &&
                 (*pch2 == ':')))))
            {
@@ -1816,7 +1813,7 @@ InsureDefaultBackdropDir(char **ppchBackdropDirs)
        {
          /* find next path component */
          pch = strchr (pch, (int) ':'); 
-         if ((pch != NULL) && (*pch != NULL))
+         if ((pch != NULL) && (*pch != 0))
            { 
              /* skip path separator */
              chlen = mblen (pch, MB_CUR_MAX);
@@ -2331,9 +2328,9 @@ void InitNlsStrings (void)
     /*
      * Initialize messages
      */
-    wmGD.okLabel=XmStringCreateLocalized(_DtOkString);
-    wmGD.cancelLabel=XmStringCreateLocalized(_DtCancelString);
-    wmGD.helpLabel=XmStringCreateLocalized(_DtHelpString);
+    wmGD.okLabel=XmStringCreateLocalized((String)_DtOkString);
+    wmGD.cancelLabel=XmStringCreateLocalized((String)_DtCancelString);
+    wmGD.helpLabel=XmStringCreateLocalized((String)_DtHelpString);
 #endif /* WSM */    
 
     /*
diff --git a/cde/programs/dtwm/WmMain.c b/cde/programs/dtwm/WmMain.c
index 68e48e0..ad7e37a 100644
--- a/cde/programs/dtwm/WmMain.c
+++ b/cde/programs/dtwm/WmMain.c
@@ -55,6 +55,7 @@ static char rcsid[] = "$TOG: WmMain.c /main/8 1998/04/20 
13:01:09 mgreess $"
 #include "WmCEvent.h"
 #include "WmEvent.h"
 #include "WmInitWs.h"
+#include "WmError.h"
 #ifdef WSM
 #include "WmIPC.h"
 #include "WmBackdrop.h"
diff --git a/cde/programs/dtwm/WmManage.c b/cde/programs/dtwm/WmManage.c
index adf0747..c8c18dd 100644
--- a/cde/programs/dtwm/WmManage.c
+++ b/cde/programs/dtwm/WmManage.c
@@ -495,7 +495,7 @@ ManageWindow (WmScreenData *pSD, Window clientWindow, long 
manageFlags)
         */
        for (i = 0; i < pCD->numInhabited; i++)
        {
-           if (pwsi = GetWorkspaceData(pCD->pSD, pCD->pWsList[i].wsID))
+           if ((pwsi = GetWorkspaceData(pCD->pSD, pCD->pWsList[i].wsID)))
            {
 
                if ((pCD->pSD->useIconBox && 
@@ -1039,7 +1039,7 @@ void WithdrawWindow (ClientData *pCD)
 
                    if (pWsc->iconPlace != NO_ICON_PLACE)
                    {
-                       if (pWsTmp=GetWorkspaceData(pCD->pSD, pWsc->wsID))
+                       if ((pWsTmp=GetWorkspaceData(pCD->pSD, pWsc->wsID)))
                        {
                          pWsTmp->IPData.placeList[pWsc->iconPlace].pCD 
                              = NULL;
@@ -1615,7 +1615,7 @@ void FreeIcon (ClientData *pCD)
         */
        for (i = 0; i< pCD->numInhabited; i++)
        {
-           if (pWsTmp = GetWorkspaceData(pCD->pSD, pCD->pWsList[i].wsID))
+           if ((pWsTmp = GetWorkspaceData(pCD->pSD, pCD->pWsList[i].wsID)))
            {
                DeleteIconFromBox (pWsTmp->pIconBox, pCD);
            }
@@ -1771,7 +1771,7 @@ void ReManageDialog (WmScreenData *pSD, Widget dialogboxW)
     XMapWindow (DISPLAY, pCD->clientFrameWin);
     XtManageChild (dialogboxW);
 
-    if ((wmGD.keyboardFocusPolicy == KEYBOARD_FOCUS_EXPLICIT))
+    if (wmGD.keyboardFocusPolicy == KEYBOARD_FOCUS_EXPLICIT)
     {
        Do_Focus_Key (pCD, GetTimestamp() , ALWAYS_SET_FOCUS);
     }
@@ -2066,8 +2066,6 @@ ScanForEmbeddedClients (
     ClientListEntry *pCLE;
     WmFpEmbeddedClientData *pECD;
     Boolean bReset;
-    long manageFlags = 0L;
-    Window *pWins, *pW;
 
     /*
      *  Search through all the windows we're managing right now to
@@ -2220,8 +2218,6 @@ ManageEmbeddedClient (
     long manageFlags)
 
 {
-    int wsIndex;
-    int i;
     XWindowChanges windowChanges;
     unsigned int mask;
     WmFpPushRecallClientData *pPRCD;
@@ -2393,11 +2389,8 @@ ReparentEmbeddedClient (
     )
 
 {
-    int wsIndex;
-    int i;
     XWindowChanges windowChanges;
     unsigned int mask;
-    WmFpPushRecallClientData *pPRCD;
     ClientData *pCD;
 
     /*
@@ -2527,7 +2520,7 @@ ForceSubpanelWMState (Window win)
        }
        else if (parent == root)
        {
-           if (wmStateProp = GetWMState (win))
+           if ((wmStateProp = GetWMState (win)))
            {
                /*
                 * Already has a WM_STATE.
diff --git a/cde/programs/dtwm/WmParse.c b/cde/programs/dtwm/WmParse.c
index 21ec751..0f4a7b9 100644
--- a/cde/programs/dtwm/WmParse.c
+++ b/cde/programs/dtwm/WmParse.c
@@ -1142,7 +1142,7 @@ _DtWmParseNextLine (
        /* copy all but end-of-line and newlines to line buffer */
        {
             if (chlen == -1)
-              *(parseP)++;
+              parseP++;
            else
             {
                 while (chlen--)
@@ -1341,13 +1341,13 @@ _DtWmParseLineNumber (
  * 
  *************************************<->***********************************/
 
-void _DtWmParseToLower (unsigned char  *string)
+void _DtWmParseToLower (char  *string)
 {
-    unsigned char *pch = string;
+    char *pch = string;
 #ifdef MULTIBYTE
     int            chlen;
 
-    while ((chlen = mblen ((char *)pch, MB_CUR_MAX)) > 0)
+    while ((chlen = mblen (pch, MB_CUR_MAX)) > 0)
     {
         if ((chlen == 1) && (isupper (*pch)))
        {
@@ -1810,7 +1810,7 @@ _DtWmParseExpandEnvironmentVariables (
                    if (!pchNext)
                    {
                        /* it's the rest of the string */
-                       chSave = NULL;
+                       chSave = '\0';
                        bEatBreak = False;
                        pchNext = pch + strlen ((char *) pch);
                    }
diff --git a/cde/programs/dtwm/WmParse.h b/cde/programs/dtwm/WmParse.h
index 99be400..6bd8379 100644
--- a/cde/programs/dtwm/WmParse.h
+++ b/cde/programs/dtwm/WmParse.h
@@ -95,7 +95,7 @@ extern unsigned char * _DtWmParseNextChar(
 extern int _DtWmParseLineNumber( 
                         DtWmpParseBuf *pWmPB) ;
 extern void _DtWmParseToLower (
-                       unsigned char  *string);
+                       char  *string);
 extern unsigned int _DtWmParsePeekAhead(
                        unsigned char *currentChar,
                        unsigned int currentLev) ;
diff --git a/cde/programs/dtwm/WmProperty.c b/cde/programs/dtwm/WmProperty.c
index 798553b..24d4c84 100644
--- a/cde/programs/dtwm/WmProperty.c
+++ b/cde/programs/dtwm/WmProperty.c
@@ -45,6 +45,7 @@ static char rcsid[] = "$TOG: WmProperty.c /main/7 1997/12/02 
10:00:00 bill $"
 #ifdef WSM
 #include <Dt/WsmP.h>
 #include <X11/Xatom.h>
+#include <Xm/AtomMgr.h>
 #endif /* WSM */
 
 /*
@@ -1361,7 +1362,7 @@ SetWorkspaceInfoProperty (WmWorkspaceData *pWS)
     String sTitle;
     char **ppchList;
     int iNumStrings;
-    int count, iwin;
+    int count;
     int i, ix;
     Status status;
     XTextProperty tp;
@@ -1423,7 +1424,7 @@ SetWorkspaceInfoProperty (WmWorkspaceData *pWS)
 
     /* number of backdrop windows */
     ix = (i * WIP_NUMBER_SIZE);
-    if ((pWS->backdrop.window == None))
+    if (pWS->backdrop.window == None)
     {
        strcpy (&pch[ix], "0");
     }
@@ -1534,7 +1535,6 @@ WorkspacePropertyName (WmWorkspaceData *pWS)
     char *pch;
     char *pchName;
     int len;
-    Atom aProperty;
 
     /*
      * Construct our property name
diff --git a/cde/programs/dtwm/WmProperty.h b/cde/programs/dtwm/WmProperty.h
index b86af32..4113aa1 100644
--- a/cde/programs/dtwm/WmProperty.h
+++ b/cde/programs/dtwm/WmProperty.h
@@ -49,6 +49,7 @@ extern PropMwmInfo * GetMwmInfo (Window rootWindowOfScreen);
 extern void ProcessWmColormapWindows (ClientData *pCD);
 extern Colormap FindColormap (ClientData *pCD, Window window);
 extern MenuItem * GetMwmMenuItems (ClientData *pCD);
+extern void SetEmbeddedClientsProperty (Window propWindow, Window 
*pEmbeddedClients, unsigned long cEmbeddedClients);
 #ifdef WSM
 extern void GetInitialPropertyList (ClientData *pCD);
 extern Status GetWorkspaceHints (Display *display, Window window, Atom 
**ppWsAtoms, unsigned int *pCount, Boolean *pbAll);
diff --git a/cde/programs/dtwm/WmProtocol.c b/cde/programs/dtwm/WmProtocol.c
index a0c8c95..4de5775 100644
--- a/cde/programs/dtwm/WmProtocol.c
+++ b/cde/programs/dtwm/WmProtocol.c
@@ -174,7 +174,7 @@ void SetupWmICCC (void)
 
     XIconSize sizeList;
     int scr;
-    Atom atoms[XtNumber(atom_names)];
+    Atom atoms[XtNumber(atom_names) + 1];
 
     /*
      * Make atoms that are required by the ICCC and mwm.  The atom for
diff --git a/cde/programs/dtwm/WmResParse.c b/cde/programs/dtwm/WmResParse.c
index 717f6fc..e5b1457 100644
--- a/cde/programs/dtwm/WmResParse.c
+++ b/cde/programs/dtwm/WmResParse.c
@@ -61,7 +61,12 @@ static char rcsid[] = "$XConsortium: WmResParse.c /main/9 
1996/11/01 10:17:34 dr
 #endif /* PANELIST */
 #include "WmResource.h"
 
+#include "Dt/shellutils.h"     /* shellscan */
+
 #include <Xm/VirtKeysP.h>
+#include <Xm/XmPrivate.h>      /* _XmVirtKeysLoadFileBindings,
+                                * _XmVirtKeysLoadFallbackBindings */
+
 
 #include <X11/cursorfont.h>
 #include <X11/keysym.h>
@@ -171,7 +176,7 @@ static MaskTableEntry modifierStrings[] = {
     {"mod3",   Mod3Mask},
     {"mod4",   Mod4Mask},
     {"mod5",   Mod5Mask},
-    {NULL,      (unsigned int)NULL},
+    {NULL,      0},
 };
 
 #define ALT_INDEX 3
@@ -293,7 +298,7 @@ static unsigned int StrToHex(unsigned char *str);
 static unsigned int StrToOct(unsigned char *str);
 void ScanAlphanumeric (unsigned char **linePP);
 void ScanWhitespace(unsigned char  **linePP);
-void ToLower (unsigned char  *string);
+void ToLower (char  *string);
 void
 PWarning (char *message);
 static void ProcessAccelText (unsigned char *startP, unsigned char *endP,
@@ -334,14 +339,14 @@ static EventTableEntry buttonEvents[] = {
     {"btn5up",      ButtonRelease,  ParseImmed,    Button5,  FALSE},
     {"btn5click",   ButtonRelease,  ParseImmed,    Button5,  TRUE},
     {"btn5click2",  ButtonPress,    ParseImmed,    Button5,  TRUE},
-    { NULL, (unsigned int)NULL, (Boolean(*)())NULL, (unsigned int)NULL, 
(Boolean)NULL}
+    { NULL, 0, (Boolean(*)())NULL,  0, FALSE}
 };
 
 
 static EventTableEntry keyEvents[] = {
 
     {"key",         KeyPress,    ParseKeySym,    0,  FALSE},
-    { NULL, (unsigned int)NULL, (Boolean(*)())NULL, (unsigned int)NULL, 
(Boolean)NULL}
+    { NULL,         0,    (Boolean(*)())NULL,    0,  FALSE}
 };
 
 #ifdef PANELIST
@@ -1073,7 +1078,7 @@ Boolean FindDtSessionMatch(int commandArgc, char 
**commandArgv,
                            char **pWorkSpaceList, char *clientMachine)
 
 {
-    int count, item;
+    int count;
     int relCount;
     int argNum;
     SessionGeom *sessionGeom;
@@ -1615,7 +1620,7 @@ Boolean GetSessionHintsInfo (WmScreenData *pSD, long 
numItems)
         return(False);
     }
     
-    memset ((char *)pSD->pDtSessionItems, NULL,
+    memset ((char *)pSD->pDtSessionItems, 0,
            numItems * sizeof (DtSessionItem));
 
     return(True);
@@ -1894,9 +1899,6 @@ void ProcessWmFile (WmScreenData *pSD)
     unsigned int   n;
     MenuSpec      *menuSpec;
 #ifdef PANELIST
-    static Boolean conversionInProgress = False;
-    Arg args[10];
-    int argnum;
 
     if (!bNested)
     {
@@ -1974,7 +1976,7 @@ void ProcessWmFile (WmScreenData *pSD)
            continue;
        }
 
-       ToLower (string);
+       ToLower ((char *)string);
        if (!strcmp ((char *)string, MENU_SPEC))
        {
            ParseMenuSet (pSD, lineP);
@@ -3842,7 +3844,7 @@ int ParseWmFunction (unsigned char **linePP, unsigned int 
res_spec,
 
     if (string != NULL)
     {
-        ToLower (string);
+        ToLower ((char *)string);
        low = 0;
         high = WMFUNCTIONTABLESIZE - 1;
 
@@ -4074,7 +4076,7 @@ Boolean ParseWmFuncStrArg (unsigned char **linePP,
          */
 
 #ifndef NO_MULTIBYTE
-       if ((wmFunction == F_Exec))
+       if (wmFunction == F_Exec)
        {
            lastlen = 0;
            p = *pArgs;
@@ -4248,7 +4250,7 @@ static Boolean ParseWmFuncGrpArg (unsigned char **linePP,
         len = min (lineP - startP, MAX_GROUP_STRLEN);
         (void) strncpy ((char *)grpStr, (char *)startP, len);
         grpStr[len] = '\0';
-        ToLower (grpStr);
+        ToLower ((char *)grpStr);
 
         if (!strcmp ("icon", (char *)grpStr))
         {
@@ -4782,7 +4784,7 @@ static Boolean ParseContext (unsigned char **linePP, 
Context *context,
         len = min(lineP - startP, MAX_CONTEXT_STRLEN);
         (void) strncpy ((char *)ctxStr, (char *)startP, len);
         ctxStr[len] = '\0';
-        ToLower (ctxStr);
+        ToLower ((char *)ctxStr);
 
         if (!strcmp ("root", (char *)ctxStr))
         {
@@ -6048,7 +6050,7 @@ static Boolean LookupModifier (unsigned char *name, 
unsigned int *valueP)
 
     if (name != NULL)
     {
-        ToLower (name);
+        ToLower ((char *)name);
         for (i=0; modifierStrings[i].name != NULL; i++)
        {
            if (!strcmp (modifierStrings[i].name, (char *)name))
@@ -6099,7 +6101,7 @@ static Boolean GetCCIModifier (String modString, 
CCIEntryModifier *mod)
 
   if (modString != NULL)
     {
-      ToLower ((unsigned char *)modString);
+      ToLower (modString);
       for (i=NONE; i<=EXCLUDE; i++)
        {
          if (!strcmp (CCIEntryModifierNames[i], modString))
@@ -6261,7 +6263,7 @@ static Boolean ParseEventType (unsigned char **linePP, 
EventTableEntry *table,
         len = min (lineP - startP, MAX_EVENTTYPE_STRLEN);
         (void) strncpy ((char *)eventTypeStr, (char *)startP, len);
         eventTypeStr[len] = '\0';
-        ToLower (eventTypeStr);
+        ToLower ((char *)eventTypeStr);
 
         for (len = 0; table[len].event != NULL; len++)
             if (!strcmp (table[len].event, (char *)eventTypeStr))
@@ -6679,13 +6681,13 @@ void ScanWhitespace(unsigned char  **linePP)
  * 
  *************************************<->***********************************/
 
-void ToLower (unsigned char  *string)
+void ToLower (char  *string)
 {
-    unsigned char *pch = string;
+    char *pch = string;
 #ifndef NO_MULTIBYTE
     int            chlen;
 
-    while (*pch && ((chlen = mblen ((char *)pch, MB_CUR_MAX)) > 0))
+    while (*pch && ((chlen = mblen (pch, MB_CUR_MAX)) > 0))
     {
         if ((chlen == 1) && (isupper (*pch)))
        {
@@ -7315,9 +7317,6 @@ void ProcessMotifBindings (void)
     XDeleteProperty (DISPLAY, RootWindow (DISPLAY, 0),
                XInternAtom (DISPLAY, "_MOTIF_DEFAULT_BINDINGS", False));
 
-    /* FIXME: unexported openmotif procedures */
-    extern Boolean _XmVirtKeysLoadFileBindings(Display *dsp, String *binding);
-    extern void _XmVirtKeysLoadFallbackBindings(Display *dsp, String *binding);
     if (_XmVirtKeysLoadFileBindings (fileName, &bindings) == True) {
        XChangeProperty (DISPLAY, RootWindow(DISPLAY, 0),
                XInternAtom (DISPLAY, "_MOTIF_BINDINGS", False),
@@ -7805,7 +7804,6 @@ ConfigStackPush (unsigned char *pchFileName)
 
 static void ConfigStackPop (void)
 {
-    Boolean error = False;
     ConfigFileStackEntry *pPrev;
     char pchCmd[MAXWMPATH+1];
 
@@ -7911,16 +7909,16 @@ Boolean ParseWmFuncActionArg (unsigned char **linePP,
        pAP->actionName = XtNewString ((char *) string);
 
        /* Get action arguments, if any */
-       if (pAP->aap = (DtActionArg *) 
-               XtMalloc (WM_ACTION_ARG_INCREMENT * sizeof (DtActionArg)))
+       if ((pAP->aap = (DtActionArg *)
+               XtMalloc (WM_ACTION_ARG_INCREMENT * sizeof (DtActionArg))))
        {
            iArgSz = WM_ACTION_ARG_INCREMENT;
            pAP->numArgs = 0;
 
            while ((string = GetString (linePP)) != NULL)
            {
-              if (pAP->aap[pAP->numArgs].u.file.name = (char *)
-                      XtMalloc(1 + strlen((char *)string)))
+              if ((pAP->aap[pAP->numArgs].u.file.name = (char *)
+                      XtMalloc(1 + strlen((char *)string))))
               {
                   pAP->aap[pAP->numArgs].argClass = DtACTION_FILE;
 
diff --git a/cde/programs/dtwm/WmResource.c b/cde/programs/dtwm/WmResource.c
index af86d8c..a92d8aa 100644
--- a/cde/programs/dtwm/WmResource.c
+++ b/cde/programs/dtwm/WmResource.c
@@ -2811,7 +2811,6 @@ _WmBackdropBgDefault (Widget widget, int offset, XrmValue 
*value)
 {
     static Pixel pixValue;
     unsigned int colorSetId = (unsigned int) pResWS->backdrop.colorSet;
-    WmScreenData *pSD;
 
     if (wmGD.statusColorServer == CSERVE_NORMAL)
     {
@@ -2857,7 +2856,6 @@ _WmBackdropFgDefault (Widget widget, int offset, XrmValue 
*value)
 {
     static Pixel pixValue;
     unsigned int colorSetId = (unsigned int) pResWS->backdrop.colorSet;
-    WmScreenData *pSD;
 
     if (wmGD.statusColorServer == CSERVE_NORMAL)
     {
@@ -3468,7 +3466,7 @@ WriteOutXrmColors (WmScreenData *pSD)
     XrmDatabase     db;
     XrmValue        value;
     int                    thisScreen = pSD->screen;
-    XmPixelSet     *tpixset, *ppixset;
+    XmPixelSet     *tpixset;
     XmPixelSet     *spixset;
 
     char *res_class;
@@ -5304,7 +5302,7 @@ ProcessWorkspaceResources (WmWorkspaceData *pWS)
        WmNbackdrop, WmCBackdrop, wmBackdropResources, 
        XtNumber (wmBackdropResources), NULL, 0);
 
-    ProcessBackdropResources (pWS, NULL);
+    ProcessBackdropResources (pWS, 0);
 #endif /* WSM */
 
 } /* END OF FUNCTION ProcessWorkspaceResources */
diff --git a/cde/programs/dtwm/WmSignal.c b/cde/programs/dtwm/WmSignal.c
index 538739c..bf20a26 100644
--- a/cde/programs/dtwm/WmSignal.c
+++ b/cde/programs/dtwm/WmSignal.c
@@ -41,6 +41,7 @@ static char rcsid[] = "$XConsortium: WmSignal.c /main/6 
1996/10/17 16:20:07 drk
 
 #include "WmGlobal.h" /* This should be the first include */
 #include <signal.h>
+#include <unistd.h>
 
 
 /*
@@ -166,7 +167,9 @@ RestoreDefaultSignalHandlers (void)
 
 void SetupWmSignalHandlers (int dummy)
 {
+#ifndef WSM
     void (*signalHandler) ();
+#endif
 
 #ifdef WSM
     struct sigaction   sa;
diff --git a/cde/programs/dtwm/WmWinConf.c b/cde/programs/dtwm/WmWinConf.c
index 0a5fad4..8210723 100644
--- a/cde/programs/dtwm/WmWinConf.c
+++ b/cde/programs/dtwm/WmWinConf.c
@@ -90,6 +90,7 @@ static char rcsid[] = "$XConsortium: WmWinConf.c /main/8 
1996/10/30 11:15:17 drk
 #include "WmFeedback.h"
 #include "WmFunction.h"
 #include "WmIDecor.h"
+#include "WmIPC.h"
 #include "WmIPlace.h"
 #include "WmIconBox.h"
 #include "WmKeyFocus.h"
@@ -4153,7 +4154,7 @@ StartMarqueeSelect(WmScreenData *pSD, XEvent *pev)
     Window grab_win, junk_win;
     Boolean grabbed;
     int big_inc;
-    int junk, junkX, junkY;
+    int junk;
 
     if (!pSD->bMarqueeSelectionInitialized)
     {
diff --git a/cde/programs/dtwm/WmWinInfo.c b/cde/programs/dtwm/WmWinInfo.c
index 82022bb..74cd77d 100644
--- a/cde/programs/dtwm/WmWinInfo.c
+++ b/cde/programs/dtwm/WmWinInfo.c
@@ -69,6 +69,7 @@ static char rcsid[] = "$TOG: WmWinInfo.c /main/18 1999/02/04 
15:17:25 mgreess $"
 #include "WmImage.h"
 #include "WmManage.h"
 #include "WmMenu.h"
+#include "WmOL.h"
 #include "WmProperty.h" 
 #include "WmResource.h"
 #ifdef WSM
@@ -597,7 +598,7 @@ int i;
     pCD->sizeWsList = pCD->pSD->numWorkspaces;
     for (i = 0; i < pCD->pSD->numWorkspaces; i++)
     {
-       pCD->pWsList[i].wsID = NULL;
+       pCD->pWsList[i].wsID = 0L;
        pCD->pWsList[i].iconPlace = NO_ICON_PLACE;
        pCD->pWsList[i].iconX = 0;
        pCD->pWsList[i].iconY = 0;
@@ -1307,7 +1308,7 @@ ProcessWmHints (ClientData *pCD, Boolean firstTime)
                    for (iws = 0; iws< pCD->numInhabited; iws++)
                    {
                        pWsc = &(pCD->pWsList[iws]);
-                       if (pWsTmp=GetWorkspaceData(pCD->pSD, pWsc->wsID))
+                       if ((pWsTmp=GetWorkspaceData(pCD->pSD, pWsc->wsID)))
                        {
                            tmpIconX = (pCD->clientFlags & SM_ICON_X) ?
                              pWsc->iconX : pXWMHints->icon_x;
@@ -1331,7 +1332,7 @@ ProcessWmHints (ClientData *pCD, Boolean firstTime)
                    for (iws = 0; iws< pCD->numInhabited; iws++)
                    {
                        pWsc = &(pCD->pWsList[iws]);
-                       if (pWsTmp=GetWorkspaceData(pCD->pSD, pWsc->wsID))
+                       if ((pWsTmp=GetWorkspaceData(pCD->pSD, pWsc->wsID)))
                        {
                            if (!(pCD->clientFlags & SM_ICON_X))
                                pWsc->iconX = pXWMHints->icon_x;
diff --git a/cde/programs/dtwm/WmWinList.c b/cde/programs/dtwm/WmWinList.c
index 5090e9a..bf46434 100644
--- a/cde/programs/dtwm/WmWinList.c
+++ b/cde/programs/dtwm/WmWinList.c
@@ -54,6 +54,7 @@ static char rcsid[] = "$TOG: WmWinList.c /main/8 1997/06/10 
15:50:50 samborn $"
  */
 #include "WmWinList.h"
 #include "WmCEvent.h"
+#include "WmEvent.h"
 #include "WmFunction.h"
 #include "WmKeyFocus.h"
 #include "WmMenu.h"
@@ -2559,7 +2560,7 @@ LowestWindowInTransientFamily (ClientData *pcdLeader)
        {
            /* cannot get memory space */
            size = 0;
-           return;
+           return None;
        }
        size = count + 5;
     }
@@ -2667,7 +2668,7 @@ MakeTransientFamilyStackingList (
        ClientData *pcdLeader)
 
 {
-    ClientData *pcdNext, *pcdSub;
+    ClientData *pcdSub;
     Window *nextWindow, wSave, wTemp, wTop;
     int count = CountTransientChildren (pcdLeader);
     register int i, j;
diff --git a/cde/programs/dtwm/WmWrkspace.c b/cde/programs/dtwm/WmWrkspace.c
index ae3d0f2..e1df4cc 100644
--- a/cde/programs/dtwm/WmWrkspace.c
+++ b/cde/programs/dtwm/WmWrkspace.c
@@ -984,11 +984,11 @@ GetClientWorkspaceInfo(
     pCD->numInhabited = 0;             /* no valid ones yet */
     for (i = 0; i < pCD->pSD->numWorkspaces; i++)
     {
-       pCD->pWsList[i].wsID = NULL;
+       pCD->pWsList[i].wsID = None;
        pCD->pWsList[i].iconPlace = NO_ICON_PLACE;
        pCD->pWsList[i].iconX = 0;
        pCD->pWsList[i].iconY = 0;
-       pCD->pWsList[i].iconFrameWin = NULL;
+       pCD->pWsList[i].iconFrameWin = None;
        pCD->pWsList[i].pIconBox = NULL;
     }
     pCD->putInAll = bAll = False;
@@ -1217,7 +1217,7 @@ ConvertNamesToIDs(
         strcpy ((char *)pchLocal, (char *)pchIn);
        pch = pchLocal;
 
-       while (pchName = GetSmartString (&pch))
+       while ((pchName = GetSmartString (&pch)))
        {
            int iwsx;
            XmString xms;
@@ -2229,8 +2229,8 @@ ProcessWorkspaceHintList(
                     * Put the client into requested workspaces that
                     * exist.
                     */
-                   if (pWS = GetWorkspaceData (pCD->pSD, 
-                                               pCD->pWorkspaceHints[i]))
+                   if ((pWS = GetWorkspaceData (pCD->pSD, 
+                                               pCD->pWorkspaceHints[i])))
                    {
                        PutClientIntoWorkspace (pWS, pCD);
                    }
@@ -3728,7 +3728,7 @@ SaveWorkspaceResources(
                    clientY -= (pCD_Panel->frameInfo.upperBorderWidth +
                                pCD_Panel->frameInfo.titleBarHeight);
                }
-               sprintf (tmpBuffer, "+%d+%d\0", clientX, clientY);
+               sprintf (tmpBuffer, "+%d+%d", clientX, clientY);
            }
            else
            {
@@ -3739,7 +3739,7 @@ SaveWorkspaceResources(
                    clientY -= pCD_Panel->frameInfo.lowerBorderWidth;
                }
 
-               sprintf (tmpBuffer, "+%d-%d\0", clientX, clientY);
+               sprintf (tmpBuffer, "+%d-%d", clientX, clientY);
            }
        }
        else
@@ -3759,7 +3759,7 @@ SaveWorkspaceResources(
                    clientY -= (pCD_Panel->frameInfo.upperBorderWidth +
                                pCD_Panel->frameInfo.titleBarHeight);
                }
-               sprintf (tmpBuffer, "-%d+%d\0", clientX, clientY);
+               sprintf (tmpBuffer, "-%d+%d", clientX, clientY);
            }
            else
            {
@@ -3769,7 +3769,7 @@ SaveWorkspaceResources(
                {
                    clientY -= pCD_Panel->frameInfo.lowerBorderWidth;
                }
-               sprintf (tmpBuffer, "-%d-%d\0", clientX, clientY);
+               sprintf (tmpBuffer, "-%d-%d", clientX, clientY);
            }
        }
 
@@ -3824,7 +3824,7 @@ SaveWorkspaceResources(
            clientY = pWS->pIconBox->pCD_iconBox->clientY;
        }
 
-       sprintf (buffer, "%dx%d+%d+%d\0", clientWidth, clientHeight,
+       sprintf (buffer, "%dx%d+%d+%d", clientWidth, clientHeight,
                 clientX, clientY);
 
        pWS->iconBoxGeometry  = strdup( buffer);
diff --git a/cde/programs/dtwm/WmWrkspace.h b/cde/programs/dtwm/WmWrkspace.h
index 15328a2..750395d 100644
--- a/cde/programs/dtwm/WmWrkspace.h
+++ b/cde/programs/dtwm/WmWrkspace.h
@@ -100,6 +100,7 @@ extern WsClientData * GetWsClientData(
                         ClientData *pCD) ;
 extern void SetClientWsIndex( 
                         ClientData *pCD) ;
+void ProcessDtWmHints (ClientData *pCD) ;
 extern Boolean ProcessWorkspaceHints( 
                         ClientData *pCD) ;
 extern void ProcessWorkspaceHintList( 
-- 
1.7.9.2


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to