* src/rtl/hbini.prg
! Added proper type checks for all accepted parameters to avoid
(sometimes obscure) RTEs when passing wrong parameters.
* src/rtl/profiler.prg
* src/rtl/hbi18n2.prg
+ Added proper type checks instead of "DEFAULT .. TO' method.
* contrib/hbqt/THbQtUI.prg
* contrib/hbide/resources/themesex.ui
* contrib/hbide/resources/themesex.uic
* contrib/hbqt/qth/QBoxLayout.qth
* contrib/hbqt/qth/QGridLayout.qth
* contrib/hbqt/qth/QLayout.qth
* contrib/hbqt/qtgui/QBoxLayout.cpp
* contrib/hbqt/qtgui/QGridLayout.cpp
* contrib/hbqt/qtgui/QLayout.cpp
* contrib/hbide/idethemes.prg
+ Mode methods populated with custome code to accomodate detatched
parents.
Now there is no GPF absolutely neither any RTE at exit (WinXP).
It is 17Apr2010 today, exactly one year and one month since
I took to this project, and we are through.
Thanks to all who participated in this project in any way.
* contrib/hbqt/qtgui/QMainWindow.cpp
* contrib/hbqt/qtgui/QMenu.cpp
* contrib/hbqt/qtgui/QToolBar.cpp
* contrib/hbqt/qtgui/QTreeWidgetItem.cpp
* contrib/hbqt/qtgui/QWidget.cpp
* contrib/hbqt/qth/QMainWindow.qth
* contrib/hbqt/qth/QMenu.qth
* contrib/hbqt/qth/QToolBar.qth
* contrib/hbqt/qth/QTreeWidgetItem.qth
* contrib/hbqt/qth/QWidget.qth
* contrib/hbqt/generator/hbqtgen.prg
+ Applied patches provided by Francesco Perillo.
Now no GPF even if oObj:destroy() is not issued.
I confirm on WinXP and awaiting responses from all of you
on other platforms.
If all goes OK, then credit goes to Francesco and Istvan.
Guys, back them up.
* contrib/hbqt/qtgui/QLayout.cpp
* contrib/hbqt/qth/QLayout.qth
* contrib/hbqt/generator/hbqtgen.prg
+ Implemented to pick function body from .qth headers and
posted exactly the same within .cpp. Like:
QLayout.qth
bool activate () // some method before
virtual void addItem ( QLayoutItem * item ){
// Code publishes by Istavin.
}
void addWidget ( QWidget * w ) // some method after or none
Note for the opening and closing braces. These must be
last character of the method header and first character
of the methods last and separate line.
This feature facilitates to put the code dierect in headers
where we cannot generate it in automated way. This feature is
strongly discouraged to be used heavily.
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QLayout.qth
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbxbp/hbpprocess.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/idetools.prg
+ This commit includes Francesco Perillo's patch, after applying some
formatting and leaving what did not worked.
+ Includes Istvan's concept of child detachment, but not made active still.
- Deleted many objects which were created in early days of hbIDE development.
+ Changed the way QApplication's init/exit procedures were implemented.
Now the behavior is accurate.
+ Applied some more control over object destruction placement.
+ Plus a lot of optimizations I cannot jot down exactly.
Basically, this commit aims at locating the GPF at exit. Now instead of
GPF, we receive two RTE's at the end, if exiting hbIDE at the quick
succession. But if you have worked into it for few seconds, it exits
normally. Please test.
David, the QPixmap bug in hbXBP on OS2 was a bug in hbXBP and is fixed.
You can test it again to verify if I am correct.
* config/win/msvc.mk
* utils/hbmk2/hbmk2.prg
* Replaced -Ot2b1 win/msvc* option with -O2 as recommended by Microsoft,
and in sync with GNU Make. This will result in somewhat larger
executable, but this gives the best overall performance. AFAICS
this change will practically allow automatic inlining to take place.
This puts msvc in the lead again compared to mingw regarding speed.
* config/wce/msvcarm.mk
* Deleted bogus option -Od turning off all optimization for
wce/msvcarm targets for new compiler versions.
* config/wce/msvcarm.mk
* config/win/msvc.mk
* Deleted Exception Handling options from all msvc cmdlines
where it was supplied. It has a heritage from the past, and
I could depict no sense in the setup:
- old wce/msvcarm: -EHsc
- new wce/msvcarm: -EHsc-
- old win/msvc*: none
- new win/msvc*: -EHs-c-
The only place this could be needed ATM is hbqt, so pls report
results after this change, or unleash any information about
proper usage of these options.
NOTE: These options were already left out from hbmk2.
* utils/hbmk2/hbmk2.prg
* Deleted -YX option for old msvc versions. (to be in sync with
this recent change in GNU Make)
* Synced msvcarm options for new compiler versions with GNU Make.
(deleted bogus -Od and some other options)
; TODO: msvc optimization options for old compiler version could
still use a revamp.
* contrib/hbqt/generator2/hbqtgen2.prg
+ Will now generate .qth files. Plus a lot of fixes.
Filtering is still needed, plus I couldnt' find out the
meaning of "New=" and "Type=" values in <CLASS> section.
* contrib/hbqt/generator2/hbqtgen2.prg
+ Refinement to QT header parser.
It should be usable now. Filters may need to be added to only
include methods/stuff relevant for HBQT.
* config/wce/poccarm.mk
* config/dos/watcom.mk
* config/win/xcc.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/linux/watcom.mk
* config/os2/watcom.mk
* Changed to not forcefully turn off warnings in some targets.
(so HB_BUILD_WARN=no is now equivalent to hbmk2 -warn=def)
; NOTE: This will result in some new warnings in /external
dir since for above compilers I've now upped the
warning level from nothing to the default level.
* external/zlib/Makefile
* Changed to not set Harbour level warnings for this
external component (in sync with all the others).
* contrib/hbide/ideprojmanager.prg
! Properly fixed old problem with executable name extraction,
leaving the ending delimiter in the extracted string.
! Added -width= hbmk2 option to cmdline to avoid splitting
the output to multiple lines (thus breaking executable name
extraction).
* contrib/hbqt/generator2/hbqtgen2.prg
+ Added more, very rudamentary code to parse QT headers.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Little formatting.
* contrib/hbxbp/xbpdialog.prg
+ Added :removeEventFilter() on destruction.
* contrib/hbide/resources/environments.ui
* contrib/hbide/resources/environments.uic
* contrib/hbide/resources/projectpropertiesex.ui
* contrib/hbide/resources/projectpropertiesex.uic
* contrib/hbide/resources/shortcuts.ui
* contrib/hbide/resources/shortcuts.uic
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idehome.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
! Removed keyboard shortcuts from menu items.
! Attempted fix on nixes when project folder is not created before
definition is saved.
! Dialog control labels: Exit => Close.
! More fixes to detect the executable from linker output ( still not perfect ).
! Changed the way project is launched. hope it will be useful for *nixes.
+ Implemented user-defined keyboard macros with following functionality:
New : whatever definition is typed-in the relevant fields is validated
with existing ones and if unique is appended at the end of list.
The macro is also validated for compilation.
Set : current hilighted macro is redefined from values from fields
after duplicate validation. The macro is also validated for compilation.
Test : Attempts to compile the macro as a block and reports back if
successful or not. It just compiles but not evaluates.
delete : deletes the highlighted macro after confirmation.
Load : loads macros from a disk-file and merges them with existing ones.
In case of duplicacy, last loaded macro is retained.
Save : Saves the macros in hbide.scu disk-file in hb_serialize()d form.
Save As: Saves the macros in a disk-file with any name but with .scu extension.
Any change is visible instantly,
Unless <Save> is clicked, current loaded macros are not saved on disk.
This allows to use temporary created macros for current session.
More info at http://hbide.vouch.info/ ( Topic: Keyboard Mappings )
* external/zlib/zlib.dif
* contrib/hbmzip/minizip.dif
* Updated .difs.
+ external/libhpdf/libhpdf.dif
+ Added new .dif.
* contrib/hbide/ideprojmanager.prg
% Deleted -hbcmp when creating .ppo. It was unnecessary since
later -hbraw mode is selected.
* harbour/external/zlib/deflate.c
* harbour/external/zlib/gzread.c
* pacified warnings
* harbour/external/zlib/zutil.h
! fixed to compile with XCC
* harbour/external/zlib/zconf.h
! removed wrongly added #if 0 / #endif
* harbour/external/zlib/gzguts.h
! added missing header files to fix _ALL_ builds
* harbour/external/zlib/Makefile
* reenabled warnings - it's very danger to pacify warnings in such way
what recent ZLIB update clearly shows - it was seriously broken in all
builds due to missing header files with valid function declarations
but the problem was fully hidden because C++ mode and warnings were
disabled so no problem was reported at compile time.
Please also remember that many of Windows compilers does not fully
support pure ANSI C function declaration so this new library may
not work as expected.
* harbour/external/libhpdf/hpdfcfg.h
! removed setting for all platforms HAVE_UNISTD_H
this file was generated by autoconf on platform which has <unistd.h>
but we cannot leave it because it will break all code which uses
standard autoconf settings like HAVE_UNISTD_H and is compiled
on platform where <unistd.h> is not available
* harbour/contrib/hbmzip/ioapi.c
! fixed to include ioapi.h before any other header files - it uses
some feature macros which have to be set before including standard
C files
* harbour/contrib/hbmzip/ioapi.h
! removed from feature set macros setting of internal __USE_* ones
! do not set _LARGEFILE64_SOURCE in DOS and OS2 - macro with the same
name is used by new ZLIB 1.2.4 for explicit 64 bit gzip API.
* harbour/contrib/hbmzip/hbmzip.c
! fixed old typos in type of return value in hb_zipfileParam() and
hb_unzipfileParam()
NOTE: I haven't tested if this new mzip/zlib 64 bit file IO support
works. It's even possible that previously working code in 64 bit
platforms (except Win64 on all other 64 bit platforms 'long' is
64bit integer) stopped to work so please make real tests.
* utils/hbmk2/hbmk2.prg
+ -info parameter will now enable output line with target
filename. This is done by default in -inc mode, so to get
it also in non -inc mode, just add -info to cmdline.
This fixed target detection in HBIDE.
* contrib/hbide/ideprojmanager.prg
! Fixed to not ignore hbmk2 path as set in options or via envvar.
! Fixed to not use -c when calling bash with .sh script as parameter.
! Deleted attempt to detect output filename by parsing link command for -o
option. This is not portable method.
! Fixed target filename detection to look for Chr( 10 ) instead of .exe.
Detection is now fine, but it still cannot launch it for other reasons.
Plus, detection only works when -inc mode is used.
! Deleted hard-coded help text of external tools.
* contrib/hbide/idemisc.prg
% Changed to not include '#!/bin/sh' in generated .sh file.
+ DirAddPathSep() renamed to hbide_DirAddPathSep() and made public.
* contrib/hbide/hbide.prg
- Deleted test code.
* contrib/hbblink/blinker.prg
! Reverted previous wrong fix. (-C doesn't work as cmd.exe option)
* contrib/hbide/hbide.prg
* contrib/hbxbp/xbpwindow.prg
- Deleted few remaining reference for HBQT_GETMEMUSED().
* contrib/hbxbp/xbp.ch
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbxbp/xbpgeneric.prg
* Replaced remaining custom wrappers for HB_TRACE() calls
with bare HB_TRACE() calls. This will make it easy to
locate trace calls using a single 'grep'.
* contrib/hbqt/qtgui/QInputContext.cpp
! Deleted hbqt_getmemused() reference.
How could this file not be updated automatically?
* contrib/hbqt/qtgui/QInputContext.cpp
* contrib/hbqt/qtcore/QChar.cpp
* contrib/hbqt/qtcore/TQChar.prg
! Added missing SVN props.
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqt_base.cpp
* contrib/hbqt/hbqts.hbc
- Deleted Windows specific memory tracing.
* contrib/hbqt/qtcore/*.cpp
* contrib/hbqt/qtgui/*.cpp
* contrib/hbqt/qtnetwork/*.cpp
! Regenerated sources with changes in logging format and addition.
* contrib/hbide/idedocks.prg
* contrib/hbide/ideenviron.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/idesources.prg
* contrib/hbxbp/hbpprocess.prg
! Fixed error when double-click on build output was causing GPF
if no editor tab is in focus, i.e., Welcome tabs are visible.
- Removed some loggings.
% Reworked how build commands are called. Now only one batch file
is sent to the process engine to fire and rest is contained
into that batch file. It probably may solve *nix issue where
a .sh is not executed or any other command with long list of params.
* contrib/hbide/ideobject.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idesources.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/hbide.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/ideprojmanager.prg
! Replaced static hbide_dbg() function call with HB_TRACE( HB_TR_ALWAYS, ... )
calls. This should also fix excessive permanently enabled debug
messages when using HBIDE. Pls keep it that way.
BTW, probably HB_TR_ALWAYS should be changed to some lower priority.
* contrib/hbqt/hbqt.ch
- Deleted unused HBQT_DEBUG() macro. Pls use
HB_TRACE( HB_TR_*, ... ) to make it obvious where trace
calls are made. (Same should be done in HBXBP)
* contrib/hbqt/THbQtUI.prg
* Replaced static hbq_dbg() function with HB_TRACE( HB_TR_ALWAYS, ... )
calls. This makes sure that the trace call is dynamically
toggled.
* contrib/hbide/hbide.prg
- Deleted __HBIDE_DEBUG__ forced define, which in turn
forcefully enabled user-environment options HB_TR_DEBUG
and HB_TR_WINOUT.
I beg: Please set these on your local environment. That's
the whole point of these settings. Unconditionally
setting them in app code is not good idea.
Go to Control Panel / System / Local environment and
just add them there (if you need them) and case is closed.
This should also fix excessive log output when simply
using HBIDE.
! Fixed missing space between revision and filename in title
bar.
% Cleaned retrieving Harbour revision for title bar.
; Most above changes target to make HBQT/HBIDE tracing
behave just like other parts of Harbour (without losing
functionality). Pls don't revert them.
* external/zlib/zlib.dif
* external/zlib/zconf.h
! Tweak to make it build with BCC (when this specific
constant is defined, f.e. by libharu).
* external/pcre/Makefile
! Tweak to make 8.02 work with BCC.
; NOTE: BCC is seemingly not tested/used by any important
external projects. If it goes like this, I will stop
doing these updates and leave them to real BCC users.
It's going against the flow.
* config/postinst.prg
* /V2 -> -V2 to make *nix shells happy.
* harbour.spec
* utils/hbmk2/examples/contribf.hbc
* contrib/Makefile
+ contrib/hbblink
+ contrib/hbblink/hbblink.ch
+ contrib/hbblink/hbblink.hbc
+ contrib/hbblink/Makefile
+ contrib/hbblink/blinker.prg
* contrib/hbmisc/hbmisc.hbc
* contrib/hbmisc/Makefile
- contrib/hbmisc/blinker.prg
- contrib/hbmisc/blinker.ch
* Moved Blinker compatibility calls to separate library.
* Renamed blinker.ch to hbblink.ch
! Changed to use '-c' instead of '/c' in command execution.
; QUESTION: Any opinions on including that in core?
* package/harb_osx.icns
+ Recreated from high-res .eps file. (512x512 and smaller
versions)
BTW: Vailton, I can't see credits for Patrick Mast
regarding the logo on the homepage. Unless I'm
missing something, could you pls add it?
* contrib/hbmzip/Makefile
+ Forcing C mode to avoid excessive number of local
patches to make it compile in C++ mode.
+ contrib/hbmzip/minizip.dif
+ Added diff to original sources.
(we're storing 3rd party external code here)
Maybe this external code would be better be moved to
separate minizip lib in /external to keep things clean.
* contrib/hbmzip/ioapi.c
* contrib/hbmzip/zip.c
* contrib/hbmzip/unzip.c
* contrib/hbmzip/crypt.h
* contrib/hbmzip/ioapi.h
* contrib/hbmzip/zip.h
* contrib/hbmzip/unzip.h
+ Updated to 1.1 (from 1.01?)
This version gives ZIP64 support. To exploit it we will
need changes in Harbour wrapper code.
; TOFIX: In quick tests BCC was throwing 'Abnormal program termination'
and created corrupted .zip. Rest seems okay.
; TODO: Platforms tests, review patches, etc.