* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtgui/hbqt_init.cpp
! FIXED: GPF at exit and sometimes along running application.
Harbourearns, it is day to cheer.
* harbour/src/rtl/filesys.c
! added protection for potentially unfinished due to signal
interrupt close() operation in *nix systems in hb_fsClose()
function
* use hb_fsClose() instead of close() to be sure that the operation
is completed in *nix systems
* return NULL for DosToWinHandle( FS_ERROR )
; TODO: add protection against signal interrupting to all hb_fs*()
functions which may need it.
* harbour/src/rtl/hbproces.c
* use hb_fsClose() instead of close() to be sure that the operation
is completed in *nix systems
! Do not inherit ends of pipe handles in MS-Windows builds of
hb_fsProcessOpen()
! Added missing CloseHandle( hProcess ) in MS-Windows builds of
hb_fsProcessRun()
; QUESTION: Does hb_fsProcessRun() work correctly in MS-Windows builds?
I've just noticed that I used WaitForMultipleObjects()
WIN API function with unnamed pipe handles and I cannot
find any information in MSDN that this is legal operation.
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/qth/filelist.hbm
+ contrib/hbqt/qtcore/qth/QChildEvent.qth
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtgui/qth/filelist.hbm
+ contrib/hbqt/qtgui/qth/QActionEvent.qth
+ contrib/hbqt/qtgui/qth/QFileOpenEvent.qth
+ contrib/hbqt/qtgui/qth/QHoverEvent.qth
* contrib/hbqt/qtgui/qth/QMoveEvent.qth
* contrib/hbqt/qtgui/qth/QPaintEvent.qth
+ contrib/hbqt/qtgui/qth/QShortcutEvent.qth
+ Added: more events specific classes.
* contrib/hbqt/hbmk2_qt.hbs
! Rationalized code fragments.
- Deleted: meta object checking as it is now handelled by the generator.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Rationalized: catching the event.
NOTE: hb_itemNew() should not be called here. The function
returns a hb_stackReturnItem(). Object is already contained
in .prg variable in user application and will be auto
destructed when out of scope.
* harbour/include/hbgtinfo.ch
+ added HB_GTI_ONLINE - Is terminal connected?
* harbour/src/rtl/hbproces.c
! fixed MS-Windows version of hb_fsProcessRun() to unlock HVM stack
when thread is waiting for child process
* harbour/include/hbthread.h
* harbour/src/vm/thread.c
+ added internal functions hb_threadStateClone() and hb_threadStart()
* modified code to use new functions
* harbour/include/hbvm.h
* harbour/src/vm/hvm.c
+ added public function hb_vmThreadStart() which creates new thread
with HVM stack
+ added protection against executing hb_vmThreadRelease() for
not registered thread state
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Fixed: wrong event was being fired instead of relevant one.
* contrib/hbqt/qtcore/hbqt_pointer.cpp
! Fixed: a memory leak.
* contrib/hbssl/x509.c
+ Enable feature which is fixed with newer (1.0.0) openssl
version. It's now enable for 1.0.0 final and newer, I did
only test it with 1.0.0d.
* contrib/hbrun/hbrun.prg
! Fixed to not crash due to corrupted .hrb leftover files next to hbrun executable.
* src/compiler/hbusage.c
! typo in e-mail address
* contrib/hbqt/hbqt_common.hbm
+ qt autodetection on beos
* config/postinst.hbs
* ld config -> linux only
; [Tamas Tevesz]
* 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).