* 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.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! QEvent:Close now returns TRUE to the calling loop.
Now this is the responsibility of the user code to
set an event to be accepted or ignored.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Restore the point of execution when QEvent::Close is set to
ignore(). This might have impact on user code where it is
set to any other value.
* contrib/hbqt/qtgui/qth/QColor.qth
! Fixed constructor.
TODO: to review constructor code in all .qth's.
* harbour/src/common/hbdate.c
! Fixed OS/2 compilation, it was not using gettimeofday() and so
hb_dateMilliSeconds() had a one second resolution effectively
killing thread switching.
* harbour/src/vm/hvm.c
* extended item references created by hb_vmPushItemRef() so they
can be used to create reference chain and detached in executed
PRG code. Such reference chain is cleanly break when original
reference item is removed from HVM stack.
* contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth
! Formatting.
* contrib/hbide/ideprojmanager.prg
! Fixed: to "build a source" witout any environment set.
Now hbmk2 is called from the folder where source
resides. This feature assumes that hbMK2 is
correctly executed, i.e., hbIDE is started from
a console which is tuned to that effect.
Alternatively, if a default project is defined,
current environment overrides the above protocol.
In the process hbmk.hbm residing in that folder
is processed as usual by hbMK2. It means, in a
folder one can keep all the source examples
alongwith a hbmk.hbm and build those sources
just by opening it.
* contrib/hbqt/qtcore/qth/HBQString.qth
* contrib/hbqt/qtcore/qth/QByteArray.qth
* contrib/hbqt/qtcore/qth/QLocale.qth
* contrib/hbqt/qtcore/qth/QVariant.qth
* contrib/hbqt/qtgui/qth/QLabel.qth
* contrib/hbqt/qtgui/qth/QLCDNumber.qth
* contrib/hbqt/qtgui/qth/QMatrix.qth
* contrib/hbqt/qtgui/qth/QPainter.qth
* contrib/hbqt/qtgui/qth/QTransform.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
* contrib/hbqt/qtnetwork/qth/QHttp.qth
- Commented out: methods of duplicating parameters (Harbour types)
to go through the modified generator engine.
* contrib/hbqt/hbmk2_qt.hbs
! Restructured: c++ code which now handles arguments efficiently.
hbIDE seems to be working fine but regression cannot be ruled out.
NOTE: code is now less tolerent to number and type of arguments.
;TOREVIEW: all c++ source files one-by-one to detect wrong
constructs which might be waiting to be fixed.
* harbour/src/rtl/gtxwc/gtxwc.c
% small optimization
! added hack for multiple window resizing when user executes
series of setmode() function. I'll look for cleaner solution
in some spare time.
* contrib/hbqt/qtgui/hbqtgui.ch
+ Added: QFormLayout_* constants.
* contrib/hbqt/qtgui/qth/QWidget.qth
! Modified: :setParent( QWidget * w ) => :setParent( QWidget * w = 0 )
It is undocumented change but perhaps Qt has ommitted. Works fine.
So to set the parent of a widget to nil is now easier.
* contrib/hbqt/hbmk2_qt.hbs
! Code cleanup.
! Minor formatting.
! zimproved handelling of default parameters.
; ROUND # 1: More to follow.