* GetInterface and GetInterfaceWeak is modified so that when querying for IObjectReference not an interface is returned but the object pointer
git-svn-id: trunk@15087 -
* Changed fpc_class_as_intf so that it uses GetInterfaceWeak instead of GetInterface. This way it's prevented that the AS operator is increasing the refcounter of an unreferenced object from 0 to 1 temporarily and then by decreasing from 1 to 0 the object is freed.
git-svn-id: trunk@15077 -
* bugfix: initialized temp variables that are going to keep an interface by nil (segfaults)
* bugfix: AS operator has to call QueryInterface before GetInterface (related to revision r15066)
git-svn-id: trunk@15068 -
tested on FreeBSD (general Unix) and Windows. Note that Haiku seems
to have a native threadmgr rather than the Unix one. Will notify
maintainer (Olivier)
git-svn-id: trunk@15026 -
- pass address to SafeCallException method(rtl needed a modification)
- improve code generation for regular safecall routines (not methods)
- improve test - check that passed exception and address are valid
git-svn-id: trunk@14946 -
properties/behaviour of the equivalent of Extended in C (i.e., to
"long double" on i386 and x86_64 platforms that support a 10 byte
long double, and to "double" elsewhere)
git-svn-id: trunk@14912 -
a) is also set to true for packages (when packages will beimplemented)
b) exists for each package/library/application separately, instead of
being stored in the package containing the system unit (when packages
will be implemented)
(mantis #15701)
git-svn-id: trunk@14880 -
so the TMultiReadExclusiveWriteSynchronizer routines can be safely
executed even with the default thread manager -> removed ismultithread
checks, so that it keeps working even if ismultithread is set to true
between acquiring and freeing a lock (mantis #15619)
git-svn-id: trunk@14830 -
(to remove warnings)
* don't give a thread error for basicevent and threadevent routines if
isMultiThreaded is false, except for the waiting routines (the new
TMultiReadExclusiveWriteSynchronizer creates/sets such events in the
constructor, which caused thread manager errors in case cthreads was
not used under unix)
* don't perform any actual locking in TMultiReadExclusiveWriteSynchronizer
routines if isMultiThreaded is false (in order to avoid the errors
described above)
+ added generic RTLeventResetEvent stub
git-svn-id: trunk@14592 -
- raise a ERangeError in SetPropValue when passed value is out of property range
- handle QWord values both in SetPropValue and GetPropValue
git-svn-id: trunk@14500 -
a) it's Delphi-incompatible
b) when a tdatetime property is obtained via GetPropValue(), then
it will be a varfloat rather than a vardate, and there full
precision certainly is required (mantis #15296)
- since DoVarCmpFloat() is now identical to DoVarCmpDate(), removed
DoVarCmpFloat
git-svn-id: trunk@14472 -