diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ff49d83c0b..8620f79430 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,13 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2007-09-14 18:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * harbour/source/rtl/tbrowse.prg + ! Fixed cell color. This was needed because the oCol:colorBlock() + now always contains a block (it cannot be NIL) to be CA-Cl*pper + compatible, so the logic had to be adjusted in :DispCell() + accordingly. + 2007-09-14 07:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbsxdef.ch * harbour/contrib/pdflib/pdflib.h diff --git a/harbour/source/rtl/tbrowse.prg b/harbour/source/rtl/tbrowse.prg index 4760af5f59..9ecf4cb271 100644 --- a/harbour/source/rtl/tbrowse.prg +++ b/harbour/source/rtl/tbrowse.prg @@ -1458,6 +1458,7 @@ METHOD DispCell( nRow, nCol, nMode ) CLASS TBrowse local ftmp := Eval( oCol:block ) local cType := ValType( ftmp ) local cPict := iif( Empty( oCol:Picture ), "", oCol:Picture ) + local aDefColor local tmp @@ -1471,7 +1472,12 @@ METHOD DispCell( nRow, nCol, nMode ) CLASS TBrowse ! Empty( ::aRectColor ) cColor := tbr_GetColor( ::cColorSpec, ::aRectColor, nMode ) else - cColor := tbr_GetColor( ::cColorSpec, iif( oCol:ColorBlock == NIL, oCol:defColor, Eval( oCol:ColorBlock, ftmp ) ), nMode ) + /* NOTE: Not very optimal that we're evaluating this block all the time. + But CA-Cl*pper always has a block here, and there is no other way + to tell if the code in it is NIL (the default) or something valuable. + [vszakats] */ + aDefColor := Eval( oCol:colorBlock, ftmp ) + cColor := tbr_GetColor( ::cColorSpec, iif( ISARRAY( aDefColor ), aDefColor, oCol:defColor ), nMode ) endif do case