* 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.
* contrib/hbqt/qtcore/qth/QCoreApplication.qth
! Reversed previous commit.
* contrib/hbqt/qtgui/hbqt_init.cpp
- Deleted: hbqtgui_eventpush() function, not needed anymore.
* contrib/hbqt/qtgui/qth/QContextMenuEvent.qth
* contrib/hbqt/qtgui/qth/QDragEnterEvent.qth
* contrib/hbqt/qtgui/qth/QDragLeaveEvent.qth
* contrib/hbqt/qtgui/qth/QDragMoveEvent.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QFocusEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneContextMenuEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneHelpEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneHoverEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneMouseEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneMoveEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneResizeEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneWheelEvent.qth
* contrib/hbqt/qtgui/qth/QHelpEvent.qth
* contrib/hbqt/qtgui/qth/QHideEvent.qth
* contrib/hbqt/qtgui/qth/QInputMethodEvent.qth
* contrib/hbqt/qtgui/qth/QKeyEvent.qth
* contrib/hbqt/qtgui/qth/QMouseEvent.qth
* contrib/hbqt/qtgui/qth/QMoveEvent.qth
* contrib/hbqt/qtgui/qth/QPaintEvent.qth
* contrib/hbqt/qtgui/qth/QResizeEvent.qth
* contrib/hbqt/qtgui/qth/QShowEvent.qth
* contrib/hbqt/qtgui/qth/QWheelEvent.qth
+ Added: constructors for all events with due parameters.
I do not know why it elluded me so far. And I cannot
recollect what wrong I was doing. May be due to some
problems at initial stages kept unattended with
ongoing development.
* contrib/hbqt/qtcore/qth/QCoreApplication.qth
! Commented out: sendEvent() and postEvent() methods until
issue with Q*Event() class constructors is resolved.
+ contrib/hbqt/tests/browqt.prg
! Copied testbrows.prg to suit embedded dialog.
* contrib/hbqt/tests/wvtqt.hbp
* contrib/hbqt/tests/wvtqt.prg
! Modified: to execute hbQT dialog from within GTWVT window.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
+ Added -pic[-] option and pic= .hbc command to enable PIC.
It's always enabled when using -hbdyn/-hbdynvm.
! Using -fPIC for bsd. (in sync with core make)
+ Added sunos/sparc PIC option, though to really kick in,
CPU detection should be implemented, or it should be
manually supplied using -cpu=sparc option.
Please review these.
* contrib/hblzf/3rd/liblzf/lzf_d.c
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/LICENSE
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hblzf/3rd/liblzf/liblzf.dif
* contrib/hblzf/3rd/liblzf/Changes
* contrib/hblzf/3rd/liblzf/README
* contrib/hblzf/3rd/liblzf/lzf_c.c
* update lzf to 3.6 [Tamas Tevesz]
* contrib/hbqt/qtgui/hbqt_init.cpp
* Renamed HBQT_PUSHEVENT() to HBQTGUI_EVENTPUSH().
* Commented this new function with a detailed TOFIX note,
with some notes needing more close inspection.
* contrib/hbqt/qtgui/hbqt_init.cpp
+ Added: HBQT_PUSHEVENT( <qObject>, <nQEventType>, <nKey>,
[nKeyboardModifiers], [cKey], [lRepeat=.f.], [ntimes=1] )
Current implementation is only for keyboard events, viz.,
QEvent_KeyPress and QEvent_KeyRelease. Mouse events needs
QPoint() to be present which is in the gtcore namespace,
so needs a different approach as per current hbQT scenario,
do the needful.
* contrib/hbqt/qtnetwork/hbqt_init.cpp
* contrib/hbqt/qtnetwork/hbqtnetwork.hbx
* contrib/hbqt/qtnetwork/qth/filelist.hbm
! Adjusted: to take use of new classes intead of NULL pointers.
+ contrib/hbqt/qtnetwork/qth/QNetworkProxy.qth
+ contrib/hbqt/qtnetwork/qth/QUrlInfo.qth
+ Added: two pending classes.
* contrib/hbformat/hbfmtcls.prg
! Fixed a call to deleted function.
NOTE: I didn't test it and no idea if ini file reader functionality
relies on empty lines being filtered on load.
* contrib/hbformat/utils/hbformat.prg
* contrib/hbformat/hbformat.hbx
* contrib/hbformat/hbfmtcls.prg
* contrib/hbformat/hbformat.hbp
- contrib/hbformat/fileread.c
! Fixed to load LF delimited files on non-*nix systems.
* Changed output EOL type to OS default (from 'no change')
* Changed the way EOL type is detected in 'no change' mode.
(it's pretty simple code and not as efficient as previously.
my main goal was to fix file load.)
+ Showing number of lines.
* examples/hbqt_tut/win21.prg
* examples/hbqt_tut/win12.prg
+ examples/hbqt_tut/win22.prg
+ examples/hbqt_tut/win23.prg
+ Updated. [Marco Bra]
! Fixed formatting. Please use hbformat on the code before submitting.
* harbour/config/win/bcc.mk
* harbour/utils/hbmk2/hbmk2.prg
* disabled W8060 warnings in BCC builds when warning level is set to low
* harbour/src/rtl/gtwin/gtwin.c
! added missing void in hb_gt_win_IsFullScreen() declaration
* harbour/src/rtl/hbjson.c
! fixed typo which caused that \uNNNN in strings were ignored
instead of being decoded
; QUESTION: why we are not using unicode strings in encoding by default?
* include/hbgtinfo.ch
* src/rtl/gtwin/gtwin.c
* src/rtl/gtwvt/gtwvt.c
+ HB_GTI_ISFULLSCREEN checking and setting inside GTWIN done.
! Minor fix for GTWVT, code patched to work on Windows 95 (tested).
; [Aleksander Czajczynski]
* config/beos/gcc.mk
* config/bsd/clang.mk
* config/bsd/pcc.mk
* config/linux/clang.mk
+ add soname specs to some gnu lds [Tamas Tevesz]
* harbour/utils/hbmk2/hbmk2.prg
* harbour/config/dos/watcom.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* harbour/config/os2/watcom.mk
! fixed to not use -wcd124 and -wcd136 in OpenWatcom C++ builds
* harbour/config/win/xcc.mk
! added -noexpobj as workaround for problems with creating
shared library
* removed now unnecessary $(RM) harbour*.dll
* harbour/src/rtl/base64d.c
* pacified warning
% removed unnecessary condition with RTE - decoded string has to
be shorter then the source one taken from HVM string item so for
sure it cannot exceed maximum string item size
* harbour/src/rtl/base64c.c
* generate RTE if encode string size is too big
* eliminated unnecessary INT_MAX string limit
* include/hbgtinfo.ch
* src/rtl/hbgtcore.c
* src/rtl/gtdos/gtdos.c
* src/rtl/gtwin/gtwin.c
* src/rtl/gtxwc/gtxwc.c
* src/rtl/gtcrs/gtcrs.c
* src/rtl/gtstd/gtstd.c
* src/rtl/gttrm/gttrm.c
* src/rtl/gtos2/gtos2.c
* src/rtl/gtsln/gtsln.c
* src/rtl/gtpca/gtpca.c
* src/rtl/gtwvt/gtwvt.c
* contrib/hbct/ctwin.c
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/gtalleg/gtalleg.c
* contrib/hbrun/hbrun.prg
* tests/wvt_fs.prg
* examples/gtwvw/gtwvw.c
* Renamed HB_GTI_FULLSCREEN to HB_GTI_ISSCREENPOS
HB_GTI_FULLSCREEN is now deprecated and will be deleted in future
version of Harbour, use the new name instead.
* Renamed HB_GTI_FULLSCREEN to HB_GTI_ISFULLSCREEN
in context of GT window being fullscreen on physical display
recently added in 2011-02-26 20:07 UTC+0100 Viktor Szakats
; If someone has further name suggestions, pls tell.
* src/rtl/hbgtcore.c
* Setting defaults for HB_GTI_ISFULLSCREEN and HB_GTI_ALTENTER.
* include/hbdefs.h
+ Added HB_EXPORT_INT macro similar to HB_EXPORT, but used for
exported _internal_ functions. (we may easily rename this
to something else if a better idea pops up)
; TODO: Change HB_EXPORT to HB_EXPORT_INT for rest of internal functions.
* include/hbpp.h
* include/hbapi.h
* include/hbcomp.h
* include/hbexprop.h
* include/hbhash.h
+ Using HB_EXPORT_INT to export functions.
* contrib/hbide/hbide.hbp
* contrib/hbrun/hbrun.hbp
! Deleted bad hack linking in hbcplr, hbpp, hbcommon on non-mingw
win compilers.
* contrib/hbmzip/hbmzip.hbp
* Changed header used for minizip autodetection.
zip.h is also used by component named libzip.
Thanks to Przemek for the hint.
[ looking for multiple headers (possibly connected by various
bool operators) is too huge work for so far too little gain, so
for now I pass it.]
* contrib/hbrun/hbrun.prg
+ Use HB_GTI_FULLSCREEN to detect if the GT is capable of non-console
mode of operation (formely hard-wired check for GTCGI was done).
Pls verify me.
* config/postinst.hbs
+ Show msg that postinst.hbs is finished (and errlev) [Tamas]
* harbour/utils/hbmk2/Makefile
! fixed list of linked libraries - hbpp and hbcommon libs were
given explicitly though they are also included in harbour
shared library. It means that for HB_BUILD_SHARED=yes some semi
dynamic hbmk2 executable was created with repeated compiled hbpp and
hbcommon code. The first copy was inside hbmk2 executable file and
the second one inside harbour shared library (.so, .dyn, .dll, ...).
This fix should also resolves the problem with missing math library
when hbmk2 was linked.
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqtcore.hbx
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* Renamed HBQT_ISEQUALGCQTPOINTER() to HBQT_ISEQUAL().
[ as a personal note I don't get how two different
.prg level objects can have the same QT object pointer
associated with them. IOW the most natural solution
would be to use ( oObj1 == oObj2 ) expression on
.prg level. ]
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqtinit.h
* contrib/hbqt/qtnetwork/hbqt_init.cpp
! Implementing idea of Francesco.
Object creation split into two versions, one where GC pointer
is used and one where a normal one. Latter is used when dealing
with events (except one place).
Please do tests.