* harbour/bin/hb-func.sh
! use CC_HB_USER_LIBS instead of HB_USER_LIBS in linked library list
current HB_USER_LIBS has different meaning in build process then
in the past
* INSTALL
+ Added more generic link for QT OSS downloads.
* contrib/hbqt/*
* Regenerated.
(Please list only '* contrib/hbqt/*' to avoid growing ChangeLog
with several hundred entries each time the generator changes)
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_hbqmainwindow.cpp
* contrib/hbqt/hbqt_base.cpp
! Fixed gcFuncs() to be named hbqt_gcFuncs(). This is a
public function, please remember to prefix all public functions
to have a lib specific prefix.
; TODO: Regenerate.
* INSTALL
+ Added direct link to QT Windows 4.5.3 pkg.
* contrib/hbqt/detect.mk
* contrib/hbqt/moc.mk
+ Added my copyright.
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_hbqmainwindow.cpp
! Fixed some public C functions to hold hbqt_ prefix,
instead of using generic names.
! Added one missing 'extern' keyword.
+ Added TOFIX for QT_HBQTABLEVIEW_NAVIGATE() which
has a remaining leak of one typical type.
; TOFIX: Do the same with gcFuncs().
; TODO: Regenerate.
* harbour/src/rtl/gtxwc/gtxwc.c
! fixed holders for properties format 32 to be long - it's important
for 64 bit platforms.
! removed unsupported in current code "COMPOUND_TEXT" target
! readded support for "TEXT" target
* contrib/hbide/hbide.prg
! Removed dummy macros to honor original ones.
! Removed QT_PTROF() whereever these were not needed anymore.
! Retained QT_PTROFXBP() until further discussions.
Now all the components are working fine.
* contrib/hbwin/mapi.c
! Fixed typo causing GPF when using 'long' calling form.
! Fixed not counting recipients when using 'simple' calling form.
; Toninho, could you pls retest?
* contrib/hbqt/hbqt_misc.prg
* contrib/hbide/hbide.prg
- Deleted hack which moved HBXBP specific functionality
into the core of HBQT.
I had to restore QT_PTROFXBP() macros inside hbide.
QT_PTROFXBP() has not much to do with QT_PTROF() as the
former serves to access oWidget member of passed class.
I see no need to move such logic into HBQT core code.
I restored QT_PTROF() also, but it's redefined as a dummy
in hbide.prg. I don't understand now why QT_PTROF() works
as dummy in hbide, but it doesn't when used as dummy in
HBXBP.
All in all, this means the .prg level :pPtr trick is still
needed in some places, while it's not needed in some others.
; TOFIX: HBQT has no pointer checking at all before accessing
C++ level objects, which means the simplest .prg level
error is instantly resulting in a GPF. All hb_par_*()
results must be checked for NULL before accessing them,
or better yet, and RTE should be generated right from
the hb_par_*() function.
* src/vm/classes.c
* Minor formatting.
* harbour/src/rtl/gtxwc/gtxwc.c
+ added hack for accessing selections marked by FireFox which does not
inform about UTF8_STRING target though it supports it
* harbour/src/rtl/gtxwc/gtxwc.c
! added protection against putting K_RESIZE into keyboard queue
if XServer generates ConfigureNotify event but window size is not
changed
! clear own selections on application exit - looks that some WMs have
problems when selection owner does not response and can even crash.
Please remember that some WMs periodically (i.e. once per second)
create copy of existing selections to his own structures so it's
later available even if selection owner terminates. This is VM
behavior which is not controlled by Harbour GTXWC code so selection
set by Harbour application is available after its termination only
if such Window Manager is used and it has enough time to make
selection copy.
! use hb_cdpFindExt() instead of hb_cdpFind() to find UTF8 CP
It fixes national character translations in selections (clipboard)
broken during recent modifications for new CDP API.
* harbour/src/rtl/gtxwc/gtxwc.c
! fixed timeout checking in function taking text from clipboard.
Due to typo it was waiting for XServer answer for 3 milliseconds
instead of 3 seconds so sometimes it was too small even in local
usage (i.e. when clipboard was accessed 1-st time by application
and some internal XLib structures had to be initialized) and
probably using remote XServers it was able to retrieve only the
1-st type of selection (if any).
* contrib/hbwin/hbwin.ch
* contrib/hbwin/tests/testmapi.prg
* contrib/hbwin/mapi.c
+ Added HB_WIN_MAPI_* constants for recipient types.
+ WIN_MAPISENDMAIL() now accept 8th (sender) as simple string,
this will be passed as sender name to Windows.
+ WIN_MAPISENDMAIL() now accept 9th (recipient) parameter
as simple list of strings. Values will be passed as
'TO' recipient names to Windows.
+ WIN_MAPISENDMAIL() now accept 10th (attachment) parameter
as simple list of strings. Values will be passed as
pathname to Windows.
% One minor optimization in WIN_MAPISENDMAIL().
+ Added example for simple form of WIN_MAPISENDMAIL() call.
* contrib/hbwin/mapi.c
* WIN_MAPISENDMAIL() fixed to set sender as MAPI_ORIG.
This is the default value (zero), but we shouldn't assume such things.
+ WIN_MAPISENDMAIL() recipient arrays elements third parameter
is optional.
! WIN_MAPISENDMAIL() fixed to set recipient address type as
MAPI_TO by default (if there is no 3rd element or 3rd element is
non-numeric). So far it was defaulting to MAPI_ORIG in these case,
which is wrong.
! WIN_MAPISENDMAIL() fixed to skip recipient if neither first
nor second element is a non-empty string. It may have caused
GPFs before.
* WIN_MAPISENDMAIL() changed to accept 1st element of file
attachment array list as pathname, and 2nd element as
optional filename. 2nd element is now truly optional, files
won't be skipped if omitted.
Original code accepted filename in 1st element, but it's
cleaner this way and also testmapi.prg calls it this way,
so it might have been a typo.
! WIN_MAPISENDMAIL() fixed file attachments handling to not
cause GPF is 1st array element (pathname) is non-string or
empty. These items will now be skipped.
; Please retest also with bad parameters. And I'd appreciate
if someone could review as it's blind coding.
* harbour-win-spec
* harbour-wce-spec
* include/hbver.h
* package/winuni/RELNOTES
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* harbour.spec
* config/global.mk
* Changed version to 2.0.0rc1 (from 2.0.0beta3)
; TODO: Please also change debian/changelog.
; Rehearsing version change, I don't plan to make binary
release of this interim version.
* doc/codestyl.txt
* Minor update.
I don't plan a full update this time, as we have a huge
amount of well formatted source code, and it's pretty
consistent too, so it's enough to peek into any one of
them for a perfect example. So if someone needs and
example, just look under src/* for both .c and .prg.
* harbour/src/common/hbdate.c
* casting for some more pedantic C/C++ compilers
* harbour/include/hbinit.h
* allow to force static C++ initialization as startup code in
GCC and SunPRO builds by HB_STATIC_STARTUP macro
* utils/hbmk2/hbmk2.prg
! Fixed watcom targets to switch to single input file mode
when C mode (now default) is used.
Maybe OpenWatcom developers should finally sync such
basic behavior between their C and C++ compilers. Until
then we keep adding hacks.
* config/common/watcom.mk
* config/global.mk
* config/rules.mk
! Added relatively ugly hack to change dir separators in CC_RULE in
a generic way. It's ugly because it's only needed for non-linux
Watcom C (not C++!) builds, but this way it's possible to avoid
CC_RULE override in common/watcom.mk. CC_RULE override didn't
implement dynlib support, which meant that after switching
to C mode as default for watcom, dynlib generation got broken
on win and os2.
* contrib/hbwin/Makefile
+ contrib/hbwin/wapi_winnls.c
+ Added WAPI_GETACP()
+ Added WAPI_GETOEMCP()
; NOTE: TODO? These values could be used as a base for
default HB_GTI_CODEPAGE setting and _SET_CODEPAGE
for non-UNICODE Harbour builds.
* harbour/bin/hb-func.sh
* use -n2 as default harbour compiler parameter in hb* scripts
* harbour/include/hbinit.h
* added error messages when some mixed forms of startup initialization
are defined
* harbour/include/hbinit.h
! fixed typo in section name in last commit - thanks to Tamas again
* in C++ mode encapsulate startup functions inside
'extern "C" { ... }' to eliminate reallocation problems
* harbour/include/hbinit.h
* use more portable asm() directive instead of __asm__()
* explicitly restore .text segment for compilers which do not make
it automatically
Thanks to Tamas for the information.
* harbour/include/hbinit.h
* eliminated from ASM code used in HB_INITSEG_STARTUP direct references
to public functions - it resolves the problem with non relocatable
code breaking Harbour shared library.
TODO: find portable method to mark function as used for C compiler
without using any public symbols (functions or variables)
which may cause conflicts between modules.
Compilers like modern GCC versions are clever enough to detect
cyclic references (only compile time warnings are pacified in
such case) and they strip even group of functions it they are
not accessed externally.
* harbour/include/hbinit.h
+ added new alternative form for initialization code activated
by HB_INITSEG_STARTUP macro. This method uses asm() directive
to store call to startup function in .init segment.
It's a work in progress though current code is working in Linux
static builds and probably should work also with few other
compilers. Final version should help in adding support for
native non GCC based C compilers in some *nixes.
Thanks to Tamas for his help.