* harbour/src/rdd/wafunc.c
* harbour/contrib/rddsql/hbrddsql.h
* harbour/contrib/rddsql/sqlbase.c
! casting fod C++ builds
* harbour/contrib/hbcairo/paths.c
! fixed very bad typo which probably cause GPF in function
CAIRO_GET_CURRENT_POINT()
* contrib/hbqt/generator/hbqtgen.prg
! Fixed to use 'hbqt_gcRelease_*' instead of 'release_*' names
for public release callbacks.
* contrib/hbqt/qth/QApplication.qth
! Fixed static vars to be prefixed with s_.
* contrib/hbqt/*
* Regenerated.
* harbour/src/rtl/sha2.h
* use '__int64' instead of 'long long' in MSC builds - older MSC versions
do not support 'long long'
* harbour/utils/hbmk2/hbmk2.prg
* use cleaner method proposed by Viktor for adding 'clib3r' to linked
library list in DOS OpenWatcom builds.
* harbour/utils/hbmk2/hbmk2.prg
* added 'clib3r' to linked library list in DOS OpenWatcom builds.
In pure C mode this library is not included automatically.
! do not use version suffix for harbour shared library in DJGPP builds
to keep 8.3 plain DOS names (harbour[m].dxe)
! added -U to DXE3GEN parameters
* utils/hbmk2/hbmk2.prg
+ Enabled -shared support for dos/djgpp. Not tested.
+ Enabled -hbdyn support for dos/djgpp. Blind coding, not tested.
* ChangeLog
+ TODOs/TOFIXes marked as done.
* harbour/src/vm/Makefile
* enable HB_HVM_ALL=yes in OpenWatcom C builds - it does not cause such
huge compile time overheads as in C++ mode
* harbour/src/vm/dynlibhb.c
* generate TODO warning also in DOS builds when HB_LIBLOAD()/HB_LIBFREE()
is unsupported
* harbour/include/hbwince.h
! fixed recent modification
* contrib/hbbtree/hb_btree.c
* store a const to a var to be written to file in place of
writing the const to the file via a cast
* typo fix: store 16-bit numbers as 32-bit numbers within the file
* contrib/hbbtree/hb_btree.c
* formatting
- removed internal history (changelog) text
- fixed TOFIX: casting pointer to ULONG!
* this was corrected in Changelog 13312 2009-12-19 15:32:24Z april
* opening a file with read-only attribute now succeeds when
the read-only flag is given
* reading and writing of the file header uses internal buffer
built or read by little endian macros
* opening & reading file header was incorrect
* header is not written at close if it was opened read-only
* file header size is now fixed
* creating a file with read-only flag affects only the OS-level
attribute; the flag itself is not saved to the file
* creating with read-only and shared flags will have the shared
flag discarded
* altered organization of file header; this will invalidate any
existing hb_btree file
* harbour/include/hbgtcore.h
* harbour/include/hbapigt.h
* moved declaration of hb_gtSetDefault() from hbgtcore.h to hbapigt.h
* harbour/include/hbapi.h
* harbour/src/vm/hvm.c
+ added new function hb_vmSetDefaultGT()
* harbour/bin/hb-func.sh
* harbour/utils/hbmk2/hbmk2.prg
* use hb_vmSetDefaultGT() to set default GT
* removed extern declarations for functions defined in hbapi.h
* harbour/src/vm/dynlibhb.c
+ added support for HB_LIBLOAD()/HB_LIBFREE() in DJGPP 2.04 builds
* harbour/config/global.mk
* use 8.3 names for harbour dynamic libraries in all DOS builds
* harbour/config/dos/djgpp.mk
+ added support for dynamic libraries (DXE) in DJGPP builds.
DXE is sth similar to DLL in Windows and can be used with
DJGPP 2.04. I had to make some modifications in DXE header
files to make it working so it will not work in default DJGPP
installation. I'll document these modifications in the future.
* harbour/config/dos/watcom.mk
* enable creating of harbour dynamic libraries only when HB_BUILD_DLL
is explictly set by user to 'yes'. In DOS DJGPP and OpenWatcom builds
DLLs support is not functional yet.
* harbour/config/dyn.mk
* added an option to create harbour dynamic libraries from static
ones instead of .o|.obj files. It's necessary for DXE3GEN which
internally calls LD which has some limited on maximum size of passed
parameters.
TODO: make HB_DYN_LIBS definition common for dyn.mk and lib.mk
* contrib/hbqt/hbqt.ch
* contrib/hbxbp/xbp.ch
+ Using HB_TRACE() macro. This means that now .prg level
trace messages have to be enabled the standard way, __HB_DEBUG__
has no meaning anymore.
* contrib/hbwin/tests/testwmtx.prg
- Deleted some bits added by me as per Xavi's suggestions.
* include/hbextern.ch
+ Added new trace functions.
; TODO: Use these new functions in HBQT, HBXBP.
* contrib/hbwin/win_dll.c
! Fix for OpenWatcom. Seems to require LPVOID in asm code.
* contrib/hbqt/hbqt_destruct.cpp
* Minor formatting. ('return( x )' -> 'return x', return is not a function)
+ Added 'TODO:' to todo text.
+ Added TOFIX to hb_parptr() usage. Without reference counting this is
still dangerous.
Probably some mechanisms would be needed to count references when
attaching one GC collected pointer to another object, and decrement
references when disconnecting or deleting holder object. Without
this, there will always be a possibility that some objects refer
to deleted objects. Unless I'm missing some logic which already that.
Probably "delayed release" is the mechanism which is trying to
solve that problem at the moment.
* contrib/hbwin/wapi_winbase_mutex.c
* Minor formatting (superfluous brackets)
* harbour/include/Makefile
+ harbour/include/hbtrace.ch
* harbour/include/hbtrace.h
* harbour/src/rtl/trace.c
* harbour/src/common/hbtrace.c
! fixed hb_tracelevel() C function to change trace filter instead of
last message level. It also fixed .prg function HB_TRACELEVEL().
+ added new C function:
void hb_tracelog( int level, const char * file, int line,
const char * proc, const char * fmt, ... )
+ added new .prg functions:
hb_traceLogLevel( <nNewLevel> ) -> <nPrevLevel>
hb_traceLog( <xMsgItems,...> ) // generate message at
// hb_traceLogLevel()
hb_traceLogAt( <nLevel>, <msg,...> )
+ added support for HB_TRACE() messages in .prg code with the same
functionality as in C code:
HB_TRACE( <level>, <msg,...> )
HB_TRACE() code if filtered at compile time by HB_TR_LEVEL_* macros
i.e. -DHB_TR_LEVEL_INFO used as harbour compiler parameter
and at runtime by HB_TR_LEVEL=<level> envvar (set HB_TR_LEVEL=DEBUG)
or by hb_traceLevel( <nLevel> ) function (hb_traceLevel( HB_TR_DEBUG ))
Default compile time and runtime trace level for C and .prg code
is HB_TR_WARNING.
* contrib/hbqt/hbqt_hbqtableview.cpp
% Fixed one TOFIX.
* contrib/hbqt/hbqt_destruct.cpp
% Fixed one TOFIX.
* contrib/hbqt/hbqt_events.cpp
% Fixed one TOFIX.
* contrib/hbqt/hbqt_slots.cpp
% Fixed one TOFIX.
Please review me, though everything is working fine.
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
+ Added more signal/slots.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
! Improved Find/Replace functionality. Now it is usable feature
though I have to tweak it a little more. The current functionality is as:
CTRL+F or "Find" icon => Opens <Find-Replace> dialog.
CTRL+N finds next occurance of current "Find" string - always
shown in one of the panels of status-bar.
This invocation is equivalent to if you click <Find> pushbutton
of the <Find-Replace> dialog.
CTRL+R Replaces the current selection with current "Replace" string
previously entered or selected with <Replace> push button.
This invocation is equivalent to if you click <Replace> pushbutton
of the <Find-Replace> dialog.
History of <Find>/<Replace> strings is maintained and is populated
in drop-down list of respective combo-boxes.
TODO: <Global> and <Replace without prompting> features.
* contrib/hbwin/tests/testdll.prg
* contrib/hbwin/win_dll.c
+ Added support for passing parameters by reference in win64 mode.
+ Added logic to detect UNICODE mode. Enabled only in win64.
! One regression fixed in previous version (in non-win64 mode).
! Fixed default return to be the same in win64 as in non-win64 mode.
; TOFIX: Strings passed by reference seems to be wrong.
; TOFIX: UNICODE support for string passed by reference doesn't work.
; Please test/review and contribute to this, current state is pretty
much the extent I'm willing and capable of implementing this.
* contrib/hbwin/win_dll.c
+ Added support for Win64 dll calls to functions with no
parameter.
+ Added internal support to call UNICODE functions in Win64 mode.
+ Added support for CP conversion for non-UNICODE functions in Win64 mode.
(for now this is the only active mode).
! DllCall() made static function.
* Renamed some constants, functions and variables.
; TODO: Add logic to enable UNICODE mode when needed.
* contrib/hbwin/Makefile
+ contrib/hbwin/wapi_winbase_mutex.c
+ Added Windows mutex wrappers.
Contributed by Xavi <jarabal/at/gmail.com>.
! Added SVN header, some minor formatting.
* contrib/hbwin/win_dll.c
+ Added portable Win64 support (both x86_64 and IA64 and anything else).
; TODO: double parameters and return value.
; TODO: parameters passed by reference.
* Renamed some structure to not look like Windows ones.
* Using HB_BOOL.
! Fixed to return NIL when CTYPE_VOID is requested. (was 0 before)
* contrib/hbwin/win_dll.c
* Little cleanup to FARPROC casting. Now cast is done at Harbour
interface points, not internally. It now generates more
warnings. If someone has a fix how to suppress FAPROC to
void * cast warnings, pls tell.
* contrib/hbide/hbide.ch
* contrib/hbide/ideactions.prg
* contrib/hbide/hbide.prg
+ Implemented ::goto() method. Invoke it by "Goto Line" icon.
+ Implemented save/restore position of various dialogs.
* contrib/hbwin/hbwapi.h
! Fixed some wapi_ret_*() macros. This caused that several WAPI_TREEVIEW*()
functions were not returning a value. Thanks to Petr Chornyj for
reporting it.
* contrib/hbxbp/xbp.ch
! Removed QT_PTROFXBP() macro.
I have retained QT_PTROF() macro because a lot of you
must still be using it in your code. It is sceduled to be
removed after this release.
* contrib/hbide/hbide.prg
* contrib/hbxbp/xbpqtuiloader.prg
* contrib/hbxbp/xbpstatusbar.prg
! Removed QT_PTROF() and QT_PTROFXBP() macro calls entirely.
We can delete these macros alltogether.
* harbour/src/vm/thread.c
* added hb_threadOnceInit() to .prg function list
* harbour/include/hbinit.h
* use HB_STATIC_STARTUP as default initialization method of all
C++ compilers
* contrib/hbbtree/hb_btree.c
* add a union field to encapsulate a var and a pointer, to
pacify 64-compiler warning
* removed unnecessary casts (I hope)
* src/rtl/sha2.c
! Added trick to make it compile with Pelles C 6.00.6.
Without this trick Pelles C compiler exits with internal error.
* doc/whatsnew.txt
+ Added NOTE about Pelles C 6.
* src/codepage/Makefile
+ src/codepage/cpel437.c
- src/codepage/cpgr437.c
* include/hbextcdp.ch
* Renamed GR437 codepage to EL437. EL is the ISO language code for Greek.
* contrib/hbide/hbide.prg
* contrib/hbxbp/xbpqtuiloader.prg
! Implemented signal/slot mechanism.
A working usage is the "Find/Replace" dialog is now
entirely based on XbpQtUiLoader() class. "Project Properties"
dialogs skeleton is also in place and is working, just a little more
required to make it completely functional.
XbpQtUiLoader() class appears to be heading towards an
excellent tool and will eliminate to have a native Form Designer.
Simply design a complex widget in Qt's powerful Qt Creater
and exploit is with this class in the application.
I have a lot many ideas to cook, your suggestions are welcome.
* contrib/hbqt/qth/QCoreApplication.qth
* contrib/hbqt/qth/QErrorMessage.qth
* contrib/hbqt/qth/QList.qth
* contrib/hbqt/qth/QTextEdit.qth
! Supressed some error reported generation process messages.
* contrib/hbqt/generator/hbqtgen.prg
! Implemented highly flexible and optimized code for
METHOD QSomeObj:new(...), thanks to Przemek for tips.
Now all classes have the same way the constructor is called.
[ Regenerated Sources Follows ]
* contrib/hbide/hbide.prg
* contrib/hbide/idemisc.prg
* contrib/hbxbp/Makefile
* contrib/hbxbp/xbpgeneric.prg
+ contrib/hbxbp/xbpqtuiloader.prg
+ Started XbpQtUiLoader() CLASS TO manage .ui components.
A work-in-progress.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbide/hbide.prg
* contrib/hbqt/tests/demoqt.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbxbp/xbpwindow.prg
+ Implemented passing HBQT objects to METHOD QSomeObj:new(...).
Now there is seldome a need to use QT_PTROF() macro.
demoxbp/demoqt/hbide are working perfectly.
[ Regenerated sources follow ]
* doc/whatsnew.txt
+ Added text documenting whatsnew missing parts.
* utils/hbmk2/hbmk2.prg
! Potential fix to external commands when using script and called
in a loop.
* harbour/bin/hb-func.sh
! use CC_HB_USER_LIBS instead of HB_USER_LIBS in linked library list
current HB_USER_LIBS has different meaning in build process then
in the past