Commit Graph

17301 Commits

Author SHA1 Message Date
Viktor Szakats
de8d4bed3a 2012-06-26 15:54 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/sddmy/tests/test1.prg
  * contrib/sddoci/tests/test1.prg
  * contrib/sddodbc/tests/test1.prg
  * contrib/sddodbc/tests/test2.prg
  * contrib/sddsqlt3/tests/test1.prg
    * formatting
2012-06-26 13:54:51 +00:00
Viktor Szakats
8bba1dd746 2012-06-26 11:19 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    % use HBMK_IS_IN() where possible
2012-06-26 09:19:48 +00:00
Viktor Szakats
4dbffeb075 2012-06-26 11:09 UTC+0200 Viktor Szakats (harbour syenar.net)
* INSTALL
    * minor update
  * utils/hbmk2/hbmk2.prg
    * make sure to convert script parameter to native pathseps
2012-06-26 09:10:50 +00:00
Pritpal Bedi
adfeaabf59 2012-06-25 09:52 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
    ! Fixed: a heavy memory leak and optimization in event handelling.
2012-06-25 16:55:39 +00:00
Viktor Szakats
072b90b2be 2012-06-25 12:09 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/xhb/decode.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/hbcompat.ch
  * contrib/xhb/regexrpl.prg
    % using HB_IS*() functions.
    * formatting
2012-06-25 10:11:12 +00:00
Pritpal Bedi
9ceada7183 2012-06-23 10:53 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
    ! Fixed: to handle QList<Q*object> implementation.

  * contrib/hbqt/qtcore/qth/QMimeData.qth
    - Deleted: Harbour specific hbUrls() method not needed now.
2012-06-23 17:56:08 +00:00
Pritpal Bedi
dfa6809980 2012-06-23 03:42 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
    ! Simplified: hbqt_bindDestroyHbObject/QtObject.
2012-06-23 10:46:05 +00:00
Pritpal Bedi
97ff0a1542 2012-06-22 21:46 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QClipboard.qth
    ! Fixed: constructor respecting previous commit.
2012-06-23 04:48:09 +00:00
Pritpal Bedi
a4beb6a684 2012-06-22 15:09 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
    ! Optimized to not add code for constructors which do not 
       have Qt objects. Results can be viewed in QLibraryInfo.cpp.
2012-06-22 22:12:00 +00:00
Pritpal Bedi
e90001c8ca 2012-06-22 12:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
  * contrib/hbqt/qtcore/hbqt.h
  * contrib/hbqt/qtcore/hbqt_init.cpp
    - Removed: a hack introduced some months back where 
       C++ static items were held in a list them released
       at exit of an application. This was double work and 
       now is not needed at all.

  * contrib/hbqt/qtcore/hbqt_bind.cpp
    - Reverted: last fix where <qtObject> was compared against 
       a numeric, which, BTW was a stupid implementation.
       A pointer casted to a numeric is always true.

  * contrib/hbqt/qtgui/hbqt_init.cpp
    - Deleted: deleting the QApplication object.
       It was breaking such code:
         oWnd:connect( QEvent_Close, {|| QApplication():quit() } )
         QApplication():exec()
       the reason was any code executed after 
       QApplication():quit() was rendered unexcutable because 
       appln was forced to stop execution.

  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
    + Reintroduced: QEvent_Close's return value to true.
       It is necessary to intercept this event at appln level.

  * contrib/hbqt/qtcore/qth/QLibraryInfo.qth
  * contrib/hbqt/qtgui/qth/QDesktopServices.qth
    + Reworked: constructors. 
       Previous implementation was wrong.
       Applied Francesco's thought and it worked, thanks.

  * contrib/hbqt/qtgui/qth/QSound.qth
    + Added: two slot methods.
2012-06-22 20:02:12 +00:00
Viktor Szakats
b08206bdd9 2012-06-22 19:39 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    * minor cleanup (var renamed)
2012-06-22 17:40:23 +00:00
Viktor Szakats
318d7f894a 2012-06-22 19:36 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    % consolidated/updated TODO comments
    ! fixed and optimized _HBMK_EMBEDDED_ build mode
