* contrib/hbcairo/core.c
! fixed typo
* contrib/hbssl/ssl.c
! fixed typo in SSL_GET_MODE()
* contrib/hbssl/hbssl.h
* contrib/hbssl/x509.c
* contrib/hbssl/ssl.c
+ implemented release option for X509 collectable pointer
; openSSL increments reference counter for X509 returned
by SSL_get_peer_certificate(), but does not increment it
for SSL_get_certificate(). Unnecessary freeing of X509
pointer caused random GPF later
* src/rtl/hbsockhb.c
* changed .prg level hb_socketSetBlockingIO() return value
type from lSuccess to nSuccess, to have the same return
value meaning precision as C level function
* src/rtl/hbsockhb.c
* include/harbour.hbx
+ hb_socketGetFD( hSocket ) --> nFD
* tests/testdyn.prg
! fixed typo discovered by Alex Strickland. Thank you.
* contrib/hbrun/hbrun.hbp
- deleted unfinished solution for "DSO" builds (having two
TOFIXes for many months). Please supply required extra libs
('m' and 'z' in case of hbrun) manually to the build via
HB_USER_LDFLAGS, HB_USER_LIBS, until a complete solution is
discovered.
* harbour/include/hbhrb.ch
* harbour/src/vm/runner.c
* disabled access to INIT and EXIT functions in
HB_HRBGETFUNSYM() and HB_HRBGETFUNLIST()
+ added 2-nd parameter <nType> to HB_HRBGETFUNLIST()
HB_HRBGETFUNLIST( <pHRB> [, <nType>] ) -> <aFuncList>
<nType> is defined in hbhrb.ch:
HB_HRB_FUNC_PUBLIC - locally defined public functions
HB_HRB_FUNC_STATIC - locally defined static functions
HB_HRB_FUNC_LOCAL - locally defined functions
HB_HRB_FUNC_EXTERN - external functions used in HRB module
* contrib/hbtip/sendmail.prg
* contrib/hbtip/smtpcli.prg
! After a conversation with Antonio Maniero (also subscriber of the
dev-list), we detected some trouble with hb_sendmail() under some
conditions:
EXIM servers refuse the HELO/EHLO greeting that doesn't conform to
RFC2821, so when one try to autenticate with username containing an @
or any other character that is not allowed in FQDNs, the server
refuses to proceed. Many SMTP servers, (EG: Google ones) are more
tolerant, so I believe that this helped the problem gets unnoticed.
The patch introduces a new parameter, preserving backward
compatibility and at the same time fixing the @ problem, even in
unmodified code that doesn't provide the extra parameter (as we
removed the cUser from the HELO string, that is causing trouble with
EXIM. Anyway, these strings would be accepted only by tolerant
servers, so the correct one should cause no problem at all).
; Patch and description by Carlos Bacco. Thank you.
* harbour/src/rdd/dbf1.c
! fixed default initialization value in UNICODE fields after
APPEND BLANK. Many thanks to Phil Krylov for information about
the problem and patch. The fix I committed is slightly different
just to follow idea of this code.
* harbour/contrib/hbblat/blatcls.prg
* Update copyright years
* Updated to 2.7.6 blat version
+ Added lNoMD5 class var for -nomd5 option
+ Added cContentType class var for -contentType <string> option
* Fixed error in ArrayToString() when file name contains " char
* harbour/include/hbrdddbf.h
* moved DBF record lock range for DB_DBFLOCK_HB64 to avoid potential
problems with integer overflows in system or network transport layer.
Warning: INCOMPATIBLE!
all applications using DB_DBFLOCK_HB64 locking mode should
be updated - it is not safe to concurrently access the
same files using programs compiled with older Harbour
versions and current one.
* contrib/hbide/ideconsole.prg
* Minor.
* contrib/hbide/finddialog.ui
* Changed: the appearance and a bit of functionality of
"Find & Replace" dialog. It was occupying larger desktop
territory than needed, which, at times is too precious.
* contrib/hbide/idefindreplace.prg
* Reworked: the way "Find What" edit control of "Find & Replace"
dialog was behaving. Now it is almost at par with XMate.
* Fixed: the window coordinates were not being maintained either
with repositioning or close via "X" button.
* harbour/src/rtl/filebuf.c
! fixed next three integer overflows exploited by HB64 locking mode.
BTW probably I'll move the lock range to not operate on last positive
offset because such overflow problems can be also exploited in low
level OS or network transport layer code - it happened in the past.
I'll do that when we confirm that current Harbour implementation
is correct.
* harbour/src/rtl/gtwvt/gtwvt.c
* harbour/contrib/gtwvg/gtwvg.c
! always set trailing 0 in the buffer containing font name set
by HB_GTI_FONTNAME - protection against too long strings.
* harbour/contrib/gtwvg/wvgwing.c
! fixed memory leak in last commit - thanks to Mindaugas.
% use HB_ITEMCOPYSTR() in WVG_FONTCREATE() to eliminate memory
allocation.
* harbour/contrib/gtwvg/wvgutils.c
* harbour/contrib/gtwvg/wvgwing.c
* eliminated HB_TCHAR_*() macros
; TOFIX: replace hb_parvc() and nCopyAnsiToWideChar() function
with valid HB_STR* macros.
Function nCopyAnsiToWideChar() should be removed.
* harbour/contrib/xhb/xhw32prn.prg
! added missing ;
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvgcore.c
* contrib/gtwvg/wvgcuig.c
* contrib/gtwvg/wvggui.c
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgwing.c
! Removed: TCHAR_* macros, almost.
Only 6 occurances are still present in the code which I do not
know how to cover.
* contrib/gtwvg/wvgmenub.prg
! Adapted: the conversion of character '~' to '&' at prg level
instead of C level.
* harbour/ChangeLog
! fixed typo in file name in my previous commit.
It should be gtwvg.c not gtwvg.h
* harbour/src/rtl/disksphb.c
! fixed variable declaration for strict ANSI C compilers
* INSTALL
* further clarified the way to submit diffs (use _one_ .dif
file created from root of SVN sandbox using 'svn diff', use
extension '.zip')
* clarified the names of mailing list.
* clarified which mingw tdm 4.6.1 version is okay.
* simplified to use 'zip' tool and .zip extension for submitted
logs.
* contrib/gtwvg/wvgcore.c
* contrib/gtwvg/wvgcuig.c
* contrib/gtwvg/wvggui.c
* contrib/gtwvg/wvggui.h
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgwing.c
! Replaced: HB_TCHAR_* macros to HB_STR*() API.
I could not find the hb_str*() api interface for remaining macros.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/gtwvg.h
! Synchronized: with GTWVT as much possible.
Mainly eliminated TCHAR_* macros and used hb_str* api.
Also tried to synchronize codepage issue, not sure
how much I succeeded.
* contrib/hbqt/qtcore/hbqt_misc.prg
+ Embedded: oQt:hbSetEventBlock( QEvent_Paint, bBlock )
=>
oQt:connect( QEvent_Paint, bBlock )
NOTE: the difference is that in all other events only one
parameter is passed to bBlock, i.e., an object of
type relevant QEvent, whereas, for paintEvent two
parameters are passed, first as usual qPaintEvent,
the other qPainter.
* contrib/hbqt/tests/demoqt.prg
! Replaced: oBtn:hbSetEventBlock( QEvent_Paint, bBlock )
=>
oBtn:connect( QEvent_Paint, bBlock )
* contrib/hbqt/hbmk2_qt.hbs
! Fixed: a strategic omission where return value of a block
was not being retrieved properly. Now newly introduced
engine to render owner-drawn objects at the .prg level is
working flawlessly.
* contrib/hbqt/qtgui/qth/QPushButton.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
+ Added: PaintEvent = YES to check if engine is working ok.
Yes, it is working.
* contrib/hbqt/tests/demoqt.prg
+ Added: functionality to paint a PushButton via user code.
Still looking for the how to determine state of the object,
in this case, pushbutton, whether it is being pushed or
otherwise.
* contrib/hbqt/hbmk2_qt.hbs
+ Implemented: engine to receive protected methods, i.e., events
and a way to exploit them. The code needs some more make-over
but the proof of concept is working. Lookfor hbqt/tests/demoqt.prg
for a live example.
NOTE: there is only a minimal need to add few keywords, rest all
is handelled by the engine. The next step is to synchronize
this methodology with :connect() / :disconnect() protocol.
* contrib/hbqt/qtgui/qth/QItemSelection.qth
* contrib/hbqt/qtgui/qth/QItemSelectionModel.qth
+ Enforced: methods with QModelIndexList => QList< QModelIndex ).
* contrib/hbqt/qtgui/qth/QWidget.qth
! Fixed: to honor QModelIndexList cast.
+ Added: building blocks to create classes with their protected
methods. The constructor methods are valid for only QWidget
class and this code will be replaced with real-code soon.
Still I am looking for how to include resultant .cpp in final
binaries. Till then this code stays as is.
Viktor: can you look into new methods and fix the logic from hbmk2's
point of view ?
qqwidget.h is created ok.
moc_qqwidget.cpp is created ok.
moc_qqwidget.o is missing.
QWidget.cpp is compiled fine.
But when compiling demoqt.prg, it reports missing
vtable for QQWidget which is because moc_qqwidget.cpp
is not being linked.
To invoke, in QWidget.qth, set PaintEvent = YES and
rebuild QWidget.*.
* src/rdd/usrrdd/rdds/arrayrdd.prg
! formatting/cleanup, removed unncessary e"" string
! replaced '='/'!=' operator on strings with ==. It's most probably
still broken, but at least now consistently so.
* harbour/src/rdd/usrrdd/rdds/arrayrdd.prg
* Cleaned windows xhb debug using HB_TRACE() function and removed old
lines
* harbour/ChangeLog
* formatted previous log entry
* contrib/hbqt/qtgui/qth/QPrinter.qth
* contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth
* Fixed: constructors.
* contrib/hbqt/qtcore/qth/QLibraryInfo.qth
* contrib/hbqt/qtgui/qth/QFileSystemModel.qth
* contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth
* contrib/hbqt/qtgui/qth/QGraphicsLayout.qth
* contrib/hbqt/qtgui/qth/QLineEdit.qth
* contrib/hbqt/qtgui/qth/QPlainTextEdit.qth
* contrib/hbqt/qtgui/qth/QWizard.qth
* contrib/hbqt/qtwebkit/qth/QWebFrame.qth
* contrib/hbqt/qtwebkit/qth/QWebPage.qth
+ Added: methods introduced in later versions of Qt than 4.5.3.
Please speak-out if some are missing.
* contrib/hbqt/hbmk2_qt.hbs
+ Implemented: Qt version dependant class and methods compilations.
Current implementation does not generate any error for methods
which are called in application but are not present in used
Qt version. It can be changed to throw run-time error.
Classes are only compiled when version of Qt is what is intended.
NOTE: this implemenattion opens the door to include any new classes
and methods to existing classes no matter which version is
current on the users system.
* contrib/gtwvg/wvgtoolb.prg
* contrib/gtwvg/wvgwing.c
* Fixed: WvgToolbar() was wrongly displaying toolbar buttons
when number was exceeding 16. Now n number of buttons can
be displayed.
* contrib/gtwvg/wvgax.prg
* contrib/gtwvg/wvgcheck.prg
* contrib/gtwvg/wvgdarea.prg
* contrib/gtwvg/wvglistb.prg
* contrib/gtwvg/wvgpushb.prg
* contrib/gtwvg/wvgscrlb.prg
* contrib/gtwvg/wvgsle.prg
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvtwin.ch
+ Implemented: ::pointerFocus for WvgPushButton() and WvgCheckBox().
This facilitates not to keep focus on push buttons after click.
! Fixed: focussing issues for WvgScrollBar() objects.
+ Implemented: WvgActiveXControl() for CUI hosting.
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
+ Reworked: The browser demonstration now holds Shell.Explorer.2
active-x control to navigate the web. Just click on "Active-X"
check box.
! Fixed: navigation glitch when another control was activated
while the current focus has been on another GUI control.
NOTE: this implementation is now production ready, take use of it.