2013-06-04 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* contrib/gtqtc/gtqtc1.cpp
    * added workaround for missing MT synchronization in QT for XLIB
      QT was designed to use screen widgets only in main thread so
      it's only workaround which helps but I cannot guaranti

  * contrib/hbmzip/mzip.c
    * workaround for wrong st_mtime type in struct stat on android

  * src/rtl/hbsocket.c
    * do not check if IPPROTO_IP is defined, on some platforms like
      android it's only enum type. Warning if it exploits some problems
      on some seldom used platforms/compilers then please report it.

  * src/vm/hvm.c
    * minor

  * package/mpkg_ver.sh
    * do not use bash extensions

  * package/harbour-wce.spec.in
  * package/harbour-win.spec.in
  * package/harbour.spec
  * package/mpkg_rpm.sh
  * package/mpkg_rpm_wce.sh
  * package/mpkg_rpm_win.sh
    * removed bash from dependencies list
This commit is contained in:
Przemysław Czerpak
2013-06-04 14:20:50 +02:00
parent d900dc5b1c
commit 8b963cf79d
12 changed files with 72 additions and 18 deletions

View File

@@ -10,6 +10,34 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2013-06-04 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
* added workaround for missing MT synchronization in QT for XLIB
QT was designed to use screen widgets only in main thread so
it's only workaround which helps but I cannot guaranti
* contrib/hbmzip/mzip.c
* workaround for wrong st_mtime type in struct stat on android
* src/rtl/hbsocket.c
* do not check if IPPROTO_IP is defined, on some platforms like
android it's only enum type. Warning if it exploits some problems
on some seldom used platforms/compilers then please report it.
* src/vm/hvm.c
* minor
* package/mpkg_ver.sh
* do not use bash extensions
* package/harbour-wce.spec.in
* package/harbour-win.spec.in
* package/harbour.spec
* package/mpkg_rpm.sh
* package/mpkg_rpm_wce.sh
* package/mpkg_rpm_win.sh
* removed bash from dependencies list
2013-06-03 16:45 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbtoken.c
+ added support for passing token parser parameters as bit field number.

View File

@@ -56,6 +56,23 @@ static HB_GT_FUNCS SuperTable;
#define HB_GTQTC_GET(p) ( ( PHB_GTQTC ) HB_GTLOCAL( p ) )
#ifndef HB_QT_NEEDLOCKS
# if defined( HB_OS_UNIX )
# define HB_QT_NEEDLOCKS
# endif
#endif
#ifdef HB_QT_NEEDLOCKS
# include "hbthread.h"
static HB_CRITICAL_NEW( s_qtcMtx );
# define HB_QTC_LOCK() do { hb_threadEnterCriticalSection( &s_qtcMtx )
# define HB_QTC_UNLOCK() hb_threadLeaveCriticalSection( &s_qtcMtx ); } while( 0 )
#else
# define HB_QTC_LOCK() do {} while( 0 )
# define HB_QTC_UNLOCK() do {} while( 0 )
#endif
static QApplication * s_qtapp = NULL;
/* *********************************************************************** */
@@ -1537,7 +1554,9 @@ static void hb_gt_qtc_setWindowFlags( PHB_GTQTC pQTC, Qt::WindowFlags flags, HB_
currFlags &= ~flags;
pQTC->qWnd->setWindowFlags( currFlags );
HB_QTC_LOCK();
pQTC->qWnd->show();
HB_QTC_UNLOCK();
}
static void hb_gt_qtc_setWindowState( PHB_GTQTC pQTC, Qt::WindowStates state, HB_BOOL fSet )
@@ -1550,7 +1569,9 @@ static void hb_gt_qtc_setWindowState( PHB_GTQTC pQTC, Qt::WindowStates state, HB
currState &= ~state;
pQTC->qWnd->setWindowState( currState );
HB_QTC_LOCK();
pQTC->qWnd->show();
HB_QTC_UNLOCK();
}
static void hb_gt_qtc_initWindow( PHB_GTQTC pQTC, HB_BOOL fCenter )
@@ -1577,7 +1598,9 @@ static void hb_gt_qtc_createConsoleWindow( PHB_GTQTC pQTC )
hb_gt_qtc_initWindow( pQTC, HB_FALSE );
HB_QTC_LOCK();
pQTC->qWnd->show();
HB_QTC_UNLOCK();
pQTC->qWnd->update();
}
@@ -1735,10 +1758,12 @@ static int hb_gt_qtc_ReadKey( PHB_GT pGT, int iEventMask )
{
int iKey;
HB_QTC_LOCK();
if( pQTC->qEventLoop )
pQTC->qEventLoop->processEvents( QEventLoop::AllEvents );
else
QApplication::processEvents( QEventLoop::AllEvents );
HB_QTC_UNLOCK();
if( hb_gt_qtc_getKeyFromInputQueue( pQTC, &iKey ) )
return iKey;

View File

@@ -759,6 +759,7 @@ static int hb_zipStoreFile( zipFile hZip, int iParamFileName, int iParamZipName,
{
struct stat statbuf;
struct tm st;
time_t ftime;
char * pszFree;
if( stat( hb_fsNameConv( szFileName, &pszFree ), &statbuf ) == 0 )
@@ -784,10 +785,11 @@ static int hb_zipStoreFile( zipFile hZip, int iParamFileName, int iParamZipName,
( ( statbuf.st_mode & S_IWUSR ) ? 0x00800000 : 0 ) |
( ( statbuf.st_mode & S_IRUSR ) ? 0x01000000 : 0 );
ftime = statbuf.st_mtime;
# if defined( HB_HAS_LOCALTIME_R )
localtime_r( &statbuf.st_mtime, &st );
localtime_r( &ftime, &st );
# else
st = *localtime( &statbuf.st_mtime );
st = *localtime( &ftime );
# endif
zfi.tmz_date.tm_sec = st.tm_sec;

View File

@@ -32,8 +32,8 @@ License: GPL (plus exception)
Group: Development/Languages
URL: http://harbour-project.org/
Source: harbour-%{version}.src.tar.gz
BuildPrereq: gcc binutils bash
Requires: gcc binutils bash sh-utils cegcc-mingw32ce harbour = %{?epoch:%{epoch}:}%{version}-%{release}
BuildPrereq: gcc binutils
Requires: gcc binutils sh-utils cegcc-mingw32ce harbour = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name}
BuildRoot: /tmp/%{name}-%{version}-root

View File

@@ -32,8 +32,8 @@ License: GPL (plus exception)
Group: Development/Languages
URL: http://harbour-project.org/
Source: harbour-%{version}.src.tar.gz
BuildPrereq: gcc binutils bash
Requires: gcc binutils bash sh-utils harbour = %{?epoch:%{epoch}:}%{version}-%{release}
BuildPrereq: gcc binutils
Requires: gcc binutils sh-utils harbour = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name}
BuildRoot: /tmp/%{name}-%{version}-root

View File

@@ -92,8 +92,8 @@ License: GPL (plus exception)
Group: Development/Languages
URL: http://harbour-project.org/
Source: %{name}-%{version}.src.tar.gz
BuildPrereq: gcc binutils bash %{!?_without_curses: ncurses-devel} %{!?_without_gpm: gpm-devel}
Requires: gcc binutils bash sh-utils %{name}-lib = %{?epoch:%{epoch}:}%{version}-%{release}
BuildPrereq: gcc binutils %{!?_without_curses: ncurses-devel} %{!?_without_gpm: gpm-devel}
Requires: gcc binutils sh-utils %{name}-lib = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name} harbour lib%{name}.so
BuildRoot: /tmp/%{name}-%{version}-root

View File

@@ -12,7 +12,7 @@ test_reqrpm()
rpm -q --whatprovides "$1" >/dev/null 2>&1
}
NEED_RPM="make gcc binutils bash"
NEED_RPM="make gcc binutils"
FORCE=""

