* contrib/hbide/docviewgenerator.ui
+ Added: toolbar button on Document Viewer dock to "Save All as PDF".
* contrib/hbide/idefunctions.prg
+ Added: ::lQuitting message handelling.
* contrib/hbide/ideharbourhelp.prg
+ Implemented: to save all Harbour help documents to .pdf.
User will be asked to provide a file name which will be
used as prefix to complete .pdf filename. It will be suffixed
with "_" + function name. User is requested to select an
empty sub-folder to get all PDFs which will be over 2000+
as per current SVN.
* contrib/hbide/idemain.prg
+ Reworked: how hbIDE was exiting. It may fix the exit crash.
* contrib/hbide/idesaveload.prg
+ Fixed: a wrongly accesses class variable.
This might potentially be causing hbIDE to generate GPF at
startup on Windows 7, please test.
* contrib/hbide/ideshortcuts.prg
+ Added: ::lQuitting message handelling.
* harbour/contrib/gtwvg/wvgwin.c
! added workaround for possible HVM string corruption and GPF in
WVG_SENDMESSAGE() function. This function is still very danger
when it's used with messages extracting data to passed buffer
and user have to pass string large enough to avoid possible
buffer overflow.
* harbour/contrib/gtwvg/wvgwin.c
! fixed wrongly used string handler instead of string pointer as
HB_STORSTR() parameter
! added missing casting for C++ mode
! added casting to pacify warning
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
! use HB_WILDMATCH() with .T. option to make it behave as expected
* include/harbour.hbx
* include/hbcpage.hbx
* regenerated
* src/rtl/getsyshb.prg
% optimization
* contrib/hbqt/hbmk2_qt.hbs
! fixed version guards to add complete .prg level
interface when the whole class is unsupported
in the QT version we're building against
* src/rtl/tget.prg
* src/rtl/getsyshb.prg
+ added support for hash GET variables
* utils/hbmk2/hbmk2.prg
+ added REQUESTs to blowfish, md5, sha1 and few sha2 functions
for 3rd party plugins
* contrib/hbhttpd/core.prg
* fmt
* contrib/hbplist
* contrib/hbhttpd/core.prg
* contrib/hbhttpd/hbhttpd.hbp
* contrib/hbhttpd/hbhttpd.hbc
+ contrib/hbhttpd/hbhttpds.hbp
+ contrib/hbhttpd/hbhttpds.hbc
* contrib/hbhttpd/widgets.prg
* contrib/hbhttpd/hbhttpd.hbx
- contrib/hbhttpd/tests/webapp.prg
+ contrib/hbhttpd/tests/eshop.prg
* contrib/hbhttpd/tests/files/main.js
+ contrib/hbhttpd/tests/tpl
+ merged latest uhttpd changes (0.4) posted by Mindaugas on his
website into hbhttpd. It implements these changes (quote):
* strict scope for UHttpd class methods and variables
* support for more HTTP status codes
* added error handler for child processes
! fixed bug in HttpDateUnformat()
* new server parameters setting approach implemented
* more friendly UProcInfo() output format
+ client IP filtering
* src/vm/hashes.c
* src/vm/hashfunc.c
+ implemented posibility to use hashes a sorted arays with binary search.
Implemented HB_BOOL hb_hashScanSoft( pHash, pKey, &nPos ). Function
if similar to, but returns nPos even if pKey is not found in pHash.
Extended HB_HHASKEY( aHash, xKey [, @nPos ] ) --> lFound
Function optionaly returns position of the item with a largest key
smaller or equal to xKey. If xKey is less than all keys in hash,
zero position is returned. I.e.,
aHash := {10=>, 20=>}
? HB_HHASKEY( aHash, 5, @nPos ), nPos // .F. 0
? HB_HHASKEY( aHash, 10, @nPos ), nPos // .T. 1
? HB_HHASKEY( aHash, 15, @nPos ), nPos // .F. 1
? HB_HHASKEY( aHash, 20, @nPos ), nPos // .T. 2
? HB_HHASKEY( aHash, 25, @nPos ), nPos // .F. 2
* contrib/hbide/idebrowse.prg
* contrib/hbide/idechangelog.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idedocwriter.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideformat.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idehome.prg
* contrib/hbide/idemain.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/ideskeletons.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/idetools.prg
* Fixed: (Hopefully) hbIDE crash at exit.
This might happen at certain situations when a slot
is executed while object has already been destroyed
by its parent.
The problem report was furnished by Antonio Linares, thanks.
* contrib/hbqt/hbqt_common.hbc
! untested patch to switch static supc++ to dynamic stdc++
on darwin systems (following bsd systems in 2010-11-26 13:44 UTC+0100)
as suggested by Antonio Linares to make hbide build on
OS X Lion. [ to be tested that earlier OS X version are
still okay. ]
* contrib/hbide/idefindreplace.prg
! Changed: <Replace> option in <Find in Files> now opens
the modified source on <Main> panel only instead the
current active panel if the source is not open already.
This facilitates the easy management of saving/closing
those sources in bulk.
* contrib/hbide/idefindreplace.prg
! Changed: <Replace> option in <Find in Files> now keeps open
the modified source in modified state which has to be
saved/closed by the user manually. To accomplish this task
efficiently there already exist an option in
<Main Menu><Files><Save All>
or by other tool-bar controlled icons.
[ Suggested by Maurizio and Qatan ]
* contrib/hbide/ideharbourhelp.prg
+ Changed: the way .hbd page was being displayed.
Now it contains the complete syntax of the function/method etc.
Thanks to Massimo for the tip.
* contrib/hbide/idemain.prg
* Fixed: SplashScreen() issue reported by Itamar.
* utils/hbmk2/hbmk2.prg
+ warning will be shown and lib ignored if user explicitly
specifies Harbour core library.
! visual glitch in two trace msgs.
* contrib/hbblat/tests/hbmk.hbm
* contrib/hbhpdf/tests/hbmk.hbm
+ best practice: using .hbc files instead of -l options.
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idesources.prg
+ Implemented: <Replace> option in <Find in Files> protocol.
Please test and forward your suggessions as to what can be
improved hereunder.
* contrib/hbide/idedocks.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idesaveload.prg
! Optimized: to display the user interface as fast as possible.
The only feature compromized is the Window Theme set via
<Setup><General><Style>.
Now it appears to be lightening fast, let me know your experiences.
* contrib/gtwvg/wvgwin.c
+ Added: WVG_SetMenuItem( hMenu, nPos, nFlags, cPrompt|oSubMenu, lPrompt ).
* contrib/gtwvg/wvgmenub.prg
+ Implemented: ::setItem( nItemIndex, aItem )
* contrib/gtwvg/tests/demowvg.prg
+ Demonstrated: how to change the text of an existing menu prompt.
* contrib/hbqt/qtgui/qth/filelist.hbm
+ Added: new following classes.
+ contrib/hbqt/qtgui/qth/QDeclarativeComponent.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeContext.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeEngine.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeError.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeExpression.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeImageProvider.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeItem.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeListReference.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeParserStatus.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeProperty.qth
+ contrib/hbqt/qtgui/qth/QDeclarativePropertyMap.qth
+ contrib/hbqt/qtgui/qth/QDeclarativePropertyValueSource.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeScriptString.qth
+ contrib/hbqt/qtgui/qth/QDeclarativeView.qth
+ Implemented: QDeclarative*() classes.
These classes implement the "Qt Quick" protocol introduced
in Qt 4.7 onwards and being a whole new world to Harbour
developers.
TODO: an example how to use them in the context of Harbour.
* contrib/hbqt/tests/browqt.prg
* contrib/hbqt/tests/wvtqt.prg
* Refined: to execute a Qt dialog from within GTWVT application.
This implementation assumes that GTWVT is the main application
window and Qt dialogs are opened in separate thread.
Will look into how the reverse can be achieved.
* contrib/gtwvg/wvgdatar.prg
! Synchronized: WvgListBox():getData() method.
* contrib/gtwvg/wvglistb.prg
* contrib/gtwvg/wvgtreev.prg
* contrib/gtwvg/wvgwnd.prg
+ Implemented: oXbp:pointerFocus instance variable for
WvtListBox() and WvtTreeView() objects.
If a control is laid onto a WvgCrt(), then this variable
can be set to FALSE to keep focus on console window.
INCOMPATIBLE: this behavior is not available in Xbase++.
* contrib/hbqt/qtcore/hbqtcore.hbx
* contrib/hbqt/qtcore/qth/filelist.hbm
* contrib/hbqt/qtcore/qth/QFileSystemWatcher.qth
* contrib/hbqt/qtcore/qth/QObject.qth
+ Added: QFileSystemWatcher() class.
Elements pulled by Bacco, thank you, with a small change.
* harbour/contrib/xhb/hbcompat.ch
* added few more translation rules
* harbour/contrib/xhb/hbxml.ch
* synced with xHarbour
* harbour/contrib/rddads/rddads.h
* harbour/contrib/rddads/ads1.c
* harbour/contrib/rddads/adsfunc.c
* moved ADS call back to TSD
+ added optional support for storing connection handler in TSD.
By default it's disabled and can be enabled by compile time
macro: HB_ADS_TSD_CONNECTION
(i.e. set/export HB_USER_CFLAGS=-DHB_ADS_TSD_CONNECTION)
I added it for tests. I'm still waiting for code example
which can exploit problems in ACE library when single connection
handle is used by different threads.
- src/rtl/hbdynhb.c
- deleted support to accept raw function pointers. INCOMPATIBLE.
(note the C-level and XBase++ compatibility .prg-level interfaces
continue to offer that option)
; HB_DYNCALL() should be called as follows:
HB_DYNCALL( { <cFunction>, <cLibrary> | <pLibrary> [, <nFuncFlags> [, <nArgFlags1>, ..., <nArgFlagsn> ]] }, ... ) -> <xResult>
where
<nFuncFlags> can be:
hb_bitOr( HB_DYN_CTYPE_*, HB_DYN_ENC_*, HB_DYN_CALLCONV_* )
<nArgFlags*> can be:
hb_bitOr( HB_DYN_CTYPE_*, HB_DYN_ENC_* )
* 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