* 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.
* src/rtl/gtxwc/gtxwc.c
% undone small optimization in 2011-04-04 10:48 UTC+0200 Przemyslaw Czerpak
because it caused random app stalls where the app would only
continue if some input events were manually made. Cursor
blinking also only happened on input events.
I've seen this issue on Ubuntu 10.10 and latest OS X.
After this patch, it works OK again.
Przemek, please review this patch, most probably there is
a solution which keeps the optimization and avoids this problem.
* contrib/hbqt/qtcore/hbqtcore.h
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtgui/hbqtgui.h
! Updated: HBQT_TYPE_Q*Class with latest values.
* contrib/hbxbp/xbpbrowse.prg
! Optimized to hold QIcon's and QColor's in hashes.