* glib/Value.cs: support long and ulong gtypes. still can't construct
generically, but can cast to long/ulong and access via Val prop.
[Fixes#539812]
svn path=/trunk/gtk-sharp/; revision=142588
* glib/Idle.cs:
* glib/Timeout.cs: Don't try to remove the handler from the managed
hashtable twice, add a comment explaining the need for the else branch.
svn path=/trunk/gtk-sharp/; revision=142364
* glib/Idle.cs:
* glib/Timeout.cs: Make sure to remove the unmanaged reference to the
delegate when we're disposed or finalized. In particular, this fixes a
problem where GLib.Object's PerformQueuedUnrefs was being called after
both the object and the handler had been GC'ed, resulting in a
segfault.
svn path=/trunk/gtk-sharp/; revision=142362
* glib/Object.cs: add support for native instantiation of
managed types.
* glib/ParamSpec.cs: add Flags ctor overload.
* sample/NativeInstantiationTest.cs: new sample to test the
unmanaged instantiation capability.
Based on a patch from Sebastian Dröge [Fixes#499900]
svn path=/trunk/gtk-sharp/; revision=141819
* glib/Global.cs: Kill the calling convention field again.
It breaks GLib 2.x compatibility in the generator and there is
probably no need to make the calling convention configurable.
* .cs, *.custom: Hardcode Cdecl calling convention instead of
using GLib's field.
svn path=/trunk/gtk-sharp/; revision=141283
* glib/Global.cs: Add a public constant field specifying the
calling convention used by GLib and depending libraries.
By now it's hardcoded to Cdecl as every non-Win32 runtime
should ignore this attribute.
* *.cs, *.custom: Use GLib.Global.CallingConvention for both
pinvokes and callbacks. Plugs a stack leak on Win32. All
pinvokes defaulted to StdCall and thus the stack was never
cleaned up.
svn path=/trunk/gtk-sharp/; revision=141175
Complete the major version jump. Gtk# 3 and 2 are now both
installable within the same prefix.
* */glue/Makefile.am: Produce *sharpglue-3 gluelibs.
* *.custom, *.cs: pinvoke the new glue library.
* *-2.0.pc.in: Rename to *-3.0.pc.in.
svn path=/trunk/gtk-sharp/; revision=140941
* glib/MainContext.cs: Add API to create new MainContexts. Add a few
missing methods.
* glib/MainLoop.cs: Allow creating MainLoops in non-default MainContexts.
[Fixes#526232]
* glib/MainContext.xml, glib/MainLoop.xml: Add docs for the new API.
svn path=/trunk/gtk-sharp/; revision=140256
* configure.in.in: add new dir and autofu for it.
* Makefile.am: add new dir
* gapi/*: a small extension method library to add generation-related
api to GType in 2.0. Access it with -pkg:gapi-2.0-compat to pick up
the needed refs.
* generator/GObjectVM.cs: generate new GType getter methods.
* generator/ObjectGen.cs: generate new GType getter methods.
* glib/GType.cs: change a few props to methods to make them extension
method friendly for 2.0 compat.
* glib/Object.cs: use new GType getter methods.
* glib/Value.cs: use new GType getter methods.
* gtk/Widget.custom: use new GetClassPtr method.
svn path=/trunk/gtk-sharp/; revision=139609
* glib/Log.cs: rework the LogFunc marshaling and add SetDefaultHandler
binding to override all domains easily. [Fixes#517857]
svn path=/trunk/gtk-sharp/; revision=139599
* glib/GType.cs: lock the types hash to support threaded access and
type registration. Apparently gtype access/registration is threadsafe
in glib. [Fixes#526229]
svn path=/trunk/gtk-sharp/; revision=139247
* glib/GInterfaceAdapter.cs: Fix a leak related to GCHandles not being freed.
Patch from Mike Kestner with a minor tweak by me. [Fixes#523306]
svn path=/trunk/gtk-sharp/; revision=138263
* glib/GType.cs: add ResolveType event and TypeResolutionHandler delegate
declarations. This mechanism supports the lazy registration of type mappings
by bindings. Patch from Sebastian with minor naming tweek. [Fixes#497667]
svn path=/trunk/gtk-sharp/; revision=137759
* configure.in.in: Target .net 2.0 profile
* gapi-cdecl-insert: Kill. We are now using the UnmanagedFunctionPointerAttribute
for callbacks.
* glib/CdeclCallback: Mark obsolete.
* generator/*.cs:
* *.custom: Use [UnmanagedFunctionPointer (CallingConvention.Cdecl)] instead of
[GLib.CDeclCallback].
svn path=/trunk/gtk-sharp/; revision=137323
* glib/Value.cs: return int object value for GType.Enum values if
the explicit gtype is not found. [Fixes#503060]
svn path=/trunk/gtk-sharp/; revision=134075
* glib/ValueArray.cs: use type specific PtrToStructure marshaling to
avoid ArgumentExceptions. [Fixes#503467]
svn path=/trunk/gtk-sharp/; revision=134074
* glib/Value.cs: Add support for ValueArrays inside GLib.Values.
* glib/ValueArray.cs: Add GType property to get the ValueArray GType.
[Fixes#503048]
svn path=/trunk/gtk-sharp/; revision=134073
* glib/Idle.cs: add a Remove overload for consistency.
* glib/Timeout.cs: add a Remove overload for consistency.
[Fixes#356138]
svn path=/trunk/gtk-sharp/; revision=133702
* glib/Idle.cs:
* glib/Timeout.cs: add Add() overloads taking a priority
* glib/Makefile.am:
* glib/Property.cs: Property enum, used as argument for the new Add
overloads
svn path=/trunk/gtk-sharp/; revision=133444
* glib/Object.cs: get gtype from instance data.
* glib/Value.cs: use instance NativeType when initing for props.
[Fixes#500157] Patch by Sebastian Dröge.
svn path=/trunk/gtk-sharp/; revision=133282
* glib/Value.cs: Support for additional fundamental GTypes. Invoke
constructor of corresponding managed type to convert a GValue into
its managed representation and a SetGValue method to do that vice
versa. Patch contributed by Sebastian Dröge.
svn path=/trunk/gtk-sharp/; revision=131931
* atk/Makefile.am
* glib/Makefile.am: take advantage of the same InternalsVisibleTo
because the moon assemblies will be monomerged.
svn path=/trunk/gtk-sharp/; revision=131835
Add support for virtual methods(vm) to the generator.
* parser/gapi2xml.pl: Generate a class_struct element with
all members of the class structure. Dump the first (instance)
parameter for signal and vm elements. Bump up parser version.
* generator/GObjectVM.cs: Added. Support for GObject virtual methods.
* generator/DefaultSignalHandler.cs: Signal specific part of vm
generation.
* generator/InterfaceVM.cs: New class for interface vms.
* generator/ObjectBase.cs: Parse the class struct.
svn path=/trunk/gtk-sharp/; revision=131604
* glib/Value.cs: Change the pad fields handling again as the
previous approach didn't work on Win32. [Fixes#478578]
svn path=/trunk/gtk-sharp/; revision=127892
* generator/OpaqueGen.cs: generate a finalizer for classes which
have free or unref methods and ensure it runs on the gui thread.
* glib/Opaque.cs: remove finalize handling.
Fixes a 'resurrection' issue with the previous 419777 fix.
svn path=/trunk/gtk-sharp/; revision=124940
* glib/Opaque.cs: ensure we are running on the gui thread when we
dispose from the finalizer. [Fixes#419777]
svn path=/trunk/gtk-sharp/; revision=124683
* glib/Value.cs: make the pad fields a blink explicitly sized struct
instead to avoid alignment issues on x86. [Fixes#469135]
svn path=/trunk/gtk-sharp/; revision=124561
* generator/ReturnValue.cs: map gfilename* list elements to type
ListBase.FilenameString so they are marshaled correctly.
* glib/Marshaller.cs: handle FilenameStrings in ListPtrToArray.
* gtk/Gtk.metadata: FileChooser.GetFilenames and ListShortcutFolders
return type mangling to avoid custom implementations.
* gtk/FileChooser*.custom: kill manual Filenames and ShortcutFolders.
svn path=/trunk/gtk-sharp/; revision=122802
* GType.cs: convert GType.Is to a non-static function.
* Value.cs: track API.
[Last cosmetic bit from #448009]
svn path=/trunk/gtk-sharp/; revision=122505
* generator/InterfaceGen.cs: use the new GLib API to detect
instances that don't implement GInterfaces.
* glib/GType.cs: add new API for checking if an IntPtr instance
implements a certain GType.
[Fixes#448009]
svn path=/trunk/gtk-sharp/; revision=121990