diff -urNwb -x CVS -x WIN32_20.1_i386_DBG -x WIN32_20.1_i386_OBJ -x abidiff.cmd -x patch.txt -x .#*.* abi.org\src\/text/fmt/xp/fl_BlockLayout.cpp abi.839\src\/text/fmt/xp/fl_BlockLayout.cpp --- abi.org\src\/text/fmt/xp/fl_BlockLayout.cpp Thu May 11 09:00:57 2000 +++ abi.839\src\/text/fmt/xp/fl_BlockLayout.cpp Mon May 15 18:18:59 2000 @@ -307,7 +307,7 @@ UT_ASSERT(iPosLen < sizeof pszPosition); memcpy(pszPosition, pStart, iPosLen); - pszPosition[i] = 0; + pszPosition[iPosLen] = 0; iPosition = pG->convertDimension(pszPosition); diff -urNwb -x CVS -x WIN32_20.1_i386_DBG -x WIN32_20.1_i386_OBJ -x abidiff.cmd -x patch.txt -x .#*.* abi.org\src\/wp/ap/xp/ap_TopRuler.cpp abi.839\src\/wp/ap/xp/ap_TopRuler.cpp --- abi.org\src\/wp/ap/xp/ap_TopRuler.cpp Thu Apr 20 09:03:47 2000 +++ abi.839\src\/wp/ap/xp/ap_TopRuler.cpp Mon May 15 20:54:10 2000 @@ -1721,6 +1721,14 @@ UT_sint32 oldDraggingCenter = m_draggingCenter; UT_Rect oldDraggingRect = m_draggingRect; m_draggingCenter = xAbsLeft + xgrid; + + UT_sint32 iLeftPos = xAbsLeft + m_infoCache.u.c.m_xColumnWidth - m_infoCache.m_xrRightIndent; + + if((UT_sint32)m_infoCache.u.c.m_xColumnWidth + xAbsLeft - m_draggingCenter - m_infoCache.m_xrRightIndent < (UT_sint32)m_minColumnWidth) + { + m_draggingCenter = xAbsLeft + m_infoCache.u.c.m_xColumnWidth - m_infoCache.m_xrRightIndent - m_minColumnWidth; + } + _getParagraphMarkerRects(&m_infoCache,m_draggingCenter,0,0,&m_draggingRect,NULL,NULL); if (!m_bBeforeFirstMotion && (m_draggingCenter != oldDraggingCenter)) draw(&oldDraggingRect,&m_infoCache); @@ -1758,6 +1766,15 @@ UT_Rect oldDragging2Rect = m_dragging2Rect; m_draggingCenter = xAbsLeft + xgrid; m_dragging2Center = xAbsLeft + xgridTagAlong; + + UT_sint32 iLeftPos = xAbsLeft + m_infoCache.u.c.m_xColumnWidth - m_infoCache.m_xrRightIndent; + + if((UT_sint32)m_infoCache.u.c.m_xColumnWidth + xAbsLeft - m_draggingCenter - m_infoCache.m_xrRightIndent < (UT_sint32)m_minColumnWidth) + { + m_draggingCenter = xAbsLeft + m_infoCache.u.c.m_xColumnWidth - m_infoCache.m_xrRightIndent - m_minColumnWidth; + m_dragging2Center = m_draggingCenter + xgridTagAlong - xgrid; + } + _getParagraphMarkerRects(&m_infoCache, m_draggingCenter,0,m_dragging2Center, &m_draggingRect,NULL,&m_dragging2Rect); @@ -1789,6 +1806,13 @@ UT_sint32 oldDraggingCenter = m_draggingCenter; UT_Rect oldDraggingRect = m_draggingRect; m_draggingCenter = xAbsRight - xgrid; + + UT_sint32 iLeftMaxPos = UT_MAX(m_infoCache.m_xrLeftIndent,m_infoCache.m_xrLeftIndent + m_infoCache.m_xrFirstLineIndent); + if(m_draggingCenter - (iLeftMaxPos + xAbsLeft) < m_minColumnWidth) + { + m_draggingCenter = xAbsLeft + iLeftMaxPos + m_minColumnWidth; + } + _getParagraphMarkerRects(&m_infoCache,0,m_draggingCenter,0,NULL,&m_draggingRect,NULL); if (!m_bBeforeFirstMotion && (m_draggingCenter != oldDraggingCenter)) draw(&oldDraggingRect,&m_infoCache);