*** \\10.0.0.1\dwilliss\lesstif\lib\ScrolledW.c	Sat Oct 19 12:17:32 2002 UTC
--- C:\home\dev\tnt70\Xlibs\lesstif\lib\Xm-2.1\ScrolledW.c	Tue Jun 15 20:55:17 2004 UTC
***************
*** 2245,2252 ****
  
      if (res == XtGeometryYes || res == XtGeometryDone)
      {
- 	vals->SwW = request.width;
! 	vals->SwH = request.height;
      }
      else
      {
--- 2245,2255 ----
  
      if (res == XtGeometryYes || res == XtGeometryDone)
      {
+        /* 15-Jun-04 - dwilliss - Geometry request may have returned Yes, but only after
+        * rejecting one or the other change - If so, take what we can and return Almost */
+         vals->SwW = (request.request_mode & CWWidth) ? request.width : XtWidth(w);
! 	vals->SwH = (request.request_mode & CWHeight) ? request.height : XtHeight(w);
+ 	if ((request.request_mode & (CWWidth|CWHeight)) != (CWWidth|CWHeight)) res = XtGeometryAlmost;
      }
      else
      {
***************
*** 3063,3069 ****
      dx = dy = 0;
  
      /* figure dx */
-     if (wx < cx)
      {
  	dx = cx - wx + left_right_margin;
      }
--- 3066,3072 ----
      dx = dy = 0;
  
      /* figure dx */
+     if (wx <= cx) /* changed to <= to closer mimic M*tif */
      {
  	dx = cx - wx + left_right_margin;
      }
***************
*** 3072,3078 ****
  	dx = -((wx + ww) - (cx + cw) + left_right_margin);
      }
      /* figure dy */
!     if (wy < cy)
      {
  	dy = cy - wy + top_bottom_margin;
      }
--- 3075,3081 ----
  	dx = -((wx + ww) - (cx + cw) + left_right_margin);
      }
      /* figure dy */
!     if (wy <= cy)
      {
  	dy = cy - wy + top_bottom_margin;
      }
