* contrib/hbgt/doc/en/hbgt.txt
* doc/en/gtslang.txt
* extras/gfspell/spell.prg
* tests/mousetst.prg
* tests/testdbf.prg
* tests/testrdd2.prg
* contrib/hbmisc/numtxthu.prg
* contrib/hbqt/tests/wvtqt.prg
* contrib/hbxbp/tests/wvtqt.prg
* include/hbapigt.h
* tests/db_brows.prg
* tests/gtchars.prg
* tests/tb1.prg
* tests/testbrw.prg
* tests/wcecon.prg
! fixing high 8-bit chars (using various methods)
(finished)
; NOTE: Some sources have been converted to UTF-8,
so from now on make sure to use an UTF-8 enabled
editor and use only UTF-8 chars when typing
non-ASCII (7-bit) characters.
* contrib/hbxbp/xbpfiledialog.prg
! Fixed: memory leak. Please read previously documented here
how a child can be destroyed properly with a temp parent.
* contrib/hbxbp/xbpdialog.prg
+ Added: Main application windows object name as "PleseDoNotDelete"
* contrib/hbxbp/xbplistbox.prg
- Removed: traces from prev commit.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
! Fixed: a couple of potential memory leaks.
* contrib/hbqt/qtcore/hbqt_bind.cpp
+ Implemented: Thread safe global list. Now objects are released
in a proper manner.
+ Added: a hack not to delete a QMainWindow if its name is
"PleaseDoNotDelete". It is scheduled to be removed
once it is resolved that why on certain circumstances, if
a QMainWindow is deleted, it results in GPF.
* contrib/hbqt/qtcore/hbqt_bind.cpp
+ Enabled: by default to clear all items in the global list.
This has fixed GPF on exit under certain situations.
DemoQt.prg is now fully functional even with multiple
dialogs open at once.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
+ Added: protection against HVM is active or not.
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/qth/QApplication.qth
- Removed: unnecessary code written at early days.
* contrib/hbxbp/xbplistbox.prg
- Commented out: few signals not being used.
* contrib/hbqt/gtqtc/gtqtc.cpp
* contrib/hbqt/hbmk2_qt.hb
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_bind.cpp
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtcore/qth/QLibraryInfo.qth
* contrib/hbqt/qtcore/qth/QMimeData.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/hbqt_init.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
* contrib/hbqt/qtgui/qth/QApplication.qth
* contrib/hbqt/qtgui/qth/QClipboard.qth
* contrib/hbqt/qtgui/qth/QDirModel.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QFileSystemModel.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
* contrib/hbqt/qtnetwork/hbqt_init.cpp
* contrib/hbqt/tests/draggable.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
+ Implemented: Revamped HBQT.
The complete code base has been cleaned as per new API
and there is no leftover is kept inside the sources.
All demos and hbIDE seems TO be working fine with few
exceptions here and there, but usually all seems fine.
The only issue left, so far I can assess is that no object
is subject to destrution if a connect is issued onto that.
And I have no idea how TO handle this situation. It is the
programmers responsibility to disconnect whenever an object
is supposed to go out of scope.
TODO: still debug tracelog entries ( under HB_TR_DEBUG ) are
retained in hbqt_bind.c which are schduled TO be
removed once code base stabilizes enough.
* contrib/hbxbp/xbptoolbar.prg
! Fixed: one regression based on recent hbQT mem leak fixes.
* contrib/hbide/ideedit.prg
* Fixed: recursively attching self to some instance variable.
* Normalized: code.
* contrib/hbide/ideactions.prg
* contrib/hbide/idemisc.prg
* Fixed: some lost actions resulting after recent hbQT changes.
NOTE: more are left still, stay tuned.
* contrib/hbxbp/xbpfiledialog.prg
* Fixed: how :connect()/:disconnect() was applied.
NOTE: until a :disconnect() is performed on an object
which has an actice :connect(), it never goes
out-of-scope.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* Optimizations.
* More VM protections.
* contrib/hbxbp/xbplistbox.prg
! Fixed: a nasty construct in :clear() method where slots were
being disconnected and connected again increasing the unnecessary
object destruction/creation.
* contrib/hbqt/tests/demoqt.prg
* contrib/hbqt/tests/testbrow.prg
! Minor guards.
; NOTE: all the hbQT related test programmes are working flawlessly.
hbIDE still reports "reference to freed block" error but
this is not due to hbQT, instead, the complex object
relationship of hbXBP/hbQT/hbIDE classes. This is only
visible when hbIDE is linked without :destroy() mechanism.
BUT no GPF whatsoever. With :destroy() calls hbIDE EXITS
normally.
* contrib/hbqt/qtgui/hbqt_errorsys.prg
+ Added: HB_TRACE() call if HVM is closed and error message
needs to be retrieved somehow. It will allow us to
peep in further to pin-point the EXIT GPF.
* contrib/hbqt/qtgui/hbqtgui.hbx
* Re-generated.
* contrib/hbxbp/tests/demoxbp.prg
* Minor.
* contrib/hbide/idehome.prg
* Minor.
* contrib/hbide/idemain.prg
! Enabled: :destroy() calls before application quits.
; NOTE: now no more EXIT GPF is reported in hbIDE.
Please shout if you get one and report the message
available on std error output, for Window which
will be debugger like debug.exe.
* contrib/hbxbp/hbxbp.hbp
* contrib/hbxbp/hbxbp.hbc
* include hbqt.hbc instead of relative references to
hbqt sublib .hbcs. This means hbxbp now includes all
hbqt sublibs.
* contrib/hbxbp/hbxbp.hbc
* deleted reference to qtqtc.hbc.
* contrib/hbide/hbide.hbp
+ removed relative path from .hbc references.
* hbqt sublib reference replace with hbqt.hbc
* contrib/hbxbp/hbxbp.hbp
* contrib/hbide/hbide.hbp
- deleted -prgflag=-D_HB_TR_NOALWAYS_
* contrib/gtwvg/wvgcrt.prg
* contrib/gtwvg/wvgwnd.prg
* contrib/hbxbp/xbpcrt.prg
* contrib/hbxbp/xbpwindow.prg
* Fixed: ::sSize => ::aSize.
Overlook reported by Miso Pucko on bug-tracker.
* Moved: some methods to PROTECTED: section.
* Fixed: ::isParentCrt() which was preventing the subclassing WvgCRT().
Requested by Miso Pucko on bug-tracker.
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbide/hbqreportsmanager.prg
! neverending cleanup of HB_TR_ALWAYS debug lines
* contrib/hbxbp/xbp.ch
* contrib/hbide/hbide.ch
+ solution to end the neverending cleanup of HB_TR_ALWAYS debug lines
; NOTE: use debug msgs as described in INSTALL
* contrib/hbide/idechangelog.prg
! Advanced: more refinements.
* contrib/hbxbp/xbpfiledialog.prg
! Fixed: XbpFileFialog() is made to open fast, was responding
extremely slow.
* contrib/hbide/idedocks.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpwindow.prg
! Fixed: a logical glitch causing X button on hbIDE behaving
not as intended.
* include/hbtrace.ch
* added way to disable HB_TR_ALWAYS
for more: 2011-04-16 23:04 UTC+0200 Viktor Szakats
* contrib/hbxbp/hbxbp.hbp
* contrib/hbqt/hbqt_common.hbm
+ disabled HB_TR_ALWAYS permanent messages from SVN builds
; TODO: move this logic to hbpre.hbm
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/ideactions.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpmenubar.prg
! Fixed: many artifacts related with XbpMenu() and MDI
handelling. I did not know Xbase++ diverted from uniform
arguments behavior for every object for XbpMenu() where
:visible instance variable is FALSE by default.
Thanks Shum for code and looking inside the docs.
* include/Makefile
+ include/hbstrict.ch
* contrib/hbpost.hbm
+ added experimental -u+ header to catch some common code style
problems. currently IF() is caught, but it interferec with std.ch
hbsix.ch and possibly more, so it's not enabled
* config/global.mk
* src/dynlib/2nd/Makefile
* src/dynlib/Makefile
* secondary harbour dynlib is now enabled by __HB_BUILD_DYN_2ND=yes
* renamed secondary harbour dynlib to harbour2*
+ it's now possible (again) to build harbour .dll in ST mode by
using __HB_BUILD_DYN_ST=yes. if used together with __HB_BUILD_DYN_2ND=yes,
the secondary dynlib will be MT. (pls note the secondary dynlib
is never directly used by hbmk2, so it's there for mere build convenience
only)
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpdataref.prg
! IF() -> IIF() (with the help of hbstrict.ch)
* contrib/hbformat/hbfmtcls.prg
! fixed mistakenly changed '==' to LEFTEQUAL() in prev commit
* src/rtl/net.c
! fixed potential NULL dereference with pass->pw_name
I'm not sure it's real possibility anyhow it cannot hurt
reason for this change is that I was getting GPF under
Linux in this call which wasn't BTW fixed by this change.
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideeditor.prg
! Fixed '!=' operator used with string
! '<>' operator changed to '!='
Please never use '<>' or '#' unequality operator in Harbour SVN
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpparthandler.prg
! Corrected: many artifacts related to XbpMenu() and
:setOwner()/:setParent() functionality. Thanks Shum for insight.
* contrib/hbxbp/xbpmenubar.prg
! Fixed: where XbpMenu() activation was not supplying the documented
parameters when activated, thanks Shum for watching it closely.
* contrib/hbqt/qtgui/qth/QPrinterInfo.qth
! Fixed: constructor.
* contrib/hbxbp/xbpgeneric.prg
! Minor.
* contrib/hbxbp/xbpwindow.prg
! Fixed: rather commented out the code where :handleEvent()
was destroying the object. I will look into another way
how this can be achieved where :close callback is not
defined to destroy the object and only xbeP_Close is
sent via PostAppEvent(). Like:
oXbpDialog:close := {|mp1,mp2,obj| PostAppEvent( xbeP_Close, , , obj ) }
instead of
oXbpDialog:close := {|mp1,mp2,obj| PostAppEvent( xbeP_Close, , , obj ), obj:destroy() }
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpsle.prg
+ Implemented: XbpPushButton() now understands <ENTER> pressed.
: XbpSLe() now responds to <ENTER> key which simulates
windows equivalent TAB key.
! Rationalized: event loop, now no delays in processing.
With this commit, you can experiment with real applications.
Angel, can you re-visit the application you had sent to the
list almost an year back ?
* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpwindow.prg
! Code optimizations.
* contrib/hbxbp/xbpgeneric.prg
! Changed: the way event loop was being constructed and processed.
Now, no event is missed and is dealt with properly.
Not best of the ways but my experiments could not lead to
any better algorithm.