* 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.
* harbour/include/hbdefs.h
* modified PHB_FUNC/HB_FUNC_PTR declaration to use external 'extern "C"'
encapsulation for C++ compilers which do not accept it directly
(i.e. BORLAND or GCC 2.xx)
* contrib/hbwin/win_regc.c
* Minor cleanup to make code more robust.
* contrib/hbqt/qtgui/QTableView.cpp
* Some minor changes after regenerating it with current generator tool.
* harbour/src/rtl/hbcrc.c
! fixed hb_crcct() to work with polynomials smaller then 8 bit,
i.e. parity bit: x^1+1 => 3
% small simplification in hb_crc() function
* contrib/hbwin/win_prn2.c
+ Eliminated rest of HB_TCHAR*() calls.
Please review, and test for memory leaks.
; No more HB_TCHAR*() macros in hbwin code.
* contrib/hbwin/win_misc.c
+ Added cast.
* contrib/hbqt/hbqt_base.cpp
* Minor formatting.
* src/compiler/hbmain.c
* src/compiler/cmdcheck.c
* src/compiler/hbcomp.c
* src/compiler/hbusage.c
* include/hbcompdf.h
+ Added support for -i- and -i+ options. They will disable/enable
handling of INCLUDE envvar.
* config/rules.mk
+ Added -i- Harbour compiler switch to avoid any interference
with user set INCLUDE envvars.
* contrib/hbqt/hbqt_hbqmainwindow.cpp
* contrib/hbqt/hbqt_hbqmainwindow.h
* contrib/hbxbp/xbpwindow.prg
+ Implemented GC collectible pointer for HBQMainWindow().
/* Please do not commit anything in HBQT/HBXBP/HBIDE as I will be cleaning
up the code. BTW how can I invoke HBXBP_DEBUG() functionality.
I was just busy with the preparations of my daughter's wedding.
*/
* contrib/hbwin/mapi.c
+ Added support for unlimited number of recipients and
attached files. Please test and review.
* utils/hbmk2/hbmk2.prg
+ Added support for linux/open64. (Please test)
* INSTALL
+ Added open64.
* harbour/include/hbsetup.h
* harbour/include/hbdefs.h
* harbour/include/hbthread.h
* harbour/src/common/hbver.c
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
* harbour/config/linux/gcc.mk
+ harbour/config/linux/open64.mk
+ added support for Open64 C/C++ compiler in Linux builds
* harbour/src/common/hbver.c
* removed unnecessary casting compiler version number parameters
to 'short'
* extended the size of szBuf buffer as requested by Tamas
* contrib/hbwin/mapi.c
+ Added support for UNICODE.
; Untested, I don't have a mailer on any Windows systems I have
access to to try it.
Please make tests with MSVC also, to check UNICODE.
! Fixed typo in prev modification.
! Added ( ULONG ) cast to -1 value.
+ Added copyright header.
* contrib/hbwin/tests/testmapi.prg
+ Added some test data to make it work.
(couldn't test it though, all I get is msgbox that I have no
mailer)
* src/rtl/gtwin/gtwin.c
* Using HB_SIZEOFARRAY().
* include/hbapi.h
* Typo in comment.
* ChangeLog
+ Added missing item to prev.
* contrib/hbwin/tests/testmapi.prg
! Fixed missing SVN props.
! Added missing SVN ID.
* Formatting.
; TOFIX: This example expects arrays and logical value from command line,
so it won't work.
* contrib/hbwin/Makefile
* contrib/hbwin/mapi.c
+ Added to Makefile.
! Added SVN ID.
! Added License header. (pls add your name to copyright headers)
! Fixed to use simple quote to include Harbour headers.
! Fixed Windows header inclusion.
! Disabled for UNICODE.
! Fixed to not use return value on stack as temporary variable.
! Fixed to not use static variable.
! Fixed UNICODE literals (also for WinCE).
! Fixed to not create NULL "holes" in passed to Windows lists
if received arrays have wrong content.
! Fixed to check return value of GetProcAddress().
% Optimized to only do parameter processing if MAPISendMail is available.
* Cleaned string parameter defaulting to "".
* Castings added and changed.
* Optimizations.
* Formatting (indentation, deleted unnecessary {}, variable scopes, ' ;' endings)
* Variable scopes.
* Using HB_SIZE.
* Avoiding duplicating constants.
+ Added some provisions for UNICODE support. Otherwise whole
code is disabled until this gets fully implemented.
; TODO: It'd be probably beneficial to remove artificial limit of
100 recipients and file attachments.
; NOTE: I didn't make any functional tests, so please make some.
An example/test code would be nice in tests subdir.