* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* __HBQT_SLOTS_DISCONNECT() - Fixed a variable name
to match real content (slot -> pszSignal)
% __HBQT_SLOTS_CONNECT() - Synced with disconnect,
added local variable to avoid double hb_parcx() calls.
* contrib/hbwin/win_os.prg
* Reverted 2010-10-22 19:08 UTC+0200
Turns out it was alright without the fix, as hb_osIsWinVista()
returns .T. also for upper versions (win7) by design, so it was not
necessary to change it to win_osIsVistaOrUpper() hbwin specific call.
Please double check it though, maybe I'm just too tired.
* contrib/hbqt/qtcore/hbqt_misc.prg
+ Changed to not RTE when disconnecting not-connected
event. It will instead return .F. now.
To be consistent with slots in this regard.
* Undone previous optimization after realizing that
events and slots low-functiona return different error codes.
It didn't cause any harm with current system though.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
% Optimized hb_snprintf() calls.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* Formatting.
* src/common/hbver.c
* Name of SPARC adjusted. Thanks to Tamas Tevesz.
* contrib/hbqt/qtcore/hbqt_misc.prg
* Laxed the rules for handling low-level connect/disconnect errors.
Now some cases will now RTE, some will return .F., some will get
ignored and .T. returned. Please refine it as required.
* Optimized :connect()/:disconnect()
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
! __HBQT_SLOTS_CONNECT() fixed to check for codeblock parameter
before actually making the connection on QT level.
Hopefully this was not some intentional feature.
* contrib/hbxbp/xbpmenubar.prg
! xbpMenuBar:delItem() fixed :disconnect() calls with wrong parameter.
Blindish fix, pls review and test.
* contrib/hbqt/tests/demoqt.prg
! Fixed wrong :connect call. Thanks to Tamas Tevesz for pinpointing it.
- contrib/hbqt/tests/dialogqt.prg
- Deleted files which doesn't compile since 1 year.
* contrib/hbqt/utils/hbqtgen.prg
+ Generate REQUEST __HBQT<NAME> puller code to each class definition
.prg. This will ensure that lib init code will always automatically
run if any QT class is used by an application.
* contrib/hbqt/*/g/*
* Regenerated.
* contrib/hbqt/tests/testres.prg
* contrib/hbqt/tests/demoqt.prg
* contrib/hbqt/tests/dialogqt.prg
* contrib/hbqt/tests/testbrow.prg
* contrib/hbqt/tests/testqaim.prg
* contrib/hbxbp/tests/demoxbp.prg
* contrib/hbxbp/tests/dialogqt.prg
- Deleted no more necessary REQUEST HB_QT and REQUEST HB_QTGUI
lines. INCOMPATIBLE: Please deleted these from your user code.
* contrib/hbqt/qtcore/hbqt_pointer.cpp
+ __HBQT_ERROR() accepts error code.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
+ __HBQT_SLOTS_[DIS]CONNECT(),
__HBQT_EVENTS_[DIS]CONNECT() will now return
a numeric error code which is zero on success
and a negative number on failure. Each failure
case returns a distinct number.
% Cleaned and simplified the code, though it's
still very messy and it probably has some bad
race conditions and other oddities also. Variable
names also need a revamp to get consistent.
Remove several TRACE calls, now the error ones
should RTE.
% Merged two internal worker functions into caller
function.
! Fixed bad miss in hbqt_slots_unregister_callback().
(It's not called in Harbour code yet)
Thanks Francesco Perillo for spotting it.
* contrib/hbqt/qtcore/hbqt_misc.prg
* :connect()/:disconnect() will now throw RTEs
in case any errors were detected. Can be fine
tuned later, if needed.
; NOTE: Please contribute with code and patches as I have
hardly much time to deal with complaints in detail.
Peer-review is also highly welcome. commit mailing
list is recommended to verify what has been changed.
* src/rtl/gete.c
% Optimization to GETENV()/HB_GETENV(). Patch by Tamas Tevesz.
+ Added more details to comment on why it's needed to strip '='
part from envvar name.
* contrib/hbqt/tests/demoqt.prg
* contrib/hbqt/tests/dialogqt.prg
* contrib/hbqt/tests/testqaim.prg
! Fixed external files' references to use executable's
directory as a base, instead of current dir.
* contrib/hbhpdf/harupdf.c
! HPDF_Page_CreateStampAnnot(): Fixed wrongly passed 3rd parameter.
* contrib/hbssl/evpmd.c
! EVP_SIGNFINAL(): Fixed wrong returned buffer size.
* config/postinst.hbs
* Implemented GetEnv() caching, based on patch sent by
Tamas Tevesz and further optimized.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
! Fixed to use hb_snprintf() instead of unsafe sprintf().
! Fixed __HBQT_SLOTS_CONNECT() to not accept non-blocks as
handlers.
! __HBQT_SLOTS_CONNECT() fixed to use its own function name
in generated RTE, instead of "CONNECT" string which might
not be easily located.
; TODO: Maybe it'd be even better to throw the RTE from the
wrapper class.
- Deleted commented lines.
* Formatted according to Harbour stds.
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
+ contrib/hbqt/qtcore/hbqt_registersignals.cpp
* contrib/hbqt/qtcore/hbqtcore.hbc
* contrib/hbqt/qtcore/hbqtcore.hbm
* contrib/hbqt/qtcore/hbqtcore.hbx
* contrib/hbqt/qtgui/g/QApplication.cpp
+ contrib/hbqt/qtgui/hbqt_registersignals.cpp
* contrib/hbqt/qtgui/hbqtgui.hbm
* contrib/hbqt/qtgui/hbqtgui.hbx
+ contrib/hbqt/qtnetwork/hbqt_registersignals.cpp
* contrib/hbqt/qtnetwork/hbqtnetwork.hbm
* contrib/hbqt/qtnetwork/hbqtnetwork.hbx
+ Implemented: module specific signal/slots mechanism.
Now each module contains its own signals. The basic
patch was forwarded by Viktor, cheer him.
* contrib/hbide/idemain.prg
+ Added: REQUEST __HBQT_REGISTERCORECALLBACKS
REQUEST __HBQT_REGISTERGUICALLBACKS
REQUEST __HBQT_REGISTERNETWORKCALLBACKS
I know this is a hack and can be removed once this new protocol
is fine tuned, so, so long.
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
+ Implemented: remaining signals from all classes included in hbQT.
It also include all signals related to QWebKit though any
component of this module is not referenced at all.
+ Implemented: another very sleak and manageable design.
* contrib/hbhpdf/harupdf.c
! Newly added 2.2.0 wrapper code protected with version guards.
Added fallback code for older versions.
; TODO: Split the wrapper into separate files to save final
binary size.
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtgui/THbQtUI.prg
* Renamed HbQtUI2 class to HbQtUI.
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
* Changed code generared for .ui embedding to use
new, cleaned HbQtUI object.
; TODO: Fix user code to not access HbQtUI internal
variables.
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.h
- Deleted old monolithic code.
- Deleted eval callback variation (it was disabled).
% Cleaned headers.
; TODO: Dynamically register the callbacks, so we can finally
delete QtGui references from this code.
* contrib/hbqt/qtcore/hbqtcore.hbm
% Do not include hbqt_hbqslots.h anymore.
* contrib/hbqt/qtuitools/hbqtuitools.hbx
* contrib/hbqt/qtuitools/THbQtUILoader.prg
* Renamed HbQtUI class to HbQtUILoader.
+ Added TOFIX to change this class to inherit from HbQtUI.
; INCOMPATIBLE: If you use HbQtUI class to load on-disk .ui or .uic
files, update your code to use HbQtUILoader().
; NOTE: hbide must be clean built. (and all other apps that
are embedding .ui files)
* external/libhpdf/libhpdf.dif
* Patched up the diff file, fixing previous problem and applying
recent local change. Thanks to Tamas Tevesz for this patch.
* external/libhpdf/hpdfpdfa.c
! Fixed C++ variable declraration.
; NOTE: Could not rediff because the newly added hpdfpdfa.c file
is missing from the diffing process. Also current .diff
appears to contain some invalid diffs for this file.
* harbour/external/zlib/zutil.h
* harbour/external/zlib/gzguts.h
* disable vsnprintf() in DOS builds only for DJGPP 2.03 or earlier
! reenabled #include <io.h> in DOS builds - it was disabled by our
local modifications
TODO: regenerate .diff file
* harbour/contrib/hbssl/hbssl.hbc
* moved 'skip={dos}' after 'incpaths=.' as workaround for
broken DOS build process at hbtipssl
* harbour/rtl/hbjson.c
+ added human readable JSON encoding support
char * hb_jsonEncode( PHB_ITEM pValue, HB_SIZE * pnLen, HB_BOOL fHuman );
hb_jsonEncode( xValue [, lHuman = .F. ] ) --> cJSON
! removed UTF8 encoding from JSON functions. These function should
return/accept data in VM codepage, just like any other string
function. If JSON string is to be stored as some binary stream
(ex., file), HB_StrToUTF8() should be applied on the hb_jsonEncode()
result. This conversion removal fixes code when returned JSON string is used
not as a binary stream. Ex.:
oIE:document:getElementById("data_div"):innerHtml := hb_jsonEncode(xValue)
* contrib/hbwin/win_os.prg
+ WIN_OSNETREGOK() extended to disable some SMB2 internal caches,
which if left on default might cause db corruption on Vista
and above systems.
* include/hbnsctp.ch
+ Added comment that the file is used by C code.
* harbour/external/Makefile
+ harbour/external/hbpmcom
+ harbour/external/hbpmcom/Makefile
+ harbour/external/hbpmcom/wrap_ow.c
+ harbour/external/hbpmcom/com.c
+ harbour/external/hbpmcom/irq.h
+ harbour/external/hbpmcom/irq_ow.c
+ harbour/external/hbpmcom/irq_g.c
+ harbour/external/hbpmcom/com.h
+ harbour/external/hbpmcom/wrap_g.sx
+ harbour/external/hbpmcom/irqwrap.h
+ harbour/external/hbpmcom/doc
+ harbour/external/hbpmcom/doc/readme.txt
+ harbour/external/hbpmcom/doc/com.txt
+ added PMCOM library - RS-232 DOS communication library by Peter Marinov.
The original PMCOM 1.0 library has not been updated for very long
time and this code is quite strongly modified so I haven't tried to
generate any .diff files. I do not think it will be possible to make
autoamtic merege with newwer version (if any appears).
This is also the reason I decided to use HBPMCOM name instead of
PMCOM to avoid potential conflicts with some local versions of
this library.
TODO: add support for flow control - now flow control functions are
dummy and do not enable any handshaking.
* harbour/src/rtl/hbcom.c
* harbour/config/dos/watcom.mk
* harbour/config/dos/djgpp.mk
+ added support for serial port in DOS builds (hb_com*() PRG and C API)
using HBPMCOM library.
* harbour/src/vm/fm.c
* added workaround for some compiler which defines FORCEINLINE
macro with 'extern' keyword (i.e. some MinGW versions).
* harbour/contrib/rddads/rddads.h
* added workaround for some MinGW versions which do not understand
_declspec() but only __declspec()
* harbour/src/rtl/gtwvt/gtwvt.c
! use ERROR_CLASS_ALREADY_EXISTS instead of hardcoded 1410 value
* allow to use GTWVT in programs linked as non GUI ones
(console programs)
* contrib/hbide/projectpropertiesex.ui
% Rearranged: tab names in accordance with new Project Management.
* contrib/hbide/hbide.hbp
! Loaded in hbIDE, added hbide.ch, and saved.
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
+ Implemented: in-demand-since-begining feature to contain
anciallary files within the project tree but still keeping
compatibility with hbMK2. Also to have single project
file with all its contents intact, for GUI and command line
interface.
It is how it is achieved: a .hbp is loaded in HBP tab "as is"
except stripping the header part which is readded when the
project is saved. The header part is comprised of :
#
# $Id$
#
-3rd=hbide_* contents.
Rest whole of the on-disk contents of .hbp are made available
for editing. When a source is added via Add button, it is checked
if it is a compilable source. If not then "-3rd=file=" + filename
is added at the bottom.
Compilable sources are recognized by extention:
".c,.cpp,.prg,.hbs,.rc,.res,.hbm,.hbc,.qrc,.ui"
If any is missing, please shout.
TODO: user defined list of extentions for this purpose.
The project tree is now more organized and is listed sorted
on extention and filename. User can easily locate the source
of interest and click to bring it into the editor.
Please test extensively, I might have left new bugs for sure.