View File

@@ -38,7 +38,7 @@ hb_ver=`get_hbver`
hb_verstat=`get_hbverstat`
[ -n "${hb_verstat}" ] || hb_verstat="0"
NEED_RPM="make gcc binutils bash cegcc-mingw32ce"
NEED_RPM="make gcc binutils cegcc-mingw32ce"
FORCE=""

View File

@@ -59,7 +59,7 @@ hb_ver=`get_hbver`
hb_verstat=`get_hbverstat`
[ -n "${hb_verstat}" ] || hb_verstat="0"
NEED_RPM="make gcc binutils bash"
NEED_RPM="make gcc binutils"
FORCE=""

View File

@@ -3,14 +3,13 @@
# ---------------------------------------------------------------
# Copyright 2003 Przemyslaw Czerpak <druzus@priv.onet.pl>
# small set of functions used by Harbour scripts
# warning: some bash extensions are used
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
get_hbver()
{
hb_rootdir="${1-..}"
if [ -z "$hb_rootdir" ]; then hb_rootdir=".."; fi
FVER="${hb_rootdir}/include/hbver.h"
MAJOR=`sed -e '/HB_VER_MAJOR/ !d' -e 's/[^0-9]*\([^ ]*\).*/\1/g' "${FVER}"`
MINOR=`sed -e '/HB_VER_MINOR/ !d' -e 's/[^0-9]*\([^ ]*\).*/\1/g' "${FVER}"`
@@ -20,7 +19,7 @@ get_hbver()
get_hbverstat()
{
hb_rootdir="${1-..}"
if [ -z "$hb_rootdir" ]; then hb_rootdir=".."; fi
FVER="${hb_rootdir}/include/hbver.h"
VERSTAT=`sed -e '/HB_VER_STATUS/ !d' -e 's/[^\"]*\"\([^\"]*\).*/\1/g' "${FVER}"`
echo "${VERSTAT}"

View File

@@ -2650,7 +2650,7 @@ int hb_socketSetMulticast( HB_SOCKET sd, int af, const char * szAddr )
{
if( af == HB_SOCKET_AF_INET )
{
#if defined( IP_ADD_MEMBERSHIP ) && defined( IPPROTO_IP )
#if defined( IP_ADD_MEMBERSHIP ) /* && defined( IPPROTO_IP ) */
struct ip_mreq mreq;
int ret;

View File

@@ -5442,7 +5442,7 @@ static void hb_vmArrayDim( HB_USHORT uiDimensions ) /* generates an uiDimensions
static void hb_vmHashGen( HB_SIZE nElements ) /* generates an nElements Hash and fills it from the stack values */
{
HB_STACK_TLS_PRELOAD
PHB_ITEM pHash, pKey, pVal;
PHB_ITEM pHash;
int iPos;
HB_TRACE( HB_TR_DEBUG, ( "hb_vmHashGen(%" HB_PFS "u)", nElements ) );
@@ -5454,8 +5454,8 @@ static void hb_vmHashGen( HB_SIZE nElements ) /* generates an nElements Hash and
iPos = - ( int ) nElements;
while( iPos )
{
pKey = hb_stackItemFromTop( iPos++ );
pVal = hb_stackItemFromTop( iPos++ );
PHB_ITEM pKey = hb_stackItemFromTop( iPos++ );
PHB_ITEM pVal = hb_stackItemFromTop( iPos++ );
if( HB_IS_HASHKEY( pKey ) )
hb_hashAdd( pHash, pKey, pVal );
else