[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / ChangeLog
index 3b4210b3e9465504f12595138ef14940c146b103..defb099c802f0837b177fffac4b8be3e25e645d4 100644 (file)
@@ -1,3 +1,302 @@
+2010-04-02  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Use refcount == -1 to indicate that the handle
+       had been closed.
+
+       The problem here is that we have no records of why the code that
+       threw a ObjectDisposedException inside the do { } while block on
+       DangerousAddRef was added.   It seems it was added in response to
+       Close() methods being called and the need to throw that exception
+       on further calls to ObjectDisposedException.
+
+       Sadly, we have no test suites for that.
+
+2010-03-16  Jb Evain  <jbevain@novell.com>
+
+       * MarshalAsAttribute.cs, Marshal.cs: use MOONLIGHT symbol to
+       disambiguate MonoTouch and Moonlight code.
+
+2009-12-13  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeBuffer.cs: When comparing the end, we only need to compare
+       source+size being bigger than last_byte, not bigger or equal,
+       otherwise we can not access the last element.
+
+2009-11-08  Miguel de Icaza  <miguel@novell.com>
+
+       * Marshal.cs: Expose copy_*_unamnaged to SafeBuffer.
+
+       * SafeBuffer.cs: Update SafeBufer implementation
+
+2009-11-02  Miguel de Icaza  <miguel@novell.com>
+
+       * Jumbo NET_2_0 removal patch.
+
+2009-10-15  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * GCHandle.cs: Add missing validations
+
+2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * _Assembly.cs: Remove Evidence and GlobalAssemblyCache 
+       properties for NET_2_1
+       * Marshal.cs: Avoid depending on SecureString for NET_2_1
+
+2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * MarshalAsAttribute.cs: Remove VarEnum field for NET_2_1
+
+2009-09-19  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Marshal.cs: Avoid depending on COM stuff for NET_2_1
+
+2009-09-04  Zoltan Varga  <vargaz@gmail.com>
+
+       * SafeBuffer.cs: Mark specific methods as non-cls compliant instead of
+       the whole class.
+       
+       * SafeBuffer.cs: New net 4.0 class.
+
+2009-04-17 Tom Hindle <tom_hindle@sil.org>
+
+       * Marshal.cs: Improved GetExceptionForHR to return real C# exceptions in 
+       certain cases instead of always COMException.
+
+2009-02-24  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * SafeHandle.cs: Add default ctor in 2.1 profile (needed to compile
+       new unit tests in moonlight).
+
+2009-03-05  Tom Hindle <tom_hindle@sil.org>
+       
+       * Marshal.cs: Implemented GenerateGuidForType
+
+2008-06-21  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Marshal.cs: Fixed order of arguments for ArgumentException in
+       GetComSlotForMethodInfo.
+
+2008-06-19  Kornél Pál  <kornelpal@gmail.com>
+
+       * Marshal.cs: Implement GetHINSTANCE.
+
+2008-04-02  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
+
+       * _EventInfo.cs
+       * _FieldInfo.cs
+       * _MemberInfo.cs
+       * _MethodBase.cs
+       * _MethodInfo.cs
+       * _PropertyInfo.cs
+       * _Type.cs
+       * ArrayWithOffset.cs
+       * BestFitMappingAttribute.cs
+       * Marshal.cs: Fix parameter names
+
+2008-02-20  Zoltan Varga  <vargaz@gmail.com>
+
+       * Marshal.cs (GetDelegateForFunctionPointer): Add a nullref check.
+
+2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * COMException.cs: Fix new-line literal and use of "" detected by
+       Gendarme.
+
+2008-01-13  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * COMException.cs: Added missing colon in ToString.
+
+2007-12-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ExternalException.cs: Set HResult to match MS.
+
+2007-11-05  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ComVisible.cs: Fix parameter name (part of #322850).
+
+2007-09-14  Zoltan Varga  <vargaz@gmail.com>
+
+       * GCHandle.cs (AddrOfPinnedObject): Use -2 to communicate that the handle is not
+       pinned. Correct exception message. Fixes #82848.
+
+2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SafeHandle.cs CriticalHandle.cs TypeLibImporterFlags.cs
+         RegistrationClassContext.cs ArrayWithOffset.cs :
+       * ComObjectInUseException.cs ExposeAsClassToComAttribute.cs :
+         removed obsoleted files.
+
+2007-07-18  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Harden this, do not call ReleaseHandle if the
+       handle is invalid.
+
+       * CriticalHandle.cs: Harden this, do not call ReleaseHandle if the
+       handle is invalid. 
+
+2007-07-06  Jonathan Chambers  <joncham@gmail.com>
+
+       * ExtensibleClassFactory.cs: Fix ExtensibleClassFactory.
+
+2007-06-22  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs (ThrowExceptionForHR): Implement/consolidate.
+       * Marshal.cs (GetExceptionForHR): Implement/consolidate.
+
+2007-05-11  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs (SecureStringToBSTR): BSTR header is size in bytes,
+       not string length.
+
+2007-05-02  Jonathan Chambers  <joncham@gmail.com>
+
+       * ExtensibleClassFactory.cs: Don't use un-implemented overload.
+
+2007-05-02  Dick Porter  <dick@ximian.com>
+
+       * _ConstructorInfo.cs: 
+       * _EventInfo.cs: 
+       * _Exception.cs: 
+       * _FieldInfo.cs: 
+       * _MemberInfo.cs: 
+       * _MethodBase.cs: 
+       * _MethodInfo.cs: 
+       * _PropertyInfo.cs: 
+       * _Type.cs: 
+       * UCOMIMoniker.cs: 
+       * AutomationProxyAttribute.cs: 
+       * BestFitMappingAttribute.cs: 
+       * BStrWrapper.cs: 
+       * ClassInterfaceAttribute.cs: 
+       * CoClassAttribute.cs: 
+       * ComAliasNameAttribute.cs: 
+       * ComCompatibleVersionAttribute.cs: 
+       * ComConversionLossAttribute.cs: 
+       * ComDefaultInterfaceAttribute.cs: 
+       * ComEventInterfaceAttribute.cs: 
+       * COMException.cs: 
+       * ComImportAttribute.cs: 
+       * ComObjectInUseException.cs: 
+       * ComRegisterFunctionAttribute.cs: 
+       * ComUnregisterFunctionAttribute.cs: 
+       * ComVisible.cs: 
+       * CriticalHandle.cs: 
+       * CurrencyWrapper.cs: 
+       * DefaultCharSetAttribute.cs: 
+       * DispatchWrapper.cs: 
+       * DispIdAttribute.cs: 
+       * ErrorWrapper.cs: 
+       * ExtensibleClassFactory.cs: 
+       * ExternalException.cs: 
+       * Marshal.cs: 
+       * SafeHandle.cs: 
+       * StructLayoutAttribute.cs: 
+       * TypeLibConverter.cs: 
+       * ArrayWithOffset.cs: 
+       * BIND_OPTS.cs: 
+       * BINDPTR.cs: 
+       * CONNECTDATA.cs: 
+       * DISPPARAMS.cs: 
+       * ELEMDESC.cs: 
+       * EXCEPINFO.cs: 
+       * PARAMDESC.cs: 
+       * TYPELIBATTR.cs: 
+       * VARDESC.cs: 
+       * CALLCONV.cs: 
+       * CallingConvention.cs: 
+       * CharSet.cs: 
+       * ClassInterfaceType.cs: 
+       * ComInterfaceType.cs: 
+       * ComMemberType.cs: 
+       * DESCKIND.cs: 
+       * ExporterEventKind.cs: 
+       * PARAMFLAG.cs: 
+       * RegistrationClassContext.cs: 
+       * TYPEKIND.cs: 
+       * TypeLibImporterFlags.cs: 
+       * UnmanagedType.cs: 
+       * VARFLAGS.cs: Update to 2.0 profile
+
+2007-04-15  Alp Toker  <alp@atoker.com>
+
+       * Marshal.cs: Add new 2.0 Copy() from IntPtr[] overload.
+
+2007-03-12  Raja R Harinath  <rharinath@novell.com>
+
+       * DefaultParameterValueAttribute.cs: Move to System.dll.
+
+2007-02-08  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Throw exceptions for AddRef, Release,
+       and QueryInterface in managed code. Implement GetComInterfaceForObject,
+       GetIDispatchForObject, GetIUnknownForObject, GetObjectForIUnknown, 
+       GetObjectsForNativeVariants, IsComObject, ReleaseComObject, and 
+       FinalReleaseComObject. Unimplement GetComObjectData and SetComObjectData
+       for now to save space and simplify __ComObject for now. MSDN states the 
+       user should never call these methods anyway.
+       
+2007-01-29  Marek Habersack  <grendello@gmail.com>
+
+       * Marshal.cs: Implement a missing Marshal.Copy overload.
+
+2007-01-11  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Implement Marshal.ReAllocCoTaskMem.
+       
+2007-01-03  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Do not use locks in SafeHandle to protect the
+       access to the refcount, use Interlocked.CompareExchange.  The
+       locks were the source of problems with domain finalization when
+       this code was enabled.
+
+       This should fix Matt Hargett's bug report with a full `make check'
+       that reported variations of:
+
+       ** (../../class/lib/net_2_0/nunit-console.exe:29644): WARNING **:
+       Finalization of domain <domainname> timed out.
+
+       Also, it is a lot lighther.
+
+2006-12-21  Miguel de Icaza  <miguel@novell.com>
+
+       * CriticalHandle.cs: Add Dispose(bool disposing) method, and
+       refactor. 
+
+2006-12-15  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Marshal.cs: Use SystemDefaultCharSize to determine whether to
+       use Ansi or Unicode variant of StringToCoTaskMem.
+
+2006-12-15  Miguel de Icaza  <miguel@novell.com>
+
+       * Marshal.cs (SecureStringToCoTaskMemAnsi, SecureStringToBSTR,
+       SecureStringToCoTaskMemUnicode, ZeroFreeCoTaskMemAnsi,
+       ZeroFreeCoTaskMemUnicode, ZeroFreeGlobalAllocAnsi,
+       ZeroFreeGlobalAllocUnicode): Implement.
+
+       (StringToCoTaskAuto): return the same as Ansi.  
+
+       The ANSI code is out of sync with Mono, which treats ANSI as
+       UTF-8. 
+
+       Code formatting changes
+
+2006-12-11  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Fix a handful of bugs, and add tests for them.
+       Only release the handle if its owned by us.  Also throw
+       ObjectDisposedException's
+
+       Implement finalizer.
+
+       DangerousAddRef will now throw an exception if the object was
+       disposed.
+
+2006-12-02  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Implement this class.
+       
 2006-10-06  Jonathan Chambers  <joncham@gmail.com>
 
        * ExtensibleClassFactory.cs: Implement RegisterObjectCreationCallback.