2012-06-22 17:37:22 +00:00
Viktor Szakats
2999d17091 2012-06-22 19:25 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.hbp
  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/Makefile
    * minor changes to do not require std.ch
    + enabled -u option for hbmk2 source code.
2012-06-22 17:25:37 +00:00
Viktor Szakats
a492d8754e 2012-06-22 19:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    * avoiding some language elements/minor optimizations
2012-06-22 17:19:24 +00:00
Viktor Szakats
50aa6934f3 2012-06-22 15:59 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/3rd/png/Makefile
  * src/3rd/png/*
    * updated to 1.5.11 (from 1.5.10) using 3rdpatch.hb
2012-06-22 14:02:52 +00:00
Pritpal Bedi
c465edaeed 2012-06-21 22:43 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idedocks.prg
    ! Fixed: one more QIcon() regression, though not used.

  * contrib/hbqt/qtcore/hbqt_hbqslots.cpp
    ! Fixed: to pass correct class name for some type of slots
       <pList> in constructors.
2012-06-21 17:45:38 +00:00
Viktor Szakats
5e763216ee 2012-06-21 12:22 UTC+0200 Viktor Szakats (harbour syenar.net)
+ tests/ipclnt.prg
  + tests/ipsvr.prg
    + added IP client/server example from Alex Strickland
2012-06-21 16:22:17 +00:00
Pritpal Bedi
17385d0aba 2012-06-20 19:57 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
    ! Organized: tracelog entries.

  * contrib/hbqt/qtgui/THbQtUI.prg
    - Deleted: DESTRUCTOR _destroy().
2012-06-21 02:59:49 +00:00
Pritpal Bedi
7065ffaa42 2012-06-20 18:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/QDataStream.qth
  * contrib/hbqt/qtcore/qth/QEventLoop.qth
  * contrib/hbqt/qtcore/qth/QResource.qth
  * contrib/hbqt/qtcore/qth/QSettings.qth
  * contrib/hbqt/qtgui/qth/QCompleter.qth
  * contrib/hbqt/qtgui/qth/QFontDialog.qth
  * contrib/hbqt/qtgui/qth/QFontMetrics.qth
  * contrib/hbqt/qtgui/qth/QFontMetricsF.qth
  * contrib/hbqt/qtgui/qth/QGraphicsLinearLayout.qth
  * contrib/hbqt/qtgui/qth/QGraphicsProxyWidget.qth
  * contrib/hbqt/qtgui/qth/QGraphicsView.qth
  * contrib/hbqt/qtgui/qth/QSlider.qth
  * contrib/hbqt/qtgui/qth/QSystemTrayIcon.qth
  * contrib/hbqt/qtgui/qth/QWindowStateChangeEvent.qth
    ! Fixed: wrong "else if" in constructors. 
       Now all classes has been scanned for this regression.
       Please report if you find something weired still.
2012-06-21 01:51:06 +00:00
Pritpal Bedi
876106d3ef 2012-06-20 17:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
  * contrib/hbqt/qtcore/qth/QLibraryInfo.qth
  * contrib/hbqt/qtgui/qth/QDesktopServices.qth
    ! Implemented: mechanism to generate a Harbour level class 
       without the need of a Qt level object for those classes 
       where methods are executed by Qt code only.
       This fixes the bug issue reported by Ligui.
2012-06-21 00:35:21 +00:00
Pritpal Bedi
4a6c67d590 2012-06-20 16:30 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
  * contrib/hbqt/qtcore/hbqt_misc.prg
    + Implemented: DESTRUCTOR FUNCTION <somePrgOrCFunc()>

  * contrib/hbqt/qtgui/hbqt_init.cpp
  * contrib/hbqt/qtcore/hbqt_init.cpp
    ! Fixed: some rare signals issued by Qt with NULL pointers.
       This fixes regression reported on user-list a few days back.
       And probably fixes many-many unexplained GPF's.
2012-06-20 23:36:26 +00:00
Viktor Szakats
a787fd60ac 2012-06-20 19:02 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    * marked the file as UTF8
    * added accent to my own name. let's see on which platforms
      and configs it appears alright (second "a" should appear
      with an acute accent: "a'")
      [ms-dos and OS/2 is not expected to work]
2012-06-20 17:06:19 +00:00
Viktor Szakats
b715f85b3c 2012-06-20 17:13 UTC+0200 Viktor Szakats (harbour syenar.net)
* INSTALL
    % tuned to not require regular updates when new versions of
      certain linked products are release (ie. deleted latest
      version specific links and references)
2012-06-20 15:14:56 +00:00
Pritpal Bedi
5c246fca00 2012-06-20 14:59:20 +00:00
Pritpal Bedi
49f53c01bc 2012-06-20 07:55 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QDateEdit.qth
  * contrib/hbqt/qtgui/qth/QDateTimeEdit.qth
  * contrib/hbqt/qtgui/qth/QTimeEdit.qth
    ! Fixed: wrong "else if" in constructors.
2012-06-20 14:57:27 +00:00
Pritpal Bedi
c17445d998 2012-06-20 07:32 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idetools.prg
  * contrib/hbide/idewizard.prg
    ! Fixed: remaining QIcon() specific regression.
2012-06-20 14:34:56 +00:00
Przemyslaw Czerpak
e97461df65 2012-06-20 15:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbclass.ch
    + added support for
         DESTRUCTOR FUNCTION <FuncName>[()]
      in class declaration. It allows to define as object
      destructors external functions, i.e. defined in C
2012-06-20 13:17:57 +00:00
Przemyslaw Czerpak
340fc44e05 2012-06-20 13:02 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/valtype.c
  * harbour/include/harbour.hbx
    + added new PRG function HB_ISEVALITEM()
      It returns true if item can be evaluated by EVAL() function,
      i.e. for codeblocks and function symbols.
      In the future it can be extended to accept objects with :EVAL()
      methods.
2012-06-20 11:02:39 +00:00
Viktor Szakats
965c71b3e9 2012-06-20 09:27 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/os2/watcom.mk
    ! same RC fix for os2
2012-06-20 07:27:58 +00:00
Pritpal Bedi
3e549d0027 2012-06-19 21:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
    + Implemented: Events, Slots, Destroyers on thread level.
        Previously those were created per object level. This greatly 
        decreased the os-resource count and also simplifies the code.
        Thanks to Przemek for the tip.

    + Implemented: release of all objects per thread level.
        hbQT employs internal counter to identify threads.
        All widgets are created in one global list which has 
        made it possible to use Qt's blocking widgets, like 
        QMessageBox, in Harbour MT applications. It seems that 
        Qt looks for the event processing only in main appln
        thread and hence these widgets were not usable in 
        other threads. The testbed is hbqt/tests/demoqt.prg 
        which is now multithreaded. You check it with 
        menu option <Dialog><Another Dialog>.

    + Formatting: in tracelog entries.

  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
    - Commented out: a hack where QClosEvent was being treated 
      differently then other events.

  * contrib/hbqt/tests/demoqt.prg
    * Parented: QMessageBox() ( Read below )

  * contrib/hbide/idedocks.prg
    - Removed: one hack which at begining was there to activate 
       QMainWindow's docking area resizable.

  * contrib/hbide/idemain.prg
    + Changed: ::cWrkCodec to be "EN" by default.
       It fixes recent regression in hbIDE for certain users.

  * contrib/hbide/idemisc.prg
    * Parented: QMessageBox() should always be constructed with a 
       parent because of special handelling of blocking dialog 
       where parent is treated slightly different than other 
       Qt widgets. This fixes a long-standing bug in hbIDE where
       appnl was rendered in indefinite loop when "X" button 
       was employed to terminate and confirm dialog would 
       not be terminated internally.
         So for QMessageBox() and, to be on the safer side, all 
         widets derived from QDialog() should be constructed 
         with a parent and at the end be reparented with a 
         just-to-be-deleted-QWidget(), like:
           oMB := QMessageBox( oParent )
            ...
           oMB:setParent( QWidget() )
           RETURN something
2012-06-20 05:03:46 +00:00
Viktor Szakats
de6cb99086 2012-06-19 16:24 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/win/watcom.mk
    ! fixed RC compilation for watcom
2012-06-19 14:25:29 +00:00
Viktor Szakats
20dfd62b9e 2012-06-19 14:29 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    * deleted all remaining "hbmk2" occurrences from comments
2012-06-19 12:29:54 +00:00
Viktor Szakats
413c2b4f74 2012-06-19 12:21 UTC+0200 Viktor Szakats (harbour syenar.net)
+ contrib/hbsqlit3/tests/pngtest.png
    ! added missing file for test code

  * contrib/hbsqlit3/tests/authoriz.prg
  * contrib/hbsqlit3/tests/blob.prg
    * formatting
2012-06-19 10:24:06 +00:00
Przemyslaw Czerpak
050a58456e 2012-06-19 08:14 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/common/hbffind.c
    * ulAttr -> nAttr
    + added support for softlinks in * nix systems.
      Now they are reported with "L" attribute by directory() function.
      This modification also fixes directory scanning interrupted by
      dummy softlinks.

  * harbour/contrib/xhb/dirrec.prg
    ! fixed double added extension to file mask
2012-06-19 06:15:00 +00:00
Pritpal Bedi
4232c8687e 2012-06-18 18:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
    + Added: static HB_CRITICAL_NEW( s_qtMtx ); and parts.
    + Tuned: compilable with or without TSD protocol.
        To turn on TSD protocol, change 
          __HBQT_WITH_MT_SUPPORT__NO => __HBQT_WITH_MT_SUPPORT__
2012-06-19 01:33:43 +00:00
Viktor Szakats
f1a837228b 2012-06-18 21:12 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    - do not include Harbour bin dir in linker libpath on non-*nix
      systems. In could cause some compilers (f.e. mingw) to link
      to .dlls stored there (f.e. 3rd party dynamic dlls enabled
      with HB_INSTALL_3RDDYN), not letting user supplied libpaths
      to kick in. If you for some reason want to include Harbour
      bin dir in libpath, use: -L${HB_LIB} option, or to include
      dynamic lib dir (emulating old behavior on non-*nix), use
      -L${HB_DYN}
    ! fixed -env option processing after 2012-06-14 12:01 UTC+0200
2012-06-18 19:12:49 +00:00
Viktor Szakats
1c9109cd99 2012-06-18 20:06 UTC+0200 Viktor Szakats (harbour syenar.net)
* INSTALL
    + use win-make in primary build example except mingw32-make,
      change wording a little
    % tweaked information about large attachment in HOW TO PARTICIPATE
      section
2012-06-18 18:07:10 +00:00
Pritpal Bedi
e721360308 2012-06-18 09:37 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqtcore.hbx
  * contrib/hbqt/qtgui/hbqtgui.hbx
    + Restored.
2012-06-18 16:39:25 +00:00
Przemyslaw Czerpak
faf0b92f31 2012-06-18 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/dbinfo.ch
  * harbour/src/rdd/dbf1.c
    + added new dbFieldInfo() actions:
         DBS_COUNTER - get/set autoincrement field counter
         DBS_STEP    - get/set autoincrement field step
    * reset autoincrement and row version fields in ZAP operation
2012-06-18 15:34:06 +00:00
Przemyslaw Czerpak
e86e0b6a33 2012-06-18 15:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/3rd/pcre/Makefile
    * disabled JIT support in default builds.
      It fixes build process for platforms which do not support MT mode
      like some old Linux distors. I also made runtime tests with some
      simple expressions and on x86 based CPUs the difference is really
      minor. PCRE compiled with JIT is a little bit faster in regex
      compilation (~5%) but slower in regex evaluation (10%).
      AFAIR completely different results then suggested by documentation.
      For tests I used rather simple expression on small data set:
         cData := hb_TSToStr( hb_datetime() )
         cExp := "[:]([a-zA-Z]|[0-9])[0-9][:]..[.]"
      But such short expressions and data are quite common in real
      programs.
      If someone wants to enable JIT in his build then he can make it
      using SUPPORT_JIT macro, i.e.:
         export HB_USER_CFLAGS=-DSUPPORT_JIT
2012-06-18 13:32:52 +00:00
Viktor Szakats
b2045d96b5 2012-06-18 12:49 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    * made --hbinfo to return information only for the top project
      (not nested ones)
      This should fix regression of not generating .hbx files for
      the hbqt special case since 2012-06-06 16:02 UTC+0200
    + added --hbinfo=nested to return information also on nested
      projects
    + --hbinfo will now append an 0x0A byte after each JSON
      block, so multiple JSON blocks can be parsed by the caller

  * contrib/hbqt/hbqt_commons.hbm
    * changed to be friendly with '--hbinfo=nested' hbmk2 option
      (not used in Harbour make process)
2012-06-18 10:49:51 +00:00
Viktor Szakats
a644d9f546 2012-06-18 11:29 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/make.hb
    * deleted few old TODOs

  * src/rtl/cdpdet.prg
    ! updated to not give fatal warnings on msdos and os2
2012-06-18 09:30:45 +00:00
Pritpal Bedi
4b997ce4e4 2012-06-18 00:42 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
  * contrib/hbqt/qtcore/hbqt_hbqslots.cpp
  * contrib/hbqt/qtcore/hbqt_init.cpp
  * contrib/hbqt/qtcore/hbqt_misc.prg
  * contrib/hbqt/qtcore/qth/filelist.hbm
  - contrib/hbqt/qtcore/qth/HBQEvents.qth
    + Implemented: __pEvents transferred from PRG to C++ level.
2012-06-18 07:46:39 +00:00
Viktor Szakats
5b5f5154f4 2012-06-18 02:53 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbtip/encqp.prg
  * contrib/hbtip/mail.prg
  * contrib/hbtip/smtpcli.prg
    ! UTF8 HVM CP fixes

  * contrib/hbqt/qtcore/hbqtcore.hbx
  * contrib/hbqt/qtgui/hbqtgui.hbx
    * blanked these two broken files. HBQT devs should
      regenerate them.
2012-06-18 00:56:32 +00:00
Pritpal Bedi
ba4b2655fc 2012-06-17 11:40 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
    ! Fixed: build breaker header inculsion.
2012-06-17 18:41:36 +00:00
Pritpal Bedi
0149e0fb6e 2012-06-17 10:10 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt.h
  * contrib/hbqt/qtcore/hbqt_bind.cpp
  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
  * contrib/hbqt/qtcore/hbqt_hbqslots.cpp
  * contrib/hbqt/qtcore/hbqt_misc.prg
  * contrib/hbqt/qtcore/hbqt_pointer.cpp
    + Implemented: __pSlots brought from PRG to C++ greatly reducing 
       Harbour GC variables.
       ; The above implementation is forwarded by Francesco Perillo, thanks.

    + Implemented: better MT functionality.

  * contrib/hbqt/qtgui/hbqtgui.h
  * contrib/hbqt/qtcore/hbqtcore.h
    - Cleanup: redundant constants.

  - contrib/hbqt/qtcore/qth/HBQSlots.qth
  * contrib/hbqt/qtcore/qth/filelist.hbm
    - Removed: HBQSlots.qth

    ; TODO: bring __pEvents to C++.
2012-06-17 17:21:03 +00:00
Viktor Szakats
04abbb3e0d 2012-06-17 16:08 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbamf/amfenc.c
  * contrib/hbamf/hbamf.hbx
  * contrib/hbamf/hbamfobj.prg
  * contrib/hbamf/readme.txt
    + applied Aleksander Czajczynski's patch for a missing class.
      Thank you very much, I didn't have to touch it, only
      autoupdate the .hbx file.
2012-06-17 14:11:45 +00:00
Viktor Szakats
411e468e81 2012-06-17 15:59 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbrun/hbrun.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbmk2/Makefile
  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni.nsi
    ; trying to crawl out from this pool of dynamic mud.
    * enabled all embedded headers for both hbmk2 and hbrun
      so we're back to square one with this, except that
      now hbmk2 also holds the full set of core headers not
      just a minimal selection. The reason is to keep hbmk2
      as the distributable runner tool. It also syncs all
      C compilers and platforms.
    * hbmk2 built in -static mode again. It will fix the
      'make clean' problem, it will make it distributable.
    * hbrun changed to be built in -shared mode to allow
      to load dynamic modules.
    ; so this is the state right now (if I didn't make any mistake):
        hbmk2:
           all embedded core headers
           no contrib modules
           static build
           no dynamic modules
           fully movable/distributable as a runner
           cannot be self-registered as .hb runner on Windows
        hbrun:
           all embedded core headers
           some contrib modules
           shared build when HB_BUILD_CONTRIB_DYN enabled
           dynamic modules possible
           less movable/distributable, needs harbour dll, dynamic modules need Harbour dir layout
           can be self-registered as .hb runner on Windows
    ; "Ext:" banner on interactive shell will have blue color
      if dynamic modules are enabled and grey if not.

  * utils/hbmk2/hbmk2.prg
    * minor change to show the actual name of the tool
      in the error message requesting a -shared build.
2012-06-17 14:05:24 +00:00
Viktor Szakats
ebaf33647f 2012-06-17 14:49 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/adsx.c
  * src/common/hbfsapi.c
    ! deleted explicit newlines at EOL in HB_TRACE() calls

  * INSTALL
    + added new '0. GUARANTEES AND LIABILITY' section
    ! updated instructions to create debug build

  * utils/hbmk2/hbmk2.prg
    * minor cleanups

  * utils/hbmk2/Makefile
    + enabled dynamic version of hbmk2 only for mingw builds.
      Rest of the targets may or may not work due to CRTL
      usage (fprintf()) from HB_COMPILE*() calls which causes
      GPF in currently generated shared builds, most probably
      due to double copy of statically linked CRTL code.
      mingw uses MSVCRT.DLL, so it's not prone to this.
      Solution is either to avoid file handling CRTL calls
      in compiler code, or to tweak -shared build setting to
      death to make it work for all non-mingw compilers.
      Both of these is very difficult.
      This means that dynamic module loading from scripts
      will only work in hbmk2 built with mingw.

   ; TOFIX: 'make clean' on contribs doesn't work with mingw,
            because harbour dll is deleted before hbmk2 is
            called, so it cannot be started for cleanup.
2012-06-17 12:50:22 +00:00
Viktor Szakats
0eae4ae2fc 2012-06-17 11:41 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbtip/encoder.prg
  * contrib/hbtip/encqp.prg
    % use hb_default()

  * contrib/hbtip/encqp.prg
    ! fixed RTE when using TIPEncoderQP class from a dynamically loaded hbtip.
      It has been reported long time ago, so now I hacked a local
      solution which simply removes inherition from this class,
      which works around the problem. Hopefully the core can get
      the fixes to allow derived classes to be used from dynamic libs
      and this can be reverted. In this case only one variable was
      inherited, so it was easy to do. BTW I was trying to use hb_MailAssemble()
      from a script which triggered this.
      TOFIX: Self contained example (tested on win/mingw):
             --- hbmk2 test.hb
             #require "hbtip"
             PROCEDURE Main()
                TIPEncoderBase64():New()
             --- ->
             Error BASE/3003  Cannot find super class 'TIPENCODER': __CLSINSTSUPER
             Called from __CLSINSTSUPER(0)
             Called from HBCLASS:CREATE(0)
             Called from TIPENCODERBASE64(0)
             ---
2012-06-17 09:45:54 +00:00