* harbour/contrib/gtwvg/gtwvt.h
* harbour/contrib/gtwvg/gtwvt.c
* harbour/contrib/gtwvg/wvtcore.c
* moved hb_wvt_GetStringAttrib(), hb_wvt_PutStringAttrib(),
hb_wvt_gtLoadPictureFromResource(), hb_wvt_gtLoadPicture(),
hb_wvt_gtRenderPicture(), hb_wvt_gtDestroyPicture() from
gtwvt.c to wvtcore.c
* changed hb_wvt_GetStringAttrib() and hb_wvt_PutStringAttrib()
to work with any GTs
! removed GTWVG internal screen buffer and fixed to work well woth
core code screen buffer
! some fixes borrowed from Harbour GTWVT
* synced most of contrib/gtwvg/gtwvt.c code with rtl/gtwvt/gtwvt.c
- removed unused GLOBAL_DATA members:
foreground, background, BUFFERSIZE, byAttributes, byBuffer,
pAttributes, pBuffer, caretPos, displayCaret, RectInvalid
Pritpal please check if it works for you with GUI extensions.
I've tested it as normal GT driver and it works correct in my
tests.
+ contrib/what32/Makefile
+ contrib/what32/make_b32.bat
+ contrib/what32/make_vc.bat
+ contrib/what32/common.mak
+ Added GNU and non-GNU make files for what32.
; Not fully tested, because I stumbled across a few problems:
- for BCC32 this lib needs TASM32 (non-free AFAIS)
- it need xhb lib and headers
- several .prg warnings, so it needs PRG_USR=-w1 before building.
- error in .prg:
.\wintabs.prg(98) Warning W0001 Redefinition or duplicate definition of #define TCN_SELCHANGE
; An MSVC warning:
- ..\..\obj\vc\wincore.c(711) : warning C4129: 'w' : unrecognized character escape sequence
This is inline C code in wincore.prg
* harbour/common.mak
* harbour/make_b32.mak
* harbour/make_gcc.mak
* harbour/make_vc.mak
* harbour/make_vcce.mak
* Moved HB and HBPPGEN definitions to common.mak
to reduce unnecesary redundancy
* harbour/contrib/make_b32.bat
* harbour/contrib/make_vc.bat
* Enclosed "help usage message" in double quotes
due to special meaning of "<>" symbols in command
processor.
* harbour/contrib/gtwvg/wvtutils.c
! changed 'template' used as variable name to 'lpTemplate'
Some C++ compilers may not accept 'template' as variable name
because 'template' has special meaning in C++ so please do not
use such name - thanks to Andi
* harbour/include/hbwmain.c
* harbour/source/vm/mainwin.c
! fixed unnecessary conversion of WinMain() parameters on W32/W64
when UNICODE macro is set - thanks to Chen
* harbour/source/rdd/sdf1.c
* harbour/source/rdd/delim1.c
! fixed code wrongly synced with xHarbour - in Harbour HB_SET_EOL
is char* not PHB_ITEM - thanks to Andi
* harbour/source/compiler/genc.c
! fixed file name in generated for C inline code by escaping
special characters - thanks to Andi
* harbour/source/rtl/gtwvt/gtwvt.c
* minor code cleanup
* harbour/contrib/gtwvg/wvtcore.c
! fixed setting default foreground and background color when user
does not pass it's own one. Previous versions was using _s->background
and _s->foreground - it was wrong because this variables in all
GTWVT base GTs (also in xHarbour) contains not default color but
the color recently used to redraw some part of screen - f.e. after
exposing some region - it means that they can have any value.
Such bugs are hard to locate because the same program can be executed
many times without any problem and suddenly he will use wrong colors
drawing sth - if you observed such effect then it can be the results
of the above problem. Now default color is taken from core GT code.
Two functions make it: hb_wvt_FgColorParam() and hb_wvt_BgColorParam()
Both accept also colors passed as standard Clipper strings.
The same should be also fixed in xHarbour just like the problem with
executing registered user functions when HVM is closing fixed in
previous commit - even if now it does not cause GPF (due to race
condition it may be exploited only sometimes) then it does not mean
it works correctly.
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* removed unused global hdc
* formatting and minor code cleanup
* harbour/source/vm/hvm.c
+ added to hb_vmRequestReenter() support for checking if HVM is
properly initialized and working for code which may want to execute
PCODE before HVM initialization or after HVM close - in such case
hb_vmRequestReenter() will return FALSE.
Please also remember that in the future hb_vmRequestReenter()
may return FALSE also in some other cases.
* harbour/source/vm/eval.c
* use hb_vmRequestReenter()/hb_vmRequestRestore() in hb_itemDo[C]()
instead of hb_vmPushState()/hb_vmPopState()
* harbour/contrib/gtwvg/gtwvt.c
! always use hb_vmRequestReenter()/hb_vmRequestRestore() before
executing .prg functions/codeblocks. It will resolve the problem
with executing .prg functions during HVM closing. Anyhow I suggest
to register C cleanup functions using hb_vmAtExit() for code which
needs some additional destructor/closing procedure.
* code formatting and indenting
* source/rtl/gtwin/gtwin.c
* source/rtl/gtcrs/gtcrs.h
* source/rtl/gtsln/gtsln.h
* source/rtl/gttrm/gttrm.c
* source/rtl/gtwvt/gtwvt.h
+ #defining xhb compatible K_SH_* keyboard codes only if
they were not already defined.
* utils/hbdoc/genasc.prg
! Fixed problem generating filenames for .txt output.
Also added LFN branch to get rid of the 8.3 limitation.
* contrib/msql/Makefile
* contrib/msql/make_b32.bat
* contrib/msql/make_vc.bat
* contrib/msql/msql.h
* contrib/msql/tmsql.prg
! Fixed to compile with non-GNU BC/VC makefiles.
(short-term fixes, there may be better / more generic
ways to fix it)
! C warnings fixed.
! Harbour warnings fixed.
! Makefile changed to Harbour standard GNU format.
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
+ msql enabled.
- contrib/msql/dbf2msql.prg
- contrib/msql/test.prg
+ contrib/msql/tests
+ contrib/msql/tests/dbf2msql.prg
+ contrib/msql/tests/test.prg
* Tests moved to tests dir.
* contrib/mtpl_vc.mak
! Some minor fixes for VC.
- %1 -> %%1 to be on the safe side.
- Fixed double execution of inline files.
Thanks to Marek.
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
! Batch file calling method reset to Marek's version
('%COMSPEC% /c' as opposed to 'call') to avoid
any unwanted "crosstalk" between contrib build
procedures through the CFLAGS envvar.
* harbour/doc/man/harbour.1
* harbour/source/compiler/hbusage.c
+ added description for -j switch
* harbour/include/hbexprb.c
* replaced // comments by /* */
* accept <cContext> (domain) parameters of HB_i18nGettext() when
number of parameters is two or more
Should we generate compile time warning when wrong number of
parameters is passed to this function or they are not literal
strings? Maybe only after -j+ or sth like that?
* harbour/include/hbclass.ch
* harbour/include/tbrowse.ch
* harbour/include/hbpers.ch
* harbour/include/getexit.ch
* replaced // comments by /* */
* harbour/source/compiler/hbmain.c
! fixed bad typo in hb_compI18nAdd() and memmove() range which can
cause GPF
* changed pFileName to FileName in hb_compI18nSave() to respect used
by us naming convention
* eliminated strcpy() - do not use strcpy()/strcat() - these functions
are reported as dangerous by security restrict compilers.
I suggest to use hb_strncpy()/hb_strncat() instead (remember about
different size meaning in these functions) or some others depending
on context (f.e. hb_strdup() in this case)
* harbour/source/common/hbwince.c
+ added dummy Arc(), FrameRect(), FloodFill() for WinCE builds
* harbour/make_gcc.mak
! restored TABs in rules definitions. Viktor TABs for GNU make
have special meaning - your last modifications broke this file
* harbour/contrib/libmisc/Makefile
! comment DIR rule as temporary workaround for problem with
library name
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* removed foreground and background from GLOBAL_DATA
- they are not necessary
+ added support for gfxPrimitive() - fixed xHarbour code
* harbour/contrib/gtwvg/gtwvt.c
+ added support for gfxPrimitive() - fixed xHarbour code
* removed some methods which can be safely replaced by
default ones
* harbour/tests/gfx.prg
* harbour/tests/wcecon.prg
* harbour/tests/gtchars.prg
* updated the order of changed font parameters
* harbour/contrib/xhb/hbcompat.ch
! added missing closing square bracket
* make_b32.bat
* make_vc.bat
* make_vcce.bat
+ Accepts "Install" and "Clean" consistently.
! Not directly modifying C_USR, instead use CFLAGS internally.
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
* contrib/make_b32.bat
* contrib/make_vc.bat
* contrib/mtpl_b32.bat
* contrib/mtpl_vc.bat
* contrib/mtpl_b32.mak
* contrib/mtpl_vc.mak
- contrib/mtpl_defs.mak
% Removed COPYCMD requirement.
! Not modifying any user level envvars anymore.
(so no need for COMPSPEC trick to call another copy of command com)
! Some other smaller fixes.
! Fixed rdd_ads in make_*_all.bats.
* Removed the simple common part for BC/VC to consistently
separate the BC/VC make file system. The only common
part now is common.mak in each contrib. (Marek I hope you don't
mind, I promise to update them in case of changes. We have quite
some reduancy between BC/VC anyway, so this won't hurt much overall,
but they are now nicely separated and maybe bit easier to oversee
for someone new to the project.
! Avoiding 'exit' command, as it stops all batch file
execution, and as a bad side-effect can force to exit
shells too.
- CFLAGS, CLIBFLAGS, HARBOURFLAGS not advertised anymore as
official public vars to set compiler flags.
C_USR, PRG_USR should be used, which are also GNU make system compatible.
! Fixed copyrights.
! Tabs converted to spaces.
* contrib/apollo/make_b32.bat
* contrib/apollo/make_vc.bat
* contrib/examples/dbu/bld_b32.bat
* contrib/firebird/make_b32.bat
* contrib/firebird/make_vc.bat
* contrib/freeimage/make_b32.bat
* contrib/freeimage/make_vc.bat
* contrib/gd/make_b32.bat
* contrib/gd/make_vc.bat
* contrib/hbzlib/make_b32.bat
* contrib/hbzlib/make_vc.bat
* contrib/mysql/make_b32.bat
* contrib/mysql/make_vc.bat
* contrib/odbc/make_b32.bat
* contrib/odbc/make_vc.bat
* contrib/pdflib/make_b32.bat
* contrib/pdflib/make_vc.bat
* contrib/pgsql/make_b32.bat
* contrib/pgsql/make_vc.bat
* contrib/rdd_ads/make_b32.bat
* contrib/rdd_ads/make_vc.bat
+ Accepts "Install" and "Clean" consistently.
* Not using "exit" command anymore.
! Restored some lost changes.
! Not directly modifying C_USR, instead use CFLAGS internally.
+ Now rddads will find ace32.dll in system32 dir too.
; It's not possible to set HB_DLL_DIR directly now,
just through the <LIBNAME>_DIR envvar. Some contribs
may try to "autodetect" the exact location of the .dll
(currently rddads).
* harbour/source/include/hbcompdf.h
* harbour/source/include/hbexprop.h
* harbour/source/include/hbexprb.c
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/hbmain.c
+ added i18n support
Implemented -j[filename] switch to indicate output filename. Default
filename is <sourcefilename>.pot. If switch -o is used, this file
is created in speficied output path.
Output file format is compatible with 'gettext' utils, but not all
available features are implemented.
Harbour level function HB_i18nGettext( cText [, cContext ] ) sould be
used to indicate translatable strings.
All this commit is commented using #ifdef HB_I18N_SUPPORT and is in
development stage. Please, do not use it yet.
+ gtwvg/common.mak
+ gtwvg/make_b32.bat
+ gtwvg/make_vc.bat
+ Added non-GNU make files.
; TOFIX: gtwvt.obj will clash with the core file with this
name, so this won't properly work yet.
* gtwvg/wvtpaint.prg
! HB_INLINE() -> hb_bitAnd()
* gtwvg/Makefile
* Minor formatting.
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
* make hb_vmPushNumInt() public function
* harbour/contrib/gtwvg/wvtcore.c
! fixed hb_wvt_gtDlgProcMLess() and hb_wvt_gtDlgProcModal()
- fixed GPF when codeblock are used
- use hb_vmPushNumInt() instead of hb_vmPushLong() to push
handles and numbers with potentially unknown size.
I still suggest to use pointers ITEMs instead of converting
handles to numbers but I'm leaving such modifications to library
authors - using hb_vmPushNumInt() is a workaround for striping
highest 32 bit from handles by hb_vmPushLong() in XP64
- use hb_vmRequestReenter() / hb_vmRequestRestore() to avoid crash
when function/codeblock is executed during HVM has been serving
an exception (f.e. BREAK/QUIT/RETURN)
* harbour/source/rtl/gtwvt/gtwvt.c
* declared two functions
hb_gt_wvt_AddCharToInputQueue() and
hb_gt_wvt_AddCharToInputQueue()
as static - they were public by mistake
* harbour/contrib/gtwvg/wvtcore.c
* harbour/contrib/gtwvg/gtwvt.c
* moved hb_wvt_gtDlgProcMLess() and hb_wvt_gtDlgProcModal()
from gtwvt.c to wvtcore.c
These both functions are wrong and have to be fixed.
* farther cleanup:
- declared some internal functions as static
- synced some other with GTWVT
- removed some repeated declarations
* harbour/source/rtl/gtwvt/gtwvt.c
* formatting
* harbour/contrib/gtwvg/gtwvt.h
* harbour/contrib/gtwvg/gtwvt.c
* removed some unused code and redirect some methods to common
for all MS-Win GTs functions.
Pritpal this code needs cleanup. Now it's xHarbour GT hacked
to compile and link with Harbour API. It means that this code
also inherited some small incompatibilities to Clipper which
exists in xHarbour GTs. If you agree I'll try to systematically
clean it and as I can see IMO the final version will look like
GTWVT in core code plus some additional code so it can be quite
easy separated. Probably with some small modifications in GTWVT it
will be possible to remove these two files from GTWVG at all
changing GTWVG to inherit from core GTWVT. Such separation will
also show what is core GT code and what is GUI Windows extension
what should help in defining common multi platform API.
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/make_rpmce.sh
* harbour/make_rpmw32.sh
* updated for removed ace.h
* harbour/bin/pack_src.sh
* updated for some recent modifications in contrib/pgsql
TOFIX: it should be updated for all recent modifications in
contrib and MS-Windows build scripts.
* harbour/bin/hb-func.sh
+ added gtwvg to -gt* parameters in hb* scripts
* harbour/contrib/Makefile
+ added gtwvg in W32 builds
* harbour/contrib/xhb/hbcomprs.c
* harbour/contrib/xhb/hbcomprs.h
* cleaned some warnings
* harbour/contrib/gtwvg/gtwvt.h
* harbour/contrib/gtwvg/wvtutils.c
* harbour/contrib/gtwvg/wvtpaint.prg
* harbour/contrib/gtwvg/wvtwin.ch
* harbour/contrib/gtwvg/wvtcore.c
* harbour/contrib/gtwvg/gtwvt.c
* harbour/contrib/gtwvg/Makefile
* harbour/contrib/gtwvg/wvtclass.prg
* set svn attributes:
svn ps svn:eol-style native
svn ps svn:keywords Id
Pritpal please remember about it before you commit new files.
For .bat files use
svn ps svn:eol-style CRLF
or better set default attribute in your SVN config file so you will
not have to set it manually each time you are adding new file.
+ contrib/gtwvt
+ gtwvt.c
+ gtwvt.h
+ wvtcore.c
+ wvtutils.c
+ wvtpaint.prg
+ wvtclass.prg
+ wvtwin.ch
* Initial port of xHarbour's GTWVT + WVTGUI in a combined manner.
? Please create the make files as I am poor in this field.
? Przem, please add switches to hnmk/hbcemk files for -gtwvg as is done for -gtwvt.
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/filesys.c
* set _LARGEFILE64_SOURCE in all builds and use HB_USE_LARGEFILE64
macro (set automatically when __USE_LARGEFILE64 is defined too or
HB_OS_HPUX && O_LARGEFILE) to enable large file support in 32 bit
POSIX systems. It should help to enable large file support in other
then Linux different 32 bit *nixes.
I hope it will resolve Sandro problems with HPUX.
* harbour/source/vm/itemapi.c
* do not return DATE item value in hb_itemGetNDDec()
It was old and unused xHarbour only code - now hb_itemGetNDDec()
is compatible with hb_itemGetND()
* harbour/source/rtl/seconds.c
! fixed typo in BSD builds
BTW can someone test current SVN code with Solaris?
I will not be able to make such test myself in the nearest few weeks.
* harbour/source/rtl/hbgtcore.c
+ added emulation for clipboard in core GT code.
Now:
hb_gtInfo( GTI_CLIPBOARDDATA ) -> <cClipData>
and:
hb_gtInfo( GTI_CLIPBOARDDATA, <cNewClipData> )
is working in all GTs even if such functionality is not supported
by OS.