2009-12-21 00:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
+ Added new trace functions.
; TODO: Use these new functions in HBQT, HBXBP.
* contrib/hbwin/win_dll.c
! Fix for OpenWatcom. Seems to require LPVOID in asm code.
* contrib/hbqt/hbqt_destruct.cpp
* Minor formatting. ('return( x )' -> 'return x', return is not a function)
+ Added 'TODO:' to todo text.
+ Added TOFIX to hb_parptr() usage. Without reference counting this is
still dangerous.
Probably some mechanisms would be needed to count references when
attaching one GC collected pointer to another object, and decrement
references when disconnecting or deleting holder object. Without
this, there will always be a possibility that some objects refer
to deleted objects. Unless I'm missing some logic which already that.
Probably "delayed release" is the mechanism which is trying to
solve that problem at the moment.
* contrib/hbwin/wapi_winbase_mutex.c
* Minor formatting (superfluous brackets)
This commit is contained in:
@@ -17,6 +17,30 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-12-21 00:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* include/hbextern.ch
|
||||
+ Added new trace functions.
|
||||
; TODO: Use these new functions in HBQT, HBXBP.
|
||||
|
||||
* contrib/hbwin/win_dll.c
|
||||
! Fix for OpenWatcom. Seems to require LPVOID in asm code.
|
||||
|
||||
* contrib/hbqt/hbqt_destruct.cpp
|
||||
* Minor formatting. ('return( x )' -> 'return x', return is not a function)
|
||||
+ Added 'TODO:' to todo text.
|
||||
+ Added TOFIX to hb_parptr() usage. Without reference counting this is
|
||||
still dangerous.
|
||||
Probably some mechanisms would be needed to count references when
|
||||
attaching one GC collected pointer to another object, and decrement
|
||||
references when disconnecting or deleting holder object. Without
|
||||
this, there will always be a possibility that some objects refer
|
||||
to deleted objects. Unless I'm missing some logic which already that.
|
||||
Probably "delayed release" is the mechanism which is trying to
|
||||
solve that problem at the moment.
|
||||
|
||||
* contrib/hbwin/wapi_winbase_mutex.c
|
||||
* Minor formatting (superfluous brackets)
|
||||
|
||||
2009-12-20 22:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/include/Makefile
|
||||
+ harbour/include/hbtrace.ch
|
||||
@@ -65,11 +89,11 @@
|
||||
|
||||
* contrib/hbide/hbide.ch
|
||||
* contrib/hbide/hbide.prg
|
||||
! Improved Find/Replace functionality. Now it is usable feature
|
||||
! Improved Find/Replace functionality. Now it is usable feature
|
||||
though I have to tweak it a little more. The current functionality is as:
|
||||
|
||||
CTRL+F or "Find" icon => Opens <Find-Replace> dialog.
|
||||
CTRL+N finds next occurance of current "Find" string - always
|
||||
CTRL+N finds next occurance of current "Find" string - always
|
||||
shown in one of the panels of status-bar.
|
||||
This invocation is equivalent to if you click <Find> pushbutton
|
||||
of the <Find-Replace> dialog.
|
||||
@@ -79,8 +103,8 @@
|
||||
of the <Find-Replace> dialog.
|
||||
|
||||
History of <Find>/<Replace> strings is maintained and is populated
|
||||
in drop-down list of respective combo-boxes.
|
||||
|
||||
in drop-down list of respective combo-boxes.
|
||||
|
||||
TODO: <Global> and <Replace without prompting> features.
|
||||
|
||||
2009-12-20 16:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
|
||||
@@ -89,9 +89,9 @@ void * hbqt_gcpointer( int iParam )
|
||||
if( p && p->ph )
|
||||
return p->ph;
|
||||
else if( HB_ISPOINTER( iParam ) )
|
||||
return hb_parptr( iParam );
|
||||
return hb_parptr( iParam ); /* TOFIX: In what cases is this needed? Reference counting to avoid referring to freed pointers? */
|
||||
else
|
||||
return( NULL ); /* Still better if RTE */
|
||||
return NULL; /* TODO: Still better if RTE. */
|
||||
}
|
||||
|
||||
void * hbqt_pPtrFromObj( int iParam )
|
||||
|
||||
@@ -89,7 +89,7 @@ static HANDLE wapi_mutex_par( int iParam )
|
||||
{
|
||||
void ** ph = ( void ** ) hb_parptrGC( &s_gc_wapi_mutex_funcs, iParam );
|
||||
|
||||
return ( ph ? ( HANDLE ) *ph : NULL );
|
||||
return ph ? ( HANDLE ) *ph : NULL;
|
||||
}
|
||||
|
||||
/* HANDLE WINAPI CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCTSTR lpName ) */
|
||||
|
||||
@@ -177,6 +177,9 @@ static HB_DYNRETVAL hb_DynaCall( int iFlags, FARPROC lpFunction, int nArgs, HB_D
|
||||
int i, nInd, nSize, nLoops;
|
||||
DWORD dwEAX, dwEDX, dwVal, * pStack, dwStSize = 0;
|
||||
BYTE * pArg;
|
||||
#if ! defined( __MINGW32__ ) && ! defined( __BORLANDC__ ) && ! defined( __DMC__ )
|
||||
LPVOID lpFunctionVoid = ( LPVOID ) lpFunction;
|
||||
#endif
|
||||
|
||||
#if defined( __MINGW32__ )
|
||||
#elif defined( __BORLANDC__ ) || defined( __DMC__ )
|
||||
@@ -325,7 +328,7 @@ static HB_DYNRETVAL hb_DynaCall( int iFlags, FARPROC lpFunction, int nArgs, HB_D
|
||||
_asm sub esp, dwStSize /* Adjust for our new parameters */
|
||||
|
||||
/* Stack is now properly built, we can call the function */
|
||||
_asm call [lpFunction]
|
||||
_asm call [lpFunctionVoid]
|
||||
|
||||
_asm mov dwEAX, eax /* Save eax/edx registers */
|
||||
_asm mov dwEDX, edx /* */
|
||||
|
||||
@@ -1132,6 +1132,9 @@ EXTERNAL HB_SHADOW
|
||||
EXTERNAL HB_TRACELEVEL
|
||||
EXTERNAL HB_TRACESTATE
|
||||
EXTERNAL HB_TRACESTRING
|
||||
EXTERNAL HB_TRACELOGLEVEL
|
||||
EXTERNAL HB_TRACELOG
|
||||
EXTERNAL HB_TRACELOGAT
|
||||
EXTERNAL HB_CSTR
|
||||
EXTERNAL HB_VALTOEXP
|
||||
EXTERNAL HB_VALTOSTR
|
||||
|
||||
Reference in New Issue
Block a user