diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 39db80e7b8..c574d42c07 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,20 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-05-20 20:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/bin/hb-func.sh + * added HB_USR_LIBS set during build time to list of predefined libs + in hb* scripts + + * harbour/source/rtl/hbgtcore.c + ! fixed horizontal scrolling. Warning CTIII does not support + horizontal scrolling and ignores 6-th scroll parameters. + This behavior is intentionally not replicated in CTWIN + though it can be easy added if someone will need it but + covered with some macro to not change default builds. + It will be enough to overload SCROLL() method and set + iCol = 0 before calling SUPER_SCROLL(). + 2008-05-20 17:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbvpdf/hbvpdft.prg ! Fixed include filename to be in lower case. diff --git a/harbour/bin/hb-func.sh b/harbour/bin/hb-func.sh index dcd1c6fa2b..d19328a33c 100755 --- a/harbour/bin/hb-func.sh +++ b/harbour/bin/hb-func.sh @@ -88,7 +88,7 @@ mk_hbgetlibsctb() then libs="$libs gtwin" fi - echo -n "$libs rddads hbct hbnf hbzlib hbtip xhb hbgd hbodbc hbpg hbmysql rddado hbw32 gtwvg" + echo -n "$libs rddads hbct hbnf hbzlib hbtip xhb hbgd hbodbc hbpg hbmysql rddado hbw32 gtwvg $HB_USR_LIBS" else echo -n "$@" fi diff --git a/harbour/source/rtl/hbgtcore.c b/harbour/source/rtl/hbgtcore.c index eb86aacfc2..d287cc2684 100644 --- a/harbour/source/rtl/hbgtcore.c +++ b/harbour/source/rtl/hbgtcore.c @@ -1067,11 +1067,11 @@ static void hb_gt_def_Scroll( PHB_GT pGT, int iTop, int iLeft, int iBottom, int iColSize = iRight - iLeft; iLength = iColSize + 1; iColOld = iColNew = iLeft; - if ( iCols >= 0 ) + if( iCols >= 0 ) { iColOld += iCols; iColSize -= iCols; - iColClear = iColOld + iColSize + 1; + iColClear = iColOld + iColSize - 1; iClrs = iCols; } else @@ -1103,7 +1103,8 @@ static void hb_gt_def_Scroll( PHB_GT pGT, int iTop, int iLeft, int iBottom, int else iRowPos = iBottom--; - if( pBuffer && iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) + if( pBuffer && ( iRows == 0 || + ( iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) ) ) { HB_GTSELF_SAVE( pGT, iRowPos + iRows, iColOld, iRowPos + iRows, iColOld + iColSize, pBuffer ); HB_GTSELF_REST( pGT, iRowPos, iColNew, iRowPos, iColNew + iColSize, pBuffer ); @@ -1140,11 +1141,11 @@ static void hb_gt_def_ScrollArea( PHB_GT pGT, int iTop, int iLeft, int iBottom, iLength = iColSize + 1; iColOld = iColNew = iLeft; - if ( iCols >= 0 ) + if( iCols >= 0 ) { iColOld += iCols; iColSize -= iCols; - iColClear = iColOld + iColSize + 1; + iColClear = iColOld + iColSize - 1; iClrs = iCols; } else @@ -1170,7 +1171,8 @@ static void hb_gt_def_ScrollArea( PHB_GT pGT, int iTop, int iLeft, int iBottom, else iRowPos = iBottom--; - if( fMove && iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) + if( fMove && ( iRows == 0 || + ( iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) ) ) { lIndex = ( long ) iRowPos * iWidth + iColNew; if( lOffset < 0 ) @@ -1422,7 +1424,7 @@ static BOOL hb_gt_def_SetKeyCP( PHB_GT pGT, char * pszTermCDP, char * pszHostCDP static BOOL hb_gt_def_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) { - switch ( iType ) + switch( iType ) { case HB_GTI_ISGRAPHIC: case HB_GTI_FULLSCREEN: @@ -1882,7 +1884,7 @@ static int hb_gt_def_SetFlag( PHB_GT pGT, int iType, int iNewValue ) { int iPrevValue = 0; - switch ( iType ) + switch( iType ) { case HB_GTI_COMPATBUFFER: iPrevValue = pGT->fVgaCell;