Commit Graph

14401 Commits

Author SHA1 Message Date
Pritpal Bedi
f009567e50 2010-01-08 18:10 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
    + Enabled .PPO creation in a tab sharing the other sources.
      So all other editing features are available to it.
     .ppo is opened in separate tab than the original source.
     .ppo is not included in "Recent Files" list and hance 
     it is not made available at next execution.
2010-01-09 02:12:39 +00:00
Viktor Szakats
7760e7425d 2010-01-09 01:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed to not require HB_BIN_COMPILE is host and target
      platform is the same, host is x64 and target is x86.
      x64 hosts can run x86 binaries. (pls shout if you know
      any exception)

  * INSTALL
    + Added extra info to openSUSE section.
    ; TODO: Update .rpm/opensuse section.

  * harbour.spec
    + Added initialization of HB_USER_DFLAGS.
    ; TOFIX: Current setup doesn't allow passing -m32 to force 32-bit
             .rpm builds on 64-bit systems.
    ; TOFIX: OpenSUSE 10.2 uses 'gpm' instead of 'gpm-devel'.

  * contrib/hbqt/hbqt.hbc
  * contrib/hbqt/hbqts.hbc
    * Changed to enable -hbcppmm only on win and os2 platforms.
      I don't know about linux, but on darwin this option caused
      this error:
         hbide(70507,0x7fff708a0be0) malloc: *** error for object 0x1019d3948: pointer being freed was not allocated
         *** set a breakpoint in malloc_error_break to debug
         Abort trap
2010-01-09 00:40:40 +00:00
Pritpal Bedi
8eceab7f7c 2010-01-08 15:44 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbslots.cpp
    ! Fixed a very bad omission :
      if( object->property( signal ).toInt() == i )
         =>
      if( object->property( signal ).toInt() == i + 1 )
      It fixes if an action is not already defined for a widget.
      TO WATCH: Is is desirable ?

  * contrib/hbxbp/xbpfiledialog.prg
    ! Small optimization.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
    ! Separated toolbar and menu actions, the whole point of 
      recent reported issues, because toolbar and menu implementation
      call different methods with different intensions. 

      Please test if toolbar and menu option behave correctly.
 
      GROUP DECISION: should I go for QProcess() to manage build phase
      or keep Harbour centric implementation as well ? Qt seems to be 
      proper choice under this context.
2010-01-08 23:50:22 +00:00
Przemyslaw Czerpak
45232282b9 2010-01-08 18:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/dynsym.c
    + accept also function name (not only symbol index) as parameter
      of __DYNSISFUN()

  * harbour/src/rtl/hbznet.c
    * pacified BCC warnings
2010-01-08 17:28:54 +00:00
Przemyslaw Czerpak
25de114b61 2010-01-08 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
    * pacified BCC warning

  * harbour/include/hbznet.h
  * harbour/src/rtl/hbznet.c
    + added support for blowfish encryption in HB_ZNETSTREAM
    + added C function
         void hb_znetEncryptKey( PHB_ZNETSTREAM pStream,
                                 const void * keydata, int keylen );
      which enables data encryption in HB_ZNETSTREAM
    + added 4-th parameter to <cPass> to .PRG HB_INETCOMPRESS() function:
         HB_INETCOMPRESS( <pSocket>, [<nCompressionLevel>], [<nStrategy>],
                          [<cPass>] )
         <cPass> is initial value to create blowfish key.
      Please test.
2010-01-08 13:00:37 +00:00
Viktor Szakats
7857d2d0eb 2010-01-08 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/msvcarm.mk
    ! Fixed typo in prev modification.
2010-01-08 11:25:42 +00:00
Pritpal Bedi
2dbdea1211 2010-01-08 01:37 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbqt/hbqt_hbslots.h
    + Added QList<QObject *>listObj member.
      There was no guard against an object connected
      more than once for the same slot. That's why menu
      and toolbar actions were being executed twice.

  * contrib/hbqt/qtcore/QSettings.cpp
  * contrib/hbqt/qtcore/TQSettings.prg
  * contrib/hbqt/qth/QSettings.qth
    ! Added missing static functions.

  * contrib/hbxbp/xbpmenubar.prg
    ! Extended guard against invalid QAction.

  * contrib/hbxbp/xbpwindow.prg
    ! QPoint() was being accessed without initialization.

  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idesaveload.prg
    ! Fixes to execution of menu and toolbar events twice.
    ! Some more artifacts set right.
