head	1.3;
access;
symbols
	RELEASE_4_3_0:1.2
	RELEASE_4_2_0:1.2
	RELEASE_4_1_1:1.2
	RELEASE_4_1_0:1.2
	RELEASE_3_5_0:1.2
	RELEASE_4_0_0:1.2
	RELEASE_3_4_0:1.2
	RELEASE_3_3_0:1.2
	RELEASE_3_2_0:1.2
	RELEASE_3_1_0:1.2
	RELEASE_2_2_8:1.2
	RELEASE_3_0_0:1.2
	RELEASE_2_2_7:1.2
	RELEASE_2_2_6:1.2
	RELEASE_2_2_5:1.1;
locks; strict;
comment	@# @;


1.3
date	2001.07.21.23.41.40;	author jdp;	state dead;
branches;
next	1.2;

1.2
date	98.01.17.21.12.15;	author jdp;	state Exp;
branches;
next	1.1;

1.1
date	97.07.28.21.49.54;	author jdp;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Remove the old modula-3 and modula-3-lib ports.  They are superseded
by the pm3-* family of ports, which build a newer and better-maintained
version of Modula-3.  I have converted all ports which depended on
modula-3 to use pm3-* instead.

PR:		ports/27664 is rendered irrelevant
@
text
@This fixes a couple of problems in the setting of the WM_NORMAL_HINTS
window manager property.

The flags were set indicating that the width, height, x, and y fields
were valid, but these fields in fact contained garbage.  Since the
fields are obsolete now (starting with X11R5), I simply removed the
code that set the corresponding flags.

Also, the base_width, base_height, width_inc, and height_inc fields
were not set.  This caused the window manager to display incorrect
values for window size while resizing it.

I have sent this patch to DEC SRC.

--- m3/ui/src/xvbt/XClient.m3.orig	Mon Mar  6 17:44:15 1995
+++ m3/ui/src/xvbt/XClient.m3	Mon Jul 28 13:45:30 1997
@@@@ -520,7 +520,7 @@@@
       BEGIN
         ur.sh := sh;
         ur.sv := sv;
-        SetSizeHints(xSizeHints, width, height, sh, sv, st, userPosition);
+        SetSizeHints(xSizeHints, width, height, sh, sv, st);
       END;
       xwa.border_pixel := 0;
       xwa.bit_gravity := X.NorthWestGravity;
@@@@ -1080,19 +1080,17 @@@@
 PROCEDURE SetSizeHints (VAR      xhints       : X.XSizeHints;
                         VAR      width, height: CARDINAL;
                         READONLY sh, sv       : VBT.SizeRange;
-                                 st           : XScreenType.T;
-                                 userPosition : BOOLEAN        ) =
+                                 st           : XScreenType.T  ) =
   BEGIN
     IF sv.hi < VBT.DefaultShape.hi OR sh.hi < VBT.DefaultShape.hi THEN
-      xhints.flags := X.PMinSize + X.PMaxSize
+      xhints.flags := X.PMinSize + X.PMaxSize + X.PResizeInc + X.PBaseSize
     ELSE
-      xhints.flags := X.PMinSize
-    END;
-    IF userPosition THEN
-      INC(xhints.flags, X.USPosition + X.USSize)
-    ELSE
-      INC(xhints.flags, X.PPosition + X.PSize)
+      xhints.flags := X.PMinSize + X.PResizeInc + X.PBaseSize
     END;
+    xhints.base_width := 0;
+    xhints.base_height := 0;
+    xhints.width_inc := 1;
+    xhints.height_inc := 1;
     xhints.min_width := sh.lo;
     xhints.max_width :=
       MAX(MIN(sh.hi - 1, Rect.HorSize(st.rootDom)), sh.lo);
@@@@ -1125,7 +1123,7 @@@@
     sh                                  := s[Axis.T.Hor];
     sv                                  := s[Axis.T.Ver];
   BEGIN
-    SetSizeHints(xhints, width, height, sh, sv, st, ur.userPosition);
+    SetSizeHints(xhints, width, height, sh, sv, st);
     TRY
       Enter(v);
       TRY
@


1.2
log
@Fix all the paths in context diff headers and remove the Index
lines, since the WORTHLESS, BROKEN new version of patch ignores
them.
@
text
@@


1.1
log
@Add a patch to fix an incorrectly set WM_NORMAL_HINTS property for
X11 applications.  The bug caused some minor problems in window
positioning and resizing.
@
text
@d15 2
a16 3
Index: m3/ui/src/xvbt/XClient.m3
--- XClient.m3.orig	Mon Mar  6 17:44:15 1995
+++ XClient.m3	Mon Jul 28 13:45:30 1997
@
