* include/set.ch
* include/hbset.h
* source/rtl/set.c
* source/vm/fm.c
* source/vm/extrap.c
+ Added: Set( _SET_HBOUTLOG[, <cFileName>] ) -> <cOldFileName>
Default value: "hb_out.log"
This replaces hb_fm.log and hb_ex.log, and makes it possible
for the applications to control the filename where these
internal Harbour outputs are written to.
* source/rtl/gtwvt/gtwvt.c
% Minor redundancy removed.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvtutils.c
* contrib/gtwvg/wvtcore.c
* contrib/gtwvg/wvtpaint.prg
* contrib/gtwvg/gtwvg.h
+ contrib/gtwvg/hbgtwvg.ch
! Syntactically and parameters wise GTWVG matches GTWVT.
! More functions ported to Hb_GtInfo().
! wvtcore.c and wvtutils.c are now based on function call
instead of static variables.
+ Separate hbgtwvg.ch included containg GTI_ constants
proprietory to GTWVG only.
! Organizing, formatting and code clean ups.
; TODO: Separate HB_GTWVT structure in 3 units
1) Core GT member.
2) WVG specif member - per GT.
3) GDI members
Work-in-progress. Please deffer updates in GTWVG.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvtutils.c
* contrib/gtwvg/wvtcore.c
* contrib/gtwvg/wvtpaint.prg
* contrib/gtwvg/wvtclass.prg
+ Implemented all features recently added in gtwvt.
* contrib/gtwvg/tests/demowvg.prg
* Just refreshed to match the date/time stamps with gtwvg.lib
; This is first attempt in this series of optimizations in gtwvg
to synchronize it with gtwvt builing a basis for inheretance
from gtwvt.
Now all EXPORTed funtions in gtwvg.c are stripped and isolated
in wvtpaint.prg as prg code taking use of Hb_GtInfo() architecture.
gtwvg.c contains only static functions and as such GT layer is made
self contained. For this to happen I had to define few more GTI_*
constants which goes in gtwvg.h and local to wvtpaint.prg. One or two
of them validly become candidate fot gtwvt/hbgtinfo.ch also.
TODO: To clean wvtutils.c by plugging the functionality in HB_GTINFO
structure. Please do not update any of these files.
* source/rtl/gtwvt/gtwvt.c
! Fixed window trashing for tall/wide windows where the
content cannot fill the entire window client area.
; There is still a great amount of flickering, while doing
the resize. I wonder if there is any solution for this
besides turning off full-content drag/resize. Anyways
it's only really bad when trying insane sizes, so it's
not a big problem for normal usage.
* contrib/hbmisc/strfmt.c
+ contrib/hbmisc/tests/tsstrfmt.prg
+ StrFormat() extended to automatically convert parameters
to strings, above that the result will AllTrim()-med too
before being inserted into the mask string:
StrFormat( "%2 %1 born on %3", "Smith", "Mr.", Date() ) ->
"Mr. Smith born on 06/12/08"
* source/rtl/gtwvt/gtwvt.c
% Minor optimization in new screen marking code.
* contrib/hbmisc/strfmt.c
* Cleanup, optimization, some internal limits removed.
* contrib/hbmisc/spd.c
* Former _SPD() function renamed to SQL_SPRINTF()
* harbour/source/rtl/gtwvt/gtwvt.c
! Completely removed flickering under Mark and Copy operation
without lengthy calculations. Forwarded by Andy Wos - thanks.
; Viktor, now first row and column are being selected.
When right < left only then first column is not accessible
but it is very rare in practical application.
* contrib/hbct/fcopy.prg
! Fixed crash in FILECOPY() (reported by Mario H. Sabado)
[TOMERGE RC1 - if correct]
* contrib/hbodbc/odbc.c
* Using sizeof() wherever possible.
! SQLGETDATA(): One strcpy() converted to hb_strncpy()
+ SQLGETDATA(): One TOFIX added for strcat() usage and
possible buffer overrun.
Also, it looks to me that both of the above
would better be replaced by memcpy() calls
otherwise it cannot support embedded '\0's.
Anyone?
* source/rtl/gtwvt/gtwvt.c
! Fixed remaining Mark&Copy trashing while doing the selection.
* I've undone fix (2008-06-09 14:48 UTC+0800) for non-selectable
maxrow/maxcol, since after the fix the _first_ row/col couldn't
be selected.
TOFIX: Reopened.
* contrib/hbmisc/spd.c
+ Added support for index & indirect arguments ANSI C99.
; Update contributed by original author:
Xavi <jarabal@gmail.com>. Thanks!
* Function renamed from _SPD() to C_SPRINTF().
Name tentative.
* source/rtl/filesys.c
! hb_fsIsDrv() restored to generic version fo WinCE, because
it's API doesn't have GetDriveTypeA().
* contrib/xhb/Makefile
* contrib/xhb/common.mak
- Removed some xhb specific non-standard headers from
the list of those getting installed to the Harbour central
include dir. Only hbcompat.ch, hbcompat.h and xhb.ch
goes now to the official include dir. After this change
has been merged with RC1, xhb.lib may be included in
the default build.
[RC1]
* include/hbgtinfo.ch
+ Added comment to compatibility #defines, to not use
them, since they're deprecated.
[RC1]
* include/hbgfx.ch
* include/hbgfxdef.ch
* contrib/gtwvg/gtwvg.c
* source/rtl/gtxwc/gtxwc.c
* source/rtl/gtwvt/gtwvt.c
* GFX_* constants renamed to HB_GFX_*. The old ones are
still working but it's recommended to update to use HB_GFX_*.
#define HB_GT_NO_XHB to disable the compatibility #defines,
if it collides with your code or you want to test after
transition.
; [RC1]
* source/rtl/dirdrive.c
! Guarded C53 undoc functions with HB_C52_UNDOC, which is enabled
so it won't make a difference in default builds.
; [RC1]
* contrib/hbfbird/make_b32.bat
* contrib/hbfbird/make_vc.bat
* Fixed location where .libs are looked for.
[RC1]
* contrib/hbcurl/hbcurl.c
% Minor cleanups.
[RC1]
* contrib/hbodbc/make_vc.bat
! Removed .dll -> .lib conversion for MSVC,
since the .lib is provided by the MS SDK anyway.
; [RC1]
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/tests/ftp_uldl.prg
! Cleanup the rare case when curl_easy_init() returns NULL.
Functions now always return the same type, even in case libcurl
failed to initialize.
+ Return values for above cases is now HB_CURLE_ERROR (== -1).
! CURL_*() passed pointers now are also checked for the pointer
type, and RTE is thrown if they are not HBCURL ones. So for
example in the very rare case when any hbcurl functions would
get passed a GC pointer returned by another API, an argument
error would be thrown now.
! CURL_ESCAPE()/CURL_UNESCAPE() fixed picked parameter ordinal.
+ CURL_ESCAPE()/CURL_UNESCAPE() added parameter checking.
; [RC1]
* include/hbgtinfo.ch
* source/rtl/gtwvt/gtwvt.c
! Fixed stupid typo from me. This is why maximized size
didn't want to get right.
! Fixed to not reposition non-maximized windows while
resizing them and their top/left corner was off screen.
! Fixed to not allow font screen below a certain limit
(3x4 pixels). This fixes some of the more obvious cases
when window gets trashed.
! Fixed to not resize the windows when toggling the
resizing feature using HB_GTI_RESIZABLE.
+ Added to disable maximize icon after maximizing and
reenable it on the first resize attempt.
- Removed TIMER related stuff as it's very difficult
(or impossible) to support on other platforms.
Timer support could be added to hbw32.lib, though.
* Some cleanups.
; Remaining TOFIXes:
- Window trashing when settling on a size which
cannot be properly filled with the console. Try with
vertically or horizontally narrow window shapes.
- Mark&Copy is still trashing when swapping directions
with the selection compared to the starting position.
* tests/wvtext.prg
! Added missing SVN keywords properties.
! Added missing SVN eol property.
! Fixed to use the default font to have a more common
ground for testing.
+ Added markers to the corners to easily spot chopped
borders.
* contrib/xhb/Makefile
* contrib/xhb/common.mak
- Removed some xhb specific non-standard headers from
the list of those getting installed to the Harbour central
include dir. Only hbcompat.ch, hbcompat.h and xhb.ch
goes now to the official include dir. After this change
has been merged with RC1, xhb.lib may be included in
the default build.
[TOMERGE RC1]
* contrib/hbw32/tests/testdll.prg
+ Added some more DLL calling samples.
* harbour/include/hbdate.h
* harbour/source/rtl/dates.c
+ added hb_dateUnformat() - code by David G. Holm extracted from CTOD()
* updated copyright note to point original author of hb_dateFormat()
and hb_dateUnformat()
* harbour/source/rtl/dateshb.c
* use hb_dateUnformat() in CTOD()
* harbour/contrib/hbw32/dllcall.c
* added casting of wOrdinal to HB_PTR_DIFF to avoid waring
* disabled asm code for WIN64 builds
* disabled asm code for WINCE builds
* disabled some code which breaks WINCE builds
; TODO: add support for WINCE/ARM and WIN64
* harbour/source/rtl/gtwvt/gtwvt.c
! always use literal strings inside TEXT() macro for UNICODE builds
* harbour/source/rtl/gtwvt/gtwvt.c
! Fixed maximized state. Borders were missing.
- Removed functionality to force Windows not to show Windows contents while resizing.
; Instead application can issue :
To switch off full drag
DllCall( "user32.dll", NIL, "SystemParametersInfo", 37, 0, 0, 0 )
To switch on full drag
DllCall( "user32.dll", NIL, "SystemParametersInfo", 37, 1, 0, 0 )
! Fixed non-refreshed client area under certain circumstances.
* Removed all the hacks to adjust borders.
* Adjusted maximize operation - now window is centered on the screen.
; TODO - Find a better solution to
enabling and disabling of resizing feature at run time.
* harbour/source/common/hbwince.c
! fixed typo in GetDriveTypeA()
* temporary disabled GetDriveTypeW() call because not all CRTLs for
WinCE support it
* harbour/include/hbexpra.c
* harbour/include/hbexprb.c
* harbour/source/common/expropt2.c
* harbour/source/compiler/harbour.y
* harbour/source/compiler/harbour.yyc
* added full expression list stripping - it enables optimizations
in few additional places
! fixed code to always refresh expression address after direct or
indirect reduction - seems that we have some memory leaks and
possible GPFs not located so far
Please make tests with your code.
* harbour/source/rtl/gtwvt/gtwvt.c
! Fixed maximized state. Borders were missing.
+ Added functionality to force Windows not to show Windows contents while
resizing. This can be set manually via
<Desktop><Right-Click><Properties><Appearance><Effects><Show windows contents while dragging>
; To review: If this behavior be controlled via HB_GTI_SHOWRESIZING or like.
* harbour/tests/wvtext.prg
* Minor changes.
* contrib/hbw32/dllcall.c
% Futher optimizations.
! Fixed LoadLibrary() handle leak in DLLPREPARECALL() when
an invalid function is requested from a valid library.
* contrib/hbw32/dllcall.c
! Fixed memory corruption when more than 15 parameters
were passed to a DLL function.
* contrib/hbw32/w32_regc.c
% Minor optimization.
* contrib/hbw32/dllcall.c
! Fixed to not execute code after hb_errRT*() calls.
! Fixed to call hb_gcFree() if the hb_gcAlloc()ed
pointer is not hb_retptrGC()d (in case of errors).