2010-01-08 09:54:38 +00:00
Pritpal Bedi
219e9c25d1 2010-01-07 18:52 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpmenubar.prg
2010-01-08 04:02:10 +00:00
Pritpal Bedi
dbba883c0f 2010-01-07 18:52 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpmenubar.prg
    ! Fixed nasty bug which was preventing removal of items 
      with oXbo:delItem().

  * contrib/hbxbp/xbpstatusbar.prg
    ! Removed the parenting of StatusBar as it was being done twice.

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idestylesheets.prg
  * contrib/hbide/idethemes.prg

    ! Fixed to not flicker main window at start-up.
    ! Fix to recent files/projects menu.
      The issue was related with XbpMenu() class.
    ! Menu-bar now correctly displays foreground color.
    ! "Bare Minimum" theme is set as default  theme instead of "Pritpal Favourite".
    ! Fixed many other artifacts.
2010-01-08 03:10:12 +00:00
Viktor Szakats
0511a246a3 2010-01-08 01:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/msvcarm.mk
    + Added -nxcompat and -dynamicbase to .dll link command.
      (I'm unsure what -dynamicbase is good for in a .dll, but it's
      accepted and set)
    ! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
      (it's also possible to use it with MSVS 2005 SP1 though, but
      build won't detect this case)

  * include/hbwince.h
    * Formatting.
2010-01-08 00:33:47 +00:00
Viktor Szakats
23ac606bcc 2010-01-08 01:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dlmalloc.c
    ! Fixed two potentially uninitialized variables, signaled by MSVC.

  * src/common/hbgete.c
    + Changed to use native SetEnvironmentVariable() API instead of
      forced ANSI one.

  * src/common/hbwince.c
  * include/hbwince.h
    % Deleted unused ANSI Windows API stubs.
    + Added empty SetEnvironmentVariable() stub for WinCE
      builds where it's missing.
    * Reconfigured these stubs:
        SetCurrentDirectory()
        GetCurrentDirectory()
        GetComputerName()
        GetUserName()

  * config/win/global.mk
    * Comment updated.

  * config/win/msvc.mk
    + Added -nxcompat and -dynamicbase to .dll link command.
      (I'm unsure what -dynamicbase is good for in a .dll, but it's
      accepted and set)
    ! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
      (it's also possible to use it with MSVS 2005 SP1 though, but
      build won't detect this case)
2010-01-08 00:14:19 +00:00
Viktor Szakats
dd570d683c 2010-01-07 21:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added free SVN book link.

  * src/vm/extrap.c
    % Marked exception filter callback as 'static'
    ; TOCHECK: Please verify that OS/2 still works this way.

  * src/rtl/oemansi.c
    ! Fixed two tabs.

  * src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvg.c
  * contrib/rddads/adsfunc.c
    ! Fixed to not use unsafe/ANSI CharToOemBuffA() API.
    ; Please review me.

  * config/win/mingw.mk
    + Added information about MinGW alternatives for MSVC
      security features. Unfortunately they need Cygwin
      binary plus some depend on MinGW host platform
      and/or version.

  * include/hbwince.h
  * src/common/hbwince.c
    - Deleted CharToOemBuffA(), OemToCharBuffA(). No longer
      needed by Harbour.
    ; TODO: Delete rest of not anymore used ANSI WinAPI
            functions. Now Harbour never uses ANSI
            WinAPI functions in UNICODE mode.

  * config/win/global.mk
    - Deleted reference to CharToOemBuffA(), OemToCharBuffA().
2010-01-07 20:59:38 +00:00
Pritpal Bedi
8efc00067b 2010-01-07 10:34 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/idethemes.prg
  * contrib/hbide/resources/selectionlist.ui
    ! selectionlist.ui updated to have <OK><Cancel> buttons.
2010-01-07 18:36:04 +00:00
Pritpal Bedi
f17c1d2ec5 2010-01-07 09:28 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/idethemes.prg
    + Added "Bare Minimum" theme.
2010-01-07 17:32:15 +00:00
Viktor Szakats
ee3855d786 2010-01-07 18:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Made it clear that valgrind only support 32-bit Intel darwin
      systems ATM.
2010-01-07 17:23:43 +00:00
Viktor Szakats
472c3592ed 2010-01-07 18:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
  * contrib/hbwin/win_prn3.c
    + Added TOFIXes for unsafe function usage:
       IsBadWritePtr(), IsBadReadPtr(), lstrlen(), lstrcpy(), lstrcat()
    ; QUESTION: Any idea how to fix that? win_prn3.c can
                probably be fixed with some good general coding
                idea.

  * contrib/hbwin/wce_smsc.c
    ! Fixed to not use unsafe CRTL functions.

  * src/rtl/oemansi.c
    ! Rewritten HB_OEMTOANSI() and HB_ANSITOOEM() to not use
      Windows API functions marked as unsafe. New version is a bit
      slower but won't mark Harbour apps as unsafe in an audit.
    ; Please test and review.

  * utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    % Deleted -Gs MSVC option. Testing with MSVC 2008 I've found
      this have no effect on x86 builds, and it makes x64 builds
      slighly less efficient by forcing stack checks in each function
      call. This seems to contradict MSDN, which doesn't suggest such
      difference between x86 and x64:
         http://msdn.microsoft.com/en-us/library/9598wk25.aspx
    % Deleted -GS- MSVC option used for wce targets for MSVC >= 8.00.
      '-GS-' will disable stack cookies (on by default), thus trading
      app size/speed for security. Maybe this is preferred for wce
      users, but in Harbour I'd rather opt to pass this decision to users
      for all targets.
         Enable with: HB_USER_CFLAGS=-GS- / -cflag={allmsvc}-GS-
      MSDN:
         http://msdn.microsoft.com/en-us/library/8dbf701c.aspx
2010-01-07 17:17:24 +00:00
Pritpal Bedi
94ba515062 2010-01-07 08:58 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idethemes.prg
    ! Fixed some flow artifacts, mainly in "Files" management.
2010-01-07 17:01:25 +00:00
Viktor Szakats
d89181934b 2010-01-07 16:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.hbp
  * utils/hbformat/hbformat.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbi18n/hbi18n.hbp
  * utils/hbtest/hbtest.hbp
  * utils/hbrun/hbrun.hbp
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added -fixed:no to msvc command line. It seems to be needed
      for ASLR compatibility.
2010-01-07 15:12:28 +00:00
Viktor Szakats
cee6162783 2010-01-07 16:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Updated valgrind example.

  * contrib/hbnetio/utils/netiosrv.hbp
  * utils/hbformat/hbformat.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbi18n/hbi18n.hbp
  * utils/hbtest/hbtest.hbp
  * utils/hbrun/hbrun.hbp
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added MSVC linker switches to enhance security by 
      enabling NX compatibility and ASLR.
      Especially important for server apps like netiosrv and hbrun.
    ; TODO: Enable the same for MinGW.
    ; TOCHECK: Please test this with old MSVC versions and MSVCARM, 
               maybe we will need to disable them in some cases.
    ; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it 
                to increase security?

  * config/wce/msvcarm.mk
    + Changed to use link.exe for linking instead of cl[arm].exe.
      This now syncs it with rest of Harbour.
2010-01-07 15:03:47 +00:00
Przemyslaw Czerpak
3216c67731 2010-01-07 14:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
    ! use hb_vmAtInit() to initialize NETIO - looks that winsock
      initialization in startup code does not work - please test
2010-01-07 13:14:39 +00:00
Przemyslaw Czerpak
4e02eab09f 2010-01-07 14:07 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
  * harbour/include/hbznet.h
    * added new optional parameter to hb_znetWrite() function which allow
      to catch result of last hb_socketSend() operation
    * removed automatic flushing from hb_znetWrite() function,
      it should help in implementing more efficient C code using
      hb_znet*() functions

  * harbour/src/rtl/hbinet.c
    * flush HB_ZNETSTREAM output after write operation
    % small optimization in internal inet error setting
2010-01-07 13:07:54 +00:00
Viktor Szakats
97a0e02cd1 2010-01-07 10:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
    * Some changes marked DONE.

  * mpkg_tgz.sh
    ! Fixed to use tar command even when it's mapped to bsdtar.
2010-01-07 10:01:27 +00:00
Przemyslaw Czerpak
2b2967a314 2010-01-07 10:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvmpub.h
    * minor formatting

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiosrv.c
    + added new PRG function:
         NETIO_RPCFUNC( <pConnectionSocket> [, <sFuncSym> ] ) -> NIL
      which allows to set user filter for RPC calls. <sFuncSym> is executed
      on each RPC request instead of requested function and receives as
      first parameter requested function symbol then function parameters.
      A simple wrapper may look like:
            static function rpc_filter( sFunc, ... )
               ? "DO", sFunc:name, "WITH", ...
            return sFunc:exec( ... )
      and can be activated by:
            netio_rpcfunc( pConnectionSocket, @rpc_filter() )
      When NETIO_RPCFUNC() is called without valid function symbol then
      existing user RPC filter is cleared. Please remember that setting
      user RPC filter does not automatically enable RPC support for
      given connection socket. RPC support has to be enabled by NETIO_RPC()
      function or by 4-th parameter of NETIO_LISTEN() socket.
2010-01-07 09:27:40 +00:00
Pritpal Bedi
83adc213d0 2010-01-06 18:57 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideactions.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idestylesheets.prg
    ! Fixed few more artifacts.
    ! Recent Files and Projects Menu was growing crazy, 
      was a result of not deleting the menu item in XbpMenu() class.
      More attention is required yet.

    ! Fixed Viktor's reported bug.

  * contrib/hbxbp/xbpmenubar.prg
    ! Fixed a very bad type, copy/paste syndrome.
2010-01-07 02:58:58 +00:00
Pritpal Bedi
c420adb7a3 2010-01-06 17:53 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideprojmanager.prg
    ! Small fix to prev.
2010-01-07 01:52:03 +00:00
Pritpal Bedi
aaa1edf572 2010-01-06 17:10 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/projects/hbide.hbi
    ! Deleted hard-coded -o directive, no longer needed.
    ! Project paths are now shown without meta-dat.
      
  * contrib/hbide/resources/projectproperties.ui
    ! Changed components background behavior not to use gradients.
      Now it is plain vanila white.

  * contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idestylesheets.prg
    ! Another round of reforms. And I am almost done with them. But wait...

    ! Started implementation of .env concept. What was missing from 
      hbIDE => hbMK2 were the shell commands minimum necessary to 
      let hbMK2 engine take control of. Now it can be done via 
      QProcess:setEnvironment() call. I have left under the commented
      code in ideprojmanager.prg:
                /* Mechanism to supply environment variables to called process */
                /* I do not know nixes but assume that Qt must be issueing proper */
                /* shell command for the target OS to set them. */
                /* If I am not wrong, HBMK2 can have these variables alread set */
                /* and hence developer can choose any compiler of his choice. */
                /*                                                                */
                /* Actually, this was the intension in hbIDE.env I commited in IDE root */      
      I am been able to compile/link/execute hbIDE.exe after setting ( WinXP )
                qListSets := QStringList():new()
                qListSets:append( "HB_WITH_QT=c:\qt\4.5.3\lib" )
                ::qProcess:setEnvironment( qListSets )
      just before triggering the process.
      Your input is desired as I know nothing about make system.

    ! Fixed many artifacts difficult to jot-down.

    + Implemented not to load any source until brought forward for view.
      This has increased the loading speed extremely fast and always 
      consistent in timing. This feature was hanging on my drawing board
      since begining.
         This effectively means that sessions with any number of source tabs
         will not pose speed panelty.

    TODO: Syntax highlighting is a slow process, to speed-up.
2010-01-07 01:33:15 +00:00
Viktor Szakats
f2ba094a9e 2010-01-07 01:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  - contrib/hbwin/win_err.c
  + contrib/hbwin/wapi_err.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwapi.h
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/wapi_winbase_mutex.c
    * Naming cleanup of recent change.
2010-01-07 00:41:10 +00:00
Viktor Szakats
c6ef8c62bb 2010-01-07 00:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_err.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/wapi_winbase_mutex.c
    * Changed low-level hbwin_SetLastError() to accept lasterror 
      as parameter.

  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
    + Added internal handling of GetLastError(). This fixes lost
      GetLastError() values with apps linked with MT HVM.
      [ I didn't review wapi_commctrl.c, but some lazy checking
        on MSDN showed that these are generally not setting GetLastError(). ]
    * WAPI_GETSCROLLRANGE() now set ref params even in case of failure.
    ; TODO: Do some final renaming and rearrangement on the low-level.

  * contrib/hbwin/wapi_winbase_mutex.c
    * Formatting.
2010-01-06 23:59:16 +00:00
Viktor Szakats
2cc8ef44d5 2010-01-06 23:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_err.c
    ! Fixed GetLastError() in MT mode.

  * utils/hbmk2/hbmk2.prg
    % nSize++ -> nSize = 1

  * contrib/hbide/hbide.hbp
    ! Typo in comment.
2010-01-06 22:54:39 +00:00
Viktor Szakats
24bc432079 2010-01-06 22:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    ! Fixed instructions for .deb binary build.

  * contrib/hbide/hbide.hbp
    + Comment extended.

  * utils/hbmk2/hbmk2.prg
    + Comment extended.

  * config/globsh.mk
    ! Fixed typos in nt clean commands.
      [TOMERGE 2.0]

  * ChangeLog
    + Added TOMERGE 2.0 to prev entry.
2010-01-06 21:27:33 +00:00
Viktor Szakats
7fb88b37b0 2010-01-06 21:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_tgz.sh
    ! Fixed to detect case when tar is mapped to bsdtar
      (such is the case on Snow Leopard). Use slightly modified
      tar command in this case.
      Please review.
    ; TOFIX?: Unpacking stub script always uses 'tar', maybe this
              needs to be fixed, although current command should
              work on Snow Leopard.
    - Deleted comment no longer valid.

  * utils/hbmk2/hbmk2.prg
    ! Fixed C++ memory manager override to handle zero size memory
      request and added protection when free operations are called
      with NULL. Thanks Istvan Bisz and Przemek for input.
2010-01-06 20:13:24 +00:00
Przemyslaw Czerpak
0d4b626818 2010-01-06 17:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
    ! do not use DEF_MEM_LEVEL to avoid potential problems when <zutil.h>
      is not available

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    + implemented RPC in HBNETIO protocol
    + added the following client functions:
      check if function/procedure exists on the server side:
         NETIO_PROCEXISTS( <cProcName> ) -> <lExists>
      execute function/procedure on server the side,
      do not wait for confirmation:
         NETIO_PROCEXEC( <cProcName> [, <params,...>] ) -> <lSent>
      execute function/procedure on the server side and wait for
      confirmation:
         NETIO_PROCEXECW( <cProcName> [, <params,...>] ) -> <lExecuted>
      execute function on the server side and wait for its return value:
         NETIO_FUNCEXEC( <cFuncName> [, <params,...>] ) -> <xFuncRetVal>
      All above functions use default connection set by NETIO_CONNECT()
      for RPCs but it's also possible to specify server address and port
      in <cProcName>/<cFuncName> just like in <cFileName> parameter in RDD
      functions, i.e.:
         NETIO_PROCEXISTS( "192.168.0.1:10005:MYFUNC" )
    + added new server side functions to enable/disable/check RPC support:
         NETIO_RPC( <pListenSocket> | <pConnectionSocket> [, <lEnable> ] )
               -> <lEnabled>
      if RPC is enabled for listen socket then connection sockets inherit
      this setting.
    + added 4-th parameter <lRPC> to NETIO_LISTEN() function. .T. enable
      RPC support in returned listen socket which is later inherited by
      connection sockets
    * changed protocol version ID - current NETIO clients and servers
      cannot be used with old code

  * harbour/contrib/hbnetio/utils/netiosrv.prg
    * added option to enable RPC support in NETIO server

   If you want to make some test then you can execute netiosrv with
   non empty 4-th parameter as server, i.e.:
      ./netiosrv "" "" "" 1
   and try this code as client:

      proc main()
         // pass server address to netio_connect() for non localhost tests
         ? "NETIO_CONNECT():", netio_connect()
         ?
         ? "DATE() function is supported:", netio_procexists( "DATE" )
         ? "QOUT() function is supported:", netio_procexists( "DATE" )
         ? "HB_DATETIME() function is supported:", ;
           netio_procexists( "HB_DATETIME" )
         ?
         ? netio_procexec( "QOUT", repl( "=", 50 ) )
         ? netio_procexec( "QOUT", "This is RPC TEST", date(), hb_datetime() )
         ? netio_procexecw( "QOUT", repl( "=", 50 ) )
         ? 
         ? "SERVER DATE:", netio_funcexec( "DATE" )
         ? "SERVER TIME:", netio_funcexec( "TIME" )
         ? "SERVER DATETIME:", netio_funcexec( "HB_DATETIME" )
         ?
         ? netio_funcexec( "upper", "hello world !!!" )
      return

   Please remember that only functions linked with server are available.
   If you want to enabled all core functions in netiosrv then please
   uncomment this line in netiosrv.prg:
      REQUEST __HB_EXTERN__


   Have a fun with a new toy. I hope that many Harbour user will find it
   very interesting. Please only be careful !!!. This feature allows to
   execute remotely _ANY_ code on the server side. _NEVER_ leave open ports
   with RPC support for untrusted access.
2010-01-06 16:16:22 +00:00
Pritpal Bedi
53f0ff2643 2010-01-06 00:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
    ! Many artifacts corrected.
    ! Build process is now very satisfying if selected an 
      option with right-click on project node in Project Tree window.
    ! Diabled gradients in any window. Is it ok to fine tune
      the windows with plain colors ?
2010-01-06 08:31:20 +00:00
Viktor Szakats
f3b1c88d4e 2010-01-06 08:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added HB_TR_OUTPUT to DEBUG section.
2010-01-06 07:39:28 +00:00
Przemyslaw Czerpak
86c9511f2f 2010-01-06 07:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtwin/gtwin.c
    + added support for HB_GTI_ISUNICODE

  * harbour/include/hbapifs.h
    * added missing 'extern' in some declarations

  * harbour/include/hbzlib.ch
    + added HB_ZLIB_STRATEGY_* constants
    + added HB_ZLIB_COMPRESSION_DISABLE

  * harbour/include/Makefile
  + harbour/include/hbznet.h
  * harbour/include/hbextern.ch
  * harbour/src/rtl/Makefile
  * harbour/src/rtl/hbinet.c
  + harbour/src/rtl/hbznet.c
    + added support for ZLIB compression in stream sockets.
    + added .prg function:
         HB_INETCOMPRESS( <pSocket>, [<nCompressionLevel>], [<nStrategy>] )
      which enables ZLIB compression for given HB_INET*() socket.
      <pSocket> is a socket created by one of HB_INET*() functions
      <nCompressionLevel> is compression factor between 1 (fastest) and
                          9 (best) (see HB_ZLIB_COMPRESSION_*)
                          0 (none) disable compression on output data
                          but decompression is still working.
      <nStrategy> is used to tune compression algorithm,
                  see HB_ZLIB_STRATEGY_*
      The compression must be enabled on both connection sides, i.e.
      on the server side:
         conn := hb_inetAccept( sock )
         hb_inetCompress( conn )
      and on the client side:
         sock := hb_inetConnect( cServer, nPort )
         hb_inetCompress( sock )
      in the same moment but it's not necessary to enable it at the
      beginning of connection. It can be done later, i.e. when both
      sides agree to enable connection using some custom protocol.
      The compression has effect only on stream connections, i.e.
      TCP and it's ignored in datagram connections like UDP.
      This function can be executed more then once changing the compression
      parameters but it causes that all data in readahead decompression
      buffer is discarded. When called with HB_ZLIB_COMPRESSION_DISABLE
      as <nCompressionLevel> then support for stream compression is removed
      and sockets works again in raw mode.
      The compression level and strategy do not have to be the same on both
      connection sides. Each side can chose the best settings for data it's
      going to send.

      This code was written in a way which allows to easy implement
      alternative compression methods or other extensions like encryption
      in existing HB_INET*() sockets also by non core code. The public C
      functions declared in hbznet.h allows to use this extension with raw
      harbour sockets two.
2010-01-06 06:27:38 +00:00
Pritpal Bedi
ea6051c7cd 2010-01-05 19:01 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/tests/demoxbp.prg
    ! Changed to HBQT_SET_RELEASE_METHOD( HBQT_RELEASE_WITH_DELETE )

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
    ! Another round of reforms.
      Vailton, I had to delete some of your code causing the recursions.
      Please note that never ever you should call the methods like
      a->b->a. Please check the code and its usability as per 
      your line-of-thinking. More refinements are under-way.
2010-01-06 03:05:20 +00:00
Viktor Szakats
dc7a864b3b 2010-01-06 01:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Minor update to prev.
2010-01-06 00:30:32 +00:00
Viktor Szakats
90334476e5 2010-01-06 01:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added new section: 7. DEBUGGING OPTIONS
      So far covered: tracing, memory statistics, valgrind and codeguard.
      I'd like to ask our experts to review and if needed extend 
      these informations (send me suggestions and I'll update it).

  * bin/postinst.bat
    + Enabling -debug option on shared tool hbmk2 builds if HB_BUILD_DEBUG=yes.

  * contrib/hbide/ideactions.prg
    ! Typo.
2010-01-06 00:27:55 +00:00
Viktor Szakats
5be3b56876 2010-01-05 20:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbide/projects/hbide.hbi
    ! Deleted windows and local environment specific hbmk2
      options, plus a few ones which are automatically pulled anyway
      via hbqt.hbc (which is in turn pulled by hbxbp.hbc).
      Please set HB_WITH_QT to make it find the QT libs. This is
      the universal method.
2010-01-05 19:36:34 +00:00
Viktor Szakats
55849c23a9 2010-01-05 20:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/detect.mk
    + Will now verify if HB_QT_MOC_BIN is pointing to an existing filename.
      If not, an error message will be shown, trying to make it clear how 
      to set it up properly. Many users like to set the dir only, which 
      makes the build process fail.

  * contrib/hbide/hbide.prg
    + Switched to HBQT_RELEASE_WITH_DELETE as suggested by Istvan Bisz.

  * contrib/hbqt/generator/hbqtgen.prg
    * Minor cosmetic.
2010-01-05 19:25:17 +00:00
Viktor Szakats
bf7a794d98 2010-01-05 19:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added disctinctive static text which is always linked in
      when C++ mm override is active. This makes it easy to
      verify if C++ mm override is activated in an executable.

  * ChangeLog
    ! Fixed messed text in latest hbmk2 changes.

2010-01-05 18:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added support for C++ input files. Now C++ files will be compiled
      in a separate pass where native C++ compiler is used, which
      means that C++ compilation mode is now enforced by using .cpp
      extension. This also means that it's now possible to build
      mixed mode projects with both C and C++ input files.
      In general, this feature makes -cpp option unnecessary, its
      only purpose now is to override default mode.
    + Added option to override standard C++ memory management functions
      with Harbour ones.
         Enable with option: -hbcppmm (cmdline) or hbcppmm=yes (in .hbc files)
      NOTE1: Suggestions for better names are welcome.
      NOTE2: hbide will now crash with mingw if this option is enabled.
             Any idea why?
    ; Please test.
2010-01-05 18:16:14 +00:00
Viktor Szakats
1cf66dcc83 2010-01-05 18:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added support for C++ input files. Now C++ files will be compiled
      in a separate pass where native C++ compiler is used, which
      means that C++ compilation mode is now enforced by using .cpp
      extension. This also means that it's now possible to build
      mixed mode projects with both C and C++ input files.
      Enable with option: -hbcppmm (cmdline) or hbcppmm=yes (in .hbc files)
         NOTE: Suggestions for better names are welcome.
      In general, this feature makes -cpp option unnecessary, its
      only purpose now is to override default mode.
    ; Please test.

  * utils/hbmk2/hbmk2.prg
    - Deleted support for link-related macros in C compilation phase,
      these weren't used anymore inside current hbmk2, so it seems safe,
      but it's possible nevertheless that it will cause regressions in
      some exotic use cases.

  * utils/hbmk2/hbmk2.prg
    ! Fixed parsing -warn option on the commandline and .hbm/.hbp files.
      [TOMERGE 2.0]

  * contrib/hbqt/generator/hbmk.hbm
    ! Deleted xhb lib. It's not required and was probably added for
      "outdebug" stuff.

  * contrib/hbqt/hbqt.hbc
  * contrib/hbqt/hbqts.hbc
  * contrib/gtqtc/gtqtcs.hbc
  * contrib/gtqtc/gtqtc.hbc
    + Added hbcppmm=yes option. This will force C++ memory allocation
      functions to be overridden by Harbour mm functions.

  * src/vm/fm.c
    - Deleted C++ memory allocation functions. This feature now
      lives inside hbmk2, and it now doesn't require whole Harbour
      to be built in C++ mode.

  * contrib/hbqt/*
    * Regenerated.
2010-01-05 18:04:12 +00:00
Viktor Szakats
2ab6d95353 2010-01-05 14:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/dummy.c
    + Added dummy stubs for all CT functions which are not yet
      implemented in Harbour. This file is intentionally not 
      built, because a link-time error is better than a runtime 
      one, anyhow we could convert them to real dummies emulating 
      error behavior and add them to build process.

  * contrib/hbqt/generator/hbqtgen.prg
    % Optimization to parameter list ptr conversion loop.
    ; TODO: Regenerate QT sources.
2010-01-05 13:55:59 +00:00
Przemyslaw Czerpak
c02e6f1616 2010-01-05 14:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/video.c
    % use hb_gtColorToN() function instead of own code to decode Clipper
      color in VGAPALETTE()
    ! added protection against possible transfer buffer overflow in
      SETFONT() function
    ! return -2 when SETFONT() is not implemented

    TODO: clean these functions, add support for other DOS compilers,
          add some missing functions and redirect few of them like
          VGAPALETTE() to hb_gtInfo() in non DOS builds

  * harbour/src/rtl/hbgtcore.c
    ! fixed missing ';' => CHR( 13 ) translation in __KEYBOARD() function
      [TOMERGE 2.0]
2010-01-05 13:03:37 +00:00
Pritpal Bedi
24e67cf403 2010-01-05 02:59 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpmenubar.prg
  * contrib/hbxbp/xbptoolbar.prg
    + Implemented to accept QAction() as menu constructor.
      Before only cCaption or XbpMenu() were accepted.

  * contrib/hbide/hbide.ch
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
    ! Next round of reforms.

    + Implemented IdeActions() class which forms the basis 
      of IDE's menus and toolbars. Now we have greater control
      over the uniformity of different actions hooked into 
      different interface elements, i.e., menu option, toolbar
      option or popup option. The same visual experience is 
      presented in all the three flavours. 

      It also implies that we can switch on/off any action 
      only at one place. For example, if you issue this command:
         ::oAC:getAction( "Save" ):setEnabled( .f. )
      then the option will be grayed in any flavour of user 
      interaction, viz., menu, toolbar, or context menu.

      The code is much cleaner and paves the way to be reloaded
      with various means.
2010-01-05 11:15:07 +00:00
Przemyslaw Czerpak
6dfe3f612f 2010-01-05 03:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
    * removed unused in current code HB_CODEPAGE_INIT() macro
2010-01-05 02:52:14 +00:00
Pritpal Bedi
39acc696b6 2010-01-04 16:28 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.ch
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idestylesheets.prg
  * contrib/hbide/idethemes.prg
    ! Another round of reforms.
    + Implemented visual reflection of current project tree 
      node and current editing tab tab.
    + Implemented default theme get/set, check the menu <Options>.
2010-01-05 02:38:03 +00:00
Przemyslaw Czerpak
6e527f2ed1 2010-01-05 02:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbtrace.c
    ! fixed casting for C++ mode in my recent modification
2010-01-05 01:39:48 +00:00
Pritpal Bedi
ccb74db573 2010-01-04 16:28 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesaveload.prg
    ! Next round of reforms, stay patient.
    ! Implemented to hold last working project.
    ! Fixed to not generate error if an open project is tried 
      to reopen.
    ! Many small artifacts correctd.
2010-01-05 00:30:15 +00:00
Viktor Szakats
cbe60a6ebd 2010-01-05 00:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/tests/demoqt.prg
    + Added hbqt_errorsys().

  * contrib/hbxbp/xbpgeneric.prg
    + Calling hbqt_errorsys() on startup.

  * contrib/hbide/hbide.prg
    - Deleted call to hbqt_errorsys(). It's now done by hbxbp.
2010-01-04 23:41:23 +00:00