* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/tests/xbpqtc.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbqt/gtqtc/gtqtc.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/tests/demoqt.prg
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idemain.prg
* contrib/hbide/ideeditor.prg
! HB_TR_ALWAYS -> HB_TR_DEBUG.
Neverending battle with abused debugging facilities continue.
Please _never_ use HB_TR_ALWAYS in committed code, not even
in commented lines because it's confusing, it trashes console
on *nix systems, it creates a rubbish/unfinished feel for
anyone trying out these components and it creates unnecessary
noise on lists in the form of problem reports.
For those few developers who actually need these lines:
_Set HB_TR_LEVEL on your development machine_ to HB_TR_DEBUG
to get those debug lines!!
Also: Never use HB_TR_ALWAYS as a mean of generating
test output meant for users, I've found some of these in
tests/ .prgs. Use something native instead, like
a text box, msgbox, log file, OutStd(), QOut(), etc.
If this won't change in the future, the best will be to
simply remove HB_TR_ALWAYS from hbtrace.ch, thus making
it unsuited for purposes it wasn't designed for.
Thank you.
* config/win/mingw.mk
+ Added commented -Wextra warning option which will be particularly
interesting with the release of gcc 4.6, since they've finally
implemented the last useful feature which was unique to BCC:
-Wunused-but-set-variable and -Wunused-but-set-parameter
See:
http://gcc.gnu.org/gcc-4.6/changes.html
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
! Adopted: to comply with latest hbXBP change where
oXbp:setStyleSheet() was made PROTECed method.
* include/hbstack.h
* include/hbapi.h
! Marked functions as HB_EXPORT (should be HB_EXPORT_INT in the future)
which are used by hbdebug lib. It caused link error when using
'-b -shared' hbmk2 options on non-mingw windows compilers:
hb_stackDebugInfo
hb_macroGetType
hb_macroGetValue
hb_memvarGetValueBySym
* src/common/hbtrace.c
* contrib/xhb/hbsyslog.c
+ Added Android specific logging support. Untested.
* contrib/xhb/hbsyslog.c
! Disabled syslog() call for Symbian.
* include/hbsetup.h
+ Added Android OS platform detection. Untested.
* utils/hbmk2/hbmk2.prg
% Disabled some very old HB_INSTALL_PREFIX autodetection logic,
which supports some obsolete looking scenarios when hbmk2 executable
is not in standard location. Rest of logic and failure detection
rearranged accordingly. After this step hbmk2 no more requires
harbour executable to be present next to it.
IMPORTANT: This is live testing, pls report any problems.
* contrib/hbxbp/xbpfontdialog.prg
! Minor.
* contrib/hbxbp/xbpwindow.prg
! Protected: :setStyleSheet() method.
It was not Xbase++ compatible so to achieve exactly Xbase++
compatibility, this is necessary.
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbxbp/xbpwindow.prg
! Restructured: Presentation Parameters engine.
Restored: CSS enabled presentation parameters management.
Perhaps this is the only way to handle many artifacts
cummulatively. The engine is enhanced to offer users as
Harbour extenstion, to enhance GUI components.
oXbp:setStyleSheet( cIdentifier, cCSS ) where
<cIdentifier> can be used to re-arrange widget attributes.
* contrib/hbxbp/tests/demoxbp.prg
! Commented-out but adopted to new protocol :setStyleSheet() calls.
* include/hbapi.h
* include/harbour.hbx
* src/common/hbver.c
* src/rtl/version.c
+ added hb_verHostBitWidth( void ) -> int which retrieves bit width of host OS
+ added HB_OSBITWIDTH() -> <nBits>
; It will currently work on win platform, falling back to target arch bits
for others. Pls extend it for *nixes. For MS-DOS, 32 will be returned with
both currently supported compilers.
* contrib/hbxbp/xbppushbutton.prg
! Fixed: :activate was firing event twice, on press and release, both.
* contrib/hbxbp/xbpwindow.prg
! Fixed: to reset window size as per GUI norms. Xbase++ seems
wrong on this account where XbpDialog() height is "excluding"
window frame-height whereas width is "inclusing" frame-width.
* contrib/hbxbp/xbpwindow.prg
! Depricated: setting fore/background colors of a part via
style sheet which was raising some issues. It needs further
rationalization as well for some type of components.
* contrib/hbqt/gtqtc/gtqtc.cpp
* contrib/hbqt/gtqtc/gtqtc.h
! More additions.
* contrib/hbxbp/tests/hbmk.hbm
+ Added: -mt switch.
+ contrib/hbxbp/tests/print.png
+ Added: long missed resource.
* contrib/hbxbp/xbpcrt.prg
! More synchronized.
+ contrib/hbxbp/tests/xbpqtc.prg
+ Added: an XBP and QTC specific demonstartion which also
offers Qt console(s) as threaded modules.
* harbour/src/vm/thread.c
* renamed hb_criticalCode() to hb_mutexEval()
* harbour/src/rtl/cdpapi.c
* added HB_CODEPAGE_ANNOUNCE( UTF8 ) so user can use
REQUEST HB_CODEPAGE_UTF8
in PRG code.
* harbour/tests/big5_gen.prg
; added note about characters mapped to U+FFFD REPLACEMENT CHARACTER
in BIG5.TXT and iconv mapping for the same characters.
* harbour/src/vm/thread.c
+ added new function:
hb_criticalCode( <pMtx>, <bCode> | <@sFunc()> ) -> <xCodeResult>
it executes <bCode> or @sFunc() when <pMtx> is locked by this function.
! fixed hb_mutexQueueInfo() to not overwrite RTE subst value.
This function may only return .T. or generate RTE so the logical
return value is useless. I think that it should be removed and this
function should simply return NIL.
* updated syntax of PRG functions
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
! Commented out tracelogs.
* contrib/hbqt/gtqtc/gtqtc.cpp
* contrib/hbqt/gtqtc/gtqtc.h
! Improved: object handelling.
* contrib/hbxbp/xbpgeneric.prg
! Minor.
* contrib/hbxbp/xbpcrt.prg
+ Functional: the class is functional to an extent.
Example code in reply-message to this commit on dev-list.
NOTE: now this seems possible that Harbour can have a
pure GUI along with a console inside it to pave a
way for seemless migration to GUI world. See example code.
* utils/hbmk2/hbmk2.prg
+ Added TOFIX. There is a build error caused by gpm, when
trying to build 64-bit Harbour on a 32-bit Ubuntu (10.10)
Linux. gpm lib is not available in 64-bit form, but
32-bit hbmk2 is built flagged with HB_HAS_GPM, so when
run it will want to include gpm also for 64-bit target.
I'm not sure what is the solution for this. Ideally
hbmk2 should dynamically decide if gpm is really required
for a given target. It could f.e. look into gttrm lib
to check for this.
[ though maybe this build scenario is just too awkward
for any sane purpose, even more so because X11 is also
not available in 64-bit form, limiting its use even more.
Probably it's more realistic goal to cross-build 32-bit
targets on a 64-bit host. ]
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/*.po
+ Added -nodefgt[-] cmdline option and nodefgt=[yes|no] .hbc
commands. It will disable linkage of default GT when creating
statically linked application. It's little hakish solution,
so pls be careful when playing with it.
% Only link to gpm lib if any of GTTRM, GTCRS or GTSLN GTs
are actually linked. (it can be useful in conjunction
with -nodefgt option)
* harbour/contrib/hbnetio/netiosrv.c
* harbour/contrib/hbnetio/readme.txt
+ added new server function:
NETIO_VERIFYCLIENT( <pConnectionSocket> ) -> <lAccepted>
By default client verification is done inside NETIO_SERVER()
function but some servers may want to verify client password
before they execute some expensive initialization code necessary
for RPC executed from NETIO_SERVER()
* harbour/src/rtl/cdpapi.c
! fixed U+0000 conversion - it should not be converted.
* harbour/src/rtl/hbjson.c
! fixed decoding unicode value from strings with \uHHHH
! fixed to use hb_cdpU16ToStr() instead of hb_cdpGetChar()
which cannot be used with CPs using multibyte encoding.
* harbour/ChangeLog
! fixed typos in my previos ChangeLog entry
(I should try to read such things at least once before I'll commit)
; TOFIX: contrib/hbexpat/internal.c: uses hb_cdpGetU16() which cannot
be used with CPs using multibyte encoding.
* harbour/include/hbapicdp.h
* harbour/include/hbcdpreg.h
* harbour/src/rtl/cdpapi.c
* harbour/src/rtl/cdpapihb.c
+ added support for user defined character encoding.
Now it's possible to easy create and register in HVM CPs using any
encoding so I expected that users interested in adding support for
some exotic character encoding will create such mapping instead
of asking for it.
% moved support for codepages using multibyte characters mapped to
single unicode values to user defined encoding - it nicely simplify
the code and eliminate unnecessary overhead in other CPs.
* allow to chose UTF8 as HVM CP
* harbour/src/rtl/idle.c
! fixed idle mode flag resetting
* harbour/src/rdd/hbsix/sxutil.c
! fixed SX_SLIMFAST() results when nested quoting with (") and (') is
used
+ harbour/tests/big5_gen.prg
+ added code to generate C source with conversion tables between
BIG5 and UCS16 using data defined by Unicode, Inc. in BIG5.TXT
+ harbour/src/codepage/cp_utf8.c
+ added alternative UTF8 Harbour CP (UTF8ASC) as an example Harbour
user defined codapged using multibyte character encoding
* harbour/src/codepage/Makefile
+ harbour/src/codepage/cp_u16le.c
+ added Harbour codepage using UTF16 little endian encoding
* harbour/src/codepage/Makefile
+ harbour/src/codepage/big5.c
+ harbour/src/codepage/cp_big5.c
+ added BIG5 Harbour CP. It can be used with programs using Harbour
STR API with automatic translations.
; This CP needs really big translation tables. I added code which
makes some very simple compression which reduced raw size from
176100 bytes to 77354 but it's still large 77KB so maybe we should
think about moving this CP to other Harbour codpage library which
is not part of harbour shared library harbour*{.dll|.so|.dyn|...}
Alternatively I can try to reduce static size to about 30KB and
then build necessary tables dynamically at runtime when they are
used first time though in such case I will need additional 177KB
of dynamic memory instead of 77KB of static memory used by current
code.
* src/rtl/fstemp.c
! hb_fsTempDir(): due to misplaced else branche it returned
'./' on *nix systems when temp dir ended with pathsep,
for the same reason it return empty string instead of './'
if temp dir could not be determined.
; Please check me.
* contrib/hbunix/chroot.c
! following suit with the others functions, on error, errno should be
saved.
+ further, in about 101% of the cases, chroot() is to be followed by a
chdir("/"), so i think it would be right to include this right here.
; [Tamas Tevesz]
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpwindow.prg
! Fixed: where XbpDialog() was calculating positions incorrectly
for whole frame instead of primary monitor.
* contrib/hbcurl/core.c
! fix double free in PHB_CURL_free.
hb_curl_form_free walks the linked list. Calling it again on the last
item results in a double free.
[Benjamin Jacobs] (Thank you very much!)
* contrib/hbxbp/hbxbp.hbc
* contrib/hbxbp/hbxbp.hbp
* contrib/hbxbp/hbxbp.hbx
+ contrib/hbxbp/xbpcrt.prg
+ Added: XbpCrt() class. It is just a skelton code yet.
* contrib/hbxbp/xbpgeneric.prg
! Fix( try ) to calculate desktop width for primary monitor.
* contrib/hbxbp/xbpparthandler.prg
! Fixed: RTE while moving a window with owned windows.
* contrib/hbxbp/xbpwindow.prg
! Fix( try ) to have width exactly that of Xbase++ size.
* utils/hbmk2/hbmk2.prg
! Fixed potential RTE occurring at filter expression
evaluation time (f.e. with filter {x86-64})
+ Added warning (suppressible with -quiet) when any error
in filter expression formation or evaluation is found.
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtgui/hbqtgui.hbm
- contrib/hbqt/qtgui/gtqtc.h
- contrib/hbqt/qtgui/gtqtc.cpp
+ contrib/hbqt/gtqtc
+ contrib/hbqt/gtqtc/gtqtc.cpp
+ contrib/hbqt/gtqtc/gtqtc.h
* Moved readded GTQTC related files to their original
position. Please add build files (f.e. from old SVN)
and add them to HBQT core makefiles, like f.e. for
hbqtsql.
IMPORTANT: .hbx is not required for any GT, so it's not
needed for GTQTC either.
* contrib/hbqt/hbqt_common.hbm
* utils/hbmk2/hbmk2.prg
* config/bsd/pcc.mk
* pcc fixups [Tamas Tevesz]
* utils/hbmk2/hbmk2.prg
+ Added pcc to help screen
* config/bsd/pcc.mk
* XXX -> TODO
* INSTALL
+ Added pcc to more platforms.
* contrib/hbqt/qtgui/hbqtgui.hbm
* contrib/hbqt/qtgui/hbqtgui.hbx
+ contrib/hbqt/qtgui/gtqtc.cpp
+ contrib/hbqt/qtgui/gtqtc.h
+ Reintroduced: half-cooked console implementation of hbQT.
This time it is targeted to provide a console widget inside
GUI MDI inetrface to run Clipper console code alongside GUI
controls.
DISCLAIMER: this is an effort and still don't know if I
will succeed or be failure. But if I do succeed,
it will allow the migration of existing Harbour
console applications to GUI world easily.
* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbpwindow.prg
! Fixed: error generated at after an owned XbpDialog() is deleted.
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
! Minor.
* contrib/hbxbp/xbpwindow.prg
! Fixed: :currentSize() was not returning the correct values
in case of XbpDialog().
* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbpwindow.prg
+ Implemented: Xbase++ compatible :moveWithOwner feature.
Any dialog with :moveWithOwner set to TRUE will move together
with its owner if user moves the window which owns them.
* contrib/hbqt/qtcore/qth/HBQEvents.qth
- Removed: tracelogs.
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
! Optimizations only.
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpparthandler.prg
+ Implemented: Xbase++ compatible MDI engine.
Now Xbase++ code can be compiled and run with this feature, Shum ?
TODO: fix some small artifacts when XbpDialog() is made a MDI client.
Resuming it back to desktop it is ok.