* harbour/src/rtl/hbrandom.c
! fixed double number calculation for random values by removing
some wrong trick with epsilon value. rand() function returns
numbers in range [0,RAND_MAX] (inclusive) so can give RAND_MAX+1
different results and this is the correct divisor to map rand()
results to real range [0,1) ( 0 <= n < 1 )
* contrib/hbqt/qtcore/hbqt_init.cpp
! Fixed: one remaining warning - arguments.
* contrib/hbxbp/xbpbrowse.prg
! Fixed: slot "commitData(QWidget*)" was not working.
It is hack on PRG level and is scheduled to be shifted to C++.
* contrib/hbqt/hbmk2_qt.hbs
% Deleted now unnecessary .prg wrapper generation logic.
* Moved .qth processing to "pre_c" phase.
! Deleted HB_FUNC_EXTERN for constructor now declared locally.
! Added constructor to symbol table.
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbmlzo/3rd/minilzo/minilzo.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
+ Added -pic option to 3rd party libs. This switch will
make them use -pic when creating their static libs,
which allows to link them to contrib dynlibs when
using HB_BUILD_CONTRIB_DYN=yes.
* contrib/hbwin/tests/dlg.prg
* Minor formatting.
* contrib/hbqt/qtcore/hbqt_misc.prg
+ Added and experimental function scheduled to be removed.
* contrib/hbqt/qtcore/hbqtcore.hbx
* contrib/hbqt/qtdesigner/hbqtdesigner.hbx
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtnetwork/hbqtnetwork.hbx
* contrib/hbqt/qtuitools/hbqtuitools.hbx
* contrib/hbqt/qtwebkit/hbqtwebkit.hbx
* contrib/hbqt/hbmk2_qt.hbs
+ Implemented: removed the need of any PRG wrapper to Q*Class() calls.
Shifted to C++ level.
NOTE: still corresponding blank .prg(s) are created inside .hbmk
folders. I could not follow the logic to remove them from build
process, Viktor ?
* harbour/src/common/hbtrace.c
! use hb_getenv_buffer() instead of hb_getenv() to not allocate
memory when trace system is activated and added protection
against recursive calls.
* harbour/src/common/hbprintf.c
! use internal function _hb_strnlen() instead of hb_strnlen()
to avoid recursive calls in Harbour trace system
* contrib/hbqt/hbmk2_qt.hbs
! Fix to prev.
; QUESTION: What is the reason that the constructor code
is manually written for each class, instead of
being automatically generated?
Can it be also autogenerated?
* harbour/src/lang/msgbgiso.c
! fixed typo in lang module name: "BGWIN" -> "BGISO"
; TODO: sync codepage and land module names to use the same ID.
Now it's necessary to look at Harbour source code to find
corresponding modules.
* harbour/src/rtl/gtwvt/gtwvt.c
! fixed GPF when fullscreen was enabled before console window is
created.
Now it's possible to enable full screen mode before application
starts without flickering window, i.e.:
#include "hbgtinfo.ch"
REQUEST HB_GT_WVT_DEFAULT
PROC main()
hb_gtInfo( HB_GTI_ISFULLSCREEN, .T. )
? hb_datetime()
? version()
? hb_compiler()
? hb_gtVersion(), hb_gtVersion(1)
WAIT
RETURN
* src/rtl/hbzlibgz.c
! In block declaration in recent patch.
* utils/hbmk2/hbmk2.prg
! Regression in recent xhb patch.
* contrib/hbwin/axcore.c
! Format warning in trace.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ contrib/hbnetio/utils/hbnetio/netiosvc.prg
+ hbnetio will act as a service on Windows platform.
To run it interactively from console, use: 'hbnetio -a'
; TOFIX: I'm getting 'error 1067' when starting up the
service. It get resolved when I build hbnetio in
-st mode. (I use mingw and did a full rebuild)
* contrib/rddads/rddads.hbp
! Suppressing annoying mingw warning in ace.h.
; TOFIX: hbmk2 overrides this ATM.
* contrib/hbwin/win_svc.c
* contrib/hbwin/tests/testsvc.prg
+ WIN_SERVICESTART() changed to accept codeblock and
function reference as second parameter (was string).
INCOMPATIBLE: Pls update your code to use new method.
NOTE: If someone knows how to add string support without
duplicating code and other hacks, pls do, however
I think that codeblock and function reference is
much more modern and fool-proof solution.
* contrib/hbqt/hbmk2_qt.hbs
! Fixed scope of generate HB_EXTERN section.
! Fixed (pls review/test) to provide separate void * pointer
for each hb_parstr_utf8() calls.
! Formatting fixes to generated code.
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* Formatting.
* contrib/hbqt/hbmk2_qt.hbs
* contrib/hbqt/qtcore/hbqt_pointer.cpp
% Deleted HB_FUNC_EXTERN for locally defined function. Pls review me.
! Fixed formatting in generated code.
+ Added local __instantiate() function. Commented yet.
% Converted method names to uppercase on invocation.
+ Added QUESTION about 'return;' in HB_<QCLASS>() functions.
"INSTANCE" method is not called the first
time this function is called.
* src/rtl/gtwvt/gtwvt.c
* Indenting.
* INSTALL
+ Added new ghostscript link. [Tamas Tevesz]
(left the old one as it has some information the new one doesn't)
* contrib/hbqt/hbmk2_qt.hbs
* contrib/hbqt/qtgui/qth/*.qth
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/qth/*.qth
* contrib/hbqt/qtnetwork/qth/*.qth
* contrib/hbqt/qscintilla/qth/*.qth
* contrib/hbqt/qtdesigner/qth/*.qth
+ Patch to move wrapper code to C++. [Francesco Perillo]
* My mods:
- Restored the way registerResource() is implemented.
(TODO: needs generic solution)
- Formatting, some cleanups.
- Minor corrections in generated code format (more TBD)
- Deleted some unused code
- Refixed strcpy() usage.
- Added C++ puller for __QT* symbol.
- Added manual version of HBQEventsFromPointer() which is still needed
by hbqtcore. (TOFIX)
Please test.
; TOFIX: Remove remaining generated .prg, holding this code:
FUNCTION QtClass( ... )
RETURN HB_QtClass():new( ... )
Any takers?
* harbour/include/hbvm.h
* harbour/src/vm/hvm.c
* added new public C function:
HB_BOOL hb_vmRequestReenterExt( void );
hb_vmRequestReenterExt() checks if given thread has registered HVM
stack and if not it creates new one otherwise it makes the same
operations as hb_vmRequestReenter(). It should be also used with
hb_vmRequestRestore() which checks if new stack was allocated and
if yes then it releases it.
For ST HVM hb_vmRequestReenterExt() works exactly like
hb_vmRequestReenter().
* harbour/include/hbthread.h
! typo in comment
* harbour/contrib/hbwin/win_svc.c
! fixed to work with MT HVM
+ accept function symbol (@func()) as 2-nd parameter of
WIN_SERVICESTART() function
* replaced one HB_TCHAR_*() function by Harbour STR API one.
(for full UNICODE support we should eliminate all HB_TCHAR_*()
functions)
* utils/hbmk2/hbmk2.prg
* Invoke xhb compiler (in -xhb mode) for each input source file,
to avoid xhb compiler bugs (like aborting due to too many
warnings even if -w0 is used - reported by Pritpal in xhb 2007 Oct
version).
* harbour/src/rtl/minmax.c
! fixed MAX() for mixed date and timestamp values
* harbour/src/rtl/strtran.c
% minor modification
* harbour/src/rtl/cdpapihb.c
* updated for signed HB_SIZE type
* contrib/hbgs/tests/testgs.prg
* contrib/hbgs/hbgs.hbx
* contrib/hbgs/core.c
* contrib/hbgs/hbgs.hbp
* contrib/hbgs/hbgs.hbc
+ Added HB_GSAPI_REVISION() wrapper + test code.
- Disabled for dos and wce.
+ Added autodetection on *nix systems.
+ Added darwin support.
+ Added os2 dll name.
; TOFIX: Test (which is more or less the same as the official
example code) doesn't work on darwin, it pops X11 and
gives a gs cmd prompt.
* harbour/src/rtl/valtype.c
* modified to work with any HB_IT_STRING flags we may add in the future
* harbour/src/rdd/dbcmd.c
* eliminated explicit hb_parinfo() usage
* harbour/src/compiler/harbour.y
* added casting which seems to be necessary for some newer bison versions
* harbour/doc/xhb-diff.txt
* typo
* contrib/hbide/ideedit.prg
! XbpAppEventToQKeyEvent() => hbxbp_AppEventToQKeyEvent()
* contrib/hbxbp/hbxbp.hbx
! Re-generated.
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpwindow.prg
! XbpAppEventToQKeyEvent() => hbxbp_AppEventToQKeyEvent()
And other functions updated to use "hbxbp_" namespace.
HBXBPAPPDESKTOP() => HbpAppDesktop(), this is on line with
Hbp* classes namespace we agreed earlier.
* debian/control
* Update.
* contrib/hbmzip/3rd/minizip/minizip.dif
* contrib/hbmzip/3rd/minizip/ioapi.h
! Fixed type for haiku/beos.
; [Tamas Tevesz]
* contrib/hbxbp/xbpappevent.prg
! Renamed XbpAppEventToQKeyEvent() to hbxbp_AppEventToQKeyEvent()
; TOFIX: Demessify these public function names:
HBXBPAPPDESKTOP
HBXBP_APPEVENTTOQKEYEVENT
HBXBP_CLEAREVENTBUFFER
HBXBP_CONVERTAFACTFROMXBP
HBXBP_GETNEXTID
HBXBP_INITIALIZEEVENTBUFFER
HBXBP_SETEVENTLOOP
XBP_SETPRESPARAM
XBP_SETPRESPARAMIFNIL
XBP_XBPTOQTNAME
Probably HBXBP_ should be used consistently in all above.
* harbour/include/hbexprb.c
+ enabled o:var += <cString> optimization when -ko switch is used
I added this optimization few years ago but I haven't enabled it
so far.
+ harbour/tests/speedstr.prg
+ added test code for <exp> += <cString> optimization
Try this code compiled with -kc switch (disabled += optimization)
without any -k? switches (default, += optimized for all expressions
except <obj>:<msg>) and finally with -ko switch (+= optimized for
all expressions)
(Warning for larger string non optimized code begins to be _very_
slow, i.e. for '#define N_LOOP 1000000' it needs fee minutes to
pass single test)
* contrib/hbxbp/xbpappevent.prg
+ Added: XbpAppEventToQKeyEvent() and XbpAppEventModifier()
* contrib/hbxbp/xbpgeneric.prg
+ Implemented: PostAppEvent( nEventType, mp1, mp2, oXbp )
Currently it is implemented for nEventType == xbeP_Keyboard.
* debian/control
* debian/compat
* debian/rules
- add all build-depends
- create detached debug symbol package
- various small bits
; [Tamas Tevesz]
* contrib/hbpost.hbm
* Removed soversion from dynlib name for cygwin targets.
(untested)
* contrib/hbtip/tests/httpadv.prg
* contrib/hbtip/tests/dnldftp.prg
* contrib/hbtip/tests/tipmmail.prg
* contrib/hbtip/tests/tiptest.prg
* contrib/hbtip/tests/dbtohtml.prg
* contrib/hbtip/tests/upld_ftp.prg
* contrib/hbtip/tests/tipmail.prg
* contrib/hbtip/tests/base64.prg
* contrib/hbtip/tests/ftpadv.prg
* contrib/hbtip/tests/loadhtml.prg
* contrib/hbtip/tests/tipmime.prg
! inside is one real fix (unused var in base64.prg), the rest is
generous use of hbformat + some manual editing (weed out funky chars,
reduce eye bleeding caused by comment blocks, throw away c++-style
comments, and the like).
; [Tamas Tevesz]
* harbour/src/pp/pplib.c
* updated function description
* harbour/src/pp/pplib3.c
* covered old long time obsolete functions:
__PPADDRULE(), __PREPROCESS(), __PP_FREE()
by HB_LEGACY_LEVEL3 macro
* contrib/hbmzip/3rd/minizip/minizip.dif
* contrib/hbmzip/3rd/minizip/ioapi.h
! Fixed for cygwin. [Tamas Tevesz]
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/liblzf.dif
! Fixed for bcc. [Tamas Tevesz]
* utils/hbmk2/hbmk2.prg
! Fixed to include hbmainstd after converting cygwin from
compiler to platform.
; QUESTION: should we use hbmainwin for cygwin apps in -gui mode?
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpradiobutton.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpmle.prg
! Deleted FromQtPtr() methods. They are relying on FromPointer()
HBQT functionality, which will be deleted soon.
- examples/hbqt_tut
- Deleted this local copy of the tutorial.
You can find it here:
http://www.gruppoeratostene.com/harbour/tutorial-qt.zip
Please add test.dbf, test.jpg, hbmk.hbm, prova.ui to above
.zip package. They are available from the nightly Harbour source .zip.