Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!mailrus!purdue!decwrl!hplabs!hp-pcd!hpcvlx!fred
From: fred@hpcvlx.HP.COM (Fred Taft)
Newsgroups: comp.windows.x
Subject: Re: HP's Xtk Fixes (as Context Diffs)
Message-ID: <1610044@hpcvlx.HP.COM>
Date: 19 Aug 88 19:51:25 GMT
References: <1610043@hpcvlx.HP.COM>
Organization: Hewlett-Packard Co., Corvallis, OR, USA
Lines: 38

VERSION:
	Xtk release 2

SYNOPSIS:
	XtConvertStringToBoolean() does an incorrect variable
        cast.

DESCRIPTION:
        XtConvertStringToBoolean() miscasts a boolean pointer as an
        integer pointer, and thus extracts the wrong byte on 68000
        architectures. This shows up it you attempt to use the MenuPopup
        action exported by the translation manager.

REPEAT BY:
        Attempt to use the MenuPopup action; the shell does not get
        marked as sticky, and it does not get put on the grab list.

FIX:

*** TMstate.c	Fri Aug 19 12:40:40 1988
--- TMstate.new.c	Fri Aug 19 12:40:15 1988
***************
*** 1287,1293
      XtConvert((Widget) NULL, XtRString, &fromVal, XtRBoolean, &toVal);
      if (toVal.addr == NULL) return FALSE;
  
!     *bP = (Boolean) *(int *)toVal.addr;
  
      return TRUE;
  }

--- 1341,1347 -----
      XtConvert((Widget) NULL, XtRString, &fromVal, XtRBoolean, &toVal);
      if (toVal.addr == NULL) return FALSE;
  
!     *bP = *(Boolean *)toVal.addr;
  
      return TRUE;
  }