* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idedocks.prg
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
! Minors.
* contrib/hbqt/qtgui/qth/QPainter.qth
! Rewritten: manually :fillrect() which does not overload
proper method with same number and types of arguments.
TOFIX: hbmk2_qt.hbs to entertain this construct.
* contrib/hbqt/hbmk2_qt.hbs
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth
* contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qtgui/qth/HBQTableView.qth
! Fixed: implemented correct GC memory collection. Thanks to Przemek
to have shown me the way.
! Fixed: some code has been changed
PLEASE be sure to do a full "make clean" before compiling
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/wvgmodal.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgutilities.prg
! Fixed: many artifacts which got broken with GT changes
in a couple of years.
+ Added: a menu option which to execute a modal Harbour Gt
window on top of a GUI window.
+ contrib/gtwvg/tests/demowvg1.prg
+ Added: a highly simplified demo for beginners to understand
the underlying concepts how GUI controls can be exploited
with CUI output. Press F2 which navigaing the GETS.
This demo used GTWVG's inbuilt GUI controls handelling
mechanism instead of devising one's own.
This mechanism was introduced in GTWVG mush later
that demowvg.prg was written. In future I will try to
rewrite the demowvg.prg with in-built protocol.
* utils/hbmk2/hbmk2.prg
+ Continue if there were no input files specified. This
can be useful in some situations.
* Show warning about no input files only when -info option is used.
+ Consider resource files as valid input files when showing
above warning.
* src/rtl/gtwin/gtwin.c
% Replaced kbd modifier readout with a more efficient
version. It contains hack required to make core
low-level function to work correctly with win consoles.
Patch co-developed with Przemek.
* contrib/hbtip/sendmail.prg
! Implemented fix to enclose attachment filenames in
dbl quotes as suggested by George Frehner.
Pls test.
* contrib/hbtip/mail.prg
* Formatting.
* harbour/include/hbgtinfo.ch
! fixed wrong decimal value defined for HB_GTI_KBD_RALT.
* translated HB_GTI_KBD_* values from decimal to hex numbers
to avoid such mistakes in the future.
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideprojmanager.prg
! Optimized: destructors.
* contrib/hbxbp/xbpwindow.prg
! Minor.
* contrib/hbqt/qtcore/qth/QStringList.qth
! Uncommented: many methods, commented one.
* contrib/hbqt/hbmk2_qt.hbs
+ Implemented: QList< * > generating a list of Harbour objects.
Now no more raw pointers generated with hb_retptr() in hbQT.
Please review and test.
WARNING: third party libs should check their sources to
entertain this change.
* src/rtl/gtwin/gtwin.c
- Fully disabled palette setting feature due to bad side effects
reported by Mindaugas.
Maybe it could be reenabled in some cases, pls refine it if you
need this feature. Pls also retest, I have a hard time replicating
this side-effect on my system.
* INSTALL
* Updated. mingw tdm 4.5.2 works fine again.
* examples/hbdoc2/gentpl.prg
! Fixed typo reported on users' list by Emmer.
* harbour/src/rtl/hbznet.c
% use Z_PARTIAL_FLUSH instead of Z_SYNC_FLUSH in hb_znetFlush()
It should reduce a little bit the size of compressed data stream.
* harbour/include/hbapi.h
* harbour/src/rtl/hbrandom.c
added new C functions which fills memory block with random values:
void hb_random_block( void * data, HB_SIZE len )
this function should be used with "good enough" random generator
so in the future it may be changed to use internally sth different
then rand().
* harbour/src/vm/thread.c
* pacified minor warning
* harbour/src/rtl/hbproces.c
! fixed one HB_TRUE wrongly used instead of TRUE
* minor simplification
* harbour/include/hbgtinfo.ch
* harbour/src/rtl/hbgtcore.c
+ added HB_GTI_VERSION - it returns version information just like
hb_gtVersion() - usually the same but can be different in some
multilevel GTs, i.e. when different GT drivers are used locally
and remotely.
* harbour/include/inkey.ch
* harbour/src/rtl/hbgtcore.c
+ added HB_K_CONNECT and HB_K_DISCONNECT inkey codes.
They can be used to signal that remote terminal is connected or
diconnected.
* harbour/tests/gtkeys.prg
+ added HB_K_* keycodes
* harbour/contrib/hbnetio/netiosrv.c
* removed unnecessary casting
* contrib/hbqt/hbmk2_qt.hbs
! Code clean-up.
! Restrored: how the obejcet is addressed in methods.
NOTE: Do not change.
* contrib/hbqt/qtcore/hbqt_misc.prg
! Restored: :disconnect().
! Connect was generating error it obejct was freed prior to execution.
* contrib/hbqt/qtcore/qth/QMimeData.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
! Fixed: some manual code which was not taking use of new protocol.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
! Changed: hbqt_create_object() => hbqt_create_objectGC()
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
! Changed: the behaviour of oQObject:connect().
Now if called next time, it will replace the original codeblock.
This is important in certain situations.
! Fixed: potential memory leak.
* contrib/hbqt/qtcore/hbqt_misc.prg
! Introduced: DESTRUCTOR _destroy() which explictly destroys
singals and slots prior to destroying the object. [ Francessco ].
This renderes calling oQObject:disconnect() useless.
Now there is no more GPF on hbIDE. Please build for
different OS's and report on the list.
; TODO: remove :disconnect calls from hbXBP and hbIDE.
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_init.cpp
! Transferred logic of destructors from core to gui.
The whole lot should be in one source. We cannot
control the order of execution of _init_ functions.
Francessco, take care of these changes.
NOTE: now hbIDE enters, used with all flavours, exits
without GPF. The remaining issue is to control
memory leaks. Francessco is working onto that.
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesources.prg
! Connect/disconnect per current implementation.
* contrib/hbide/idemain.prg
! Put to more stress test at exit by destroying all objects
explictly.
* contrib/hbqt/qtgui/THbQtUI.prg
! Destructor more rationalized.
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpradiobutton.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpwindow.prg
! Restored: :disconnect() method.
Without disconnecting events/slots object does not get
destroyed. The reason is :__pSlots and :__pEvents holds
reference to self which needs to be released before
object itself is released, a cyclical phenomena.
* contrib/hbqt/qtgui/qth/QBoxLayout.qth
* contrib/hbqt/qtgui/qth/QLayout.qth
* contrib/hbqt/qtgui/qth/QMainWindow.qth
* contrib/hbqt/qtgui/qth/QTableWidget.qth
* contrib/hbqt/qtgui/qth/QTreeWidget.qth
! Fixed: detached objects. Hopefully hbIDE should exit clean
if just entered and exited. However, if some dialog using
.ui (.uic) files, it is still broken.
* 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.