Commit graph

2806 commits

Author SHA1 Message Date
Mike Kestner b2e51e9989 2008-08-20 Mike Kestner <mkestner@novell.com>
Patch from Christian Hoff fixing bug #396195.
	* generator/Property.cs: handle interface adapter values.
	* generator/InterfaceGen.cs: register the gtype so mapping occurs
	automatically for interface adapters.  New GetObject overload to
	handle already wrapped objects more efficiently.
	* glib/Value.cs: handle set_Val for interface adapter objects.

svn path=/trunk/gtk-sharp/; revision=111154
2008-08-20 15:53:03 +00:00
Brad Taylor 70b8817f12 2008-08-19 Brad Taylor <brad@getcoded.net>
* atk/Object.custom: Add method to allow emission of
	  visible-data-changed signal.

	* atk/TextChangedDetail.cs: 
	* atk/TextAdapter.custom: Add method to allow emission of text-changed
	  signal.


svn path=/trunk/gtk-sharp/; revision=111015
2008-08-19 22:00:33 +00:00
Mike Kestner 253fd7954c 2008-08-13 Mike Kestner <mkestner@novell.com>
* atk/Atk.metadata: switch Value methods to ref params since atk
	actually checks for initialized values instead of just treating it
	like uninitialized memory.  Makes for uglier API, but avoids crashes
	in unfortunate memory content scenarios.

svn path=/trunk/gtk-sharp/; revision=110382
2008-08-13 17:15:00 +00:00
Mike Kestner 7460e71a96 2008-08-04 Mike Kestner <mkestner@novell.com>
* gtk/IconTheme.custom: elements and the list returned by
	ListIcons are owned.

svn path=/trunk/gtk-sharp/; revision=109619
2008-08-04 21:08:40 +00:00
Mike Kestner ae0831faf8 2008-08-04 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark IconTheme.LoadIcon return as owned.

svn path=/trunk/gtk-sharp/; revision=109594
2008-08-04 17:06:13 +00:00
Mike Kestner c7dd6cdfda 2008-07-23 Mike Kestner <mkestner@novell.com>
* atk/Atk.metadata: map some out params on Atk.Value.  They
	were unusable in their existing form.

svn path=/trunk/gtk-sharp/; revision=108600
2008-07-23 21:47:03 +00:00
Mike Kestner 7d611f77e4 2008-07-08 Mike Kestner <mkestner@novell.com>
Patch from Christian Hoff with a few minor tweaks.
	* generator/CallbackGen.cs: refactor to use ManagedCallString
	and drop a ton of redundant, half-baked code.
	* generator/ManagedCallString.cs: add Unconditional setup
	method for stuff that has to happen before the try block.
	Add "drop_first" concept so it can be reused by CallbackGen
	which doesn't drop first params.
	* generator/Signal.cs: use Unconditional method for prep.
	* generator/VirtualMethod.cs: use Unconditional method for prep.
	* gtk/Gtk.metadata: mark a ref param. [Fixes #394352]

svn path=/trunk/gtk-sharp/; revision=107494
2008-07-08 21:12:22 +00:00
Mike Kestner d47afc7f66 2008-06-28 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark ListStore.Reorder array param.
	* gtk/ListStore.cs: compat obsolete method, though the old one 
	was useless.

svn path=/trunk/gtk-sharp/; revision=106853
2008-06-29 04:18:26 +00:00
Mike Kestner 51454acbb7 2008-06-28 Mike Kestner <mkestner@novell.com>
* glib/Marshaller.cs: some 64 bit fixes for time_t marshaling
	issue found by Federico.

svn path=/trunk/gtk-sharp/; revision=106828
2008-06-28 17:15:31 +00:00
Mike Kestner ff1db7980c 2008-06-28 Mike Kestner <mkestner@novell.com>
* gtk/TreeSelection.custom: use list marshaler to avoid O(n^2)
	copy from old custom code.  [Fixes #404669]

svn path=/trunk/gtk-sharp/; revision=106824
2008-06-28 17:06:06 +00:00
Mike Kestner a43acaf970 2008-06-28 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark a const string. [Fixes #404630]

svn path=/trunk/gtk-sharp/; revision=106823
2008-06-28 16:53:54 +00:00
Mike Kestner 42591ddc1b 2008-06-27 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: fix a couple out params.

svn path=/trunk/gtk-sharp/; revision=106756
2008-06-27 18:19:34 +00:00
Mike Kestner 04d1d00b15 2008-06-20 Mike Kestner <mkestner@novell.com>
* glib/Value.cs: Patch from Christian Hoff.  Support for byte and
	sbyte values.

svn path=/trunk/gtk-sharp/; revision=106309
2008-06-20 15:51:03 +00:00
Mike Kestner 793802f7be 2008-06-17 Mike Kestner <mkestner@novell.com>
* glib/SignalClosure.cs: post back the gvalues after the closure is
	invoked using a new Update method on GLib.Value.  This only impacts
	boxed types, since they are the only "value types" passed by ref in
	the signal marshaling environment.  We can't call set_boxed on the
	value to update it, since that allocs new memory, we need to marshal
	the updated struct out to the existing native memory address using
	g_value_get_boxed.
	* glib/Value.cs (Update): new update method for writing values to
	an existing boxed type instance instead of allocating a new native
	struct.  Fixes #398929.

svn path=/trunk/gtk-sharp/; revision=106058
2008-06-17 20:18:23 +00:00
Mike Kestner 179d4b214f 2008-06-17 Mike Kestner <mkestner@novell.com>
* glib/GType.cs (LookupType): traversed referenced assemblies to
	find types in currently unloaded assemblies.  Fixes #400595.

svn path=/trunk/gtk-sharp/; revision=106027
2008-06-17 16:36:06 +00:00
Andrés G. Aragoneses dddf13e2fb * atk/Object.custom:
* atk/glue/object.c:
Simplified code for previous issue (recommendation from mkestner).

svn path=/trunk/gtk-sharp/; revision=105929
2008-06-16 18:03:28 +00:00
Mike Kestner d46963e86b 2008-06-16 Mike Kestner <mkestner@novell.com>
* glib/glue/object.c: fixes for object, boxed, and gtype
	property paramspec creation. Patch provided by Christian Hoff.

svn path=/trunk/gtk-sharp/; revision=105905
2008-06-16 14:35:32 +00:00
Andrés G. Aragoneses bd2330adf2 * atk/Object.custom:
* atk/glue/object.c:
Temporary workaround for infinite recursion issue.

svn path=/trunk/gtk-sharp/; revision=105329
2008-06-09 16:12:03 +00:00
Andrés G. Aragoneses f006f28918 * glib/glue/thread.c: Fix a warning.
svn path=/trunk/gtk-sharp/; revision=105185
2008-06-06 17:31:34 +00:00
Mike Kestner 9864a0960d 2008-06-06 Mike Kestner <mkestner@novell.com>
Initial Patch submitted by Christian Hoff with some small
	style alterations and a round trip sample by me.  Supports the 
	registration of managed properties with the GType system, so 
	that things like custom cell renderers can be accessed via the
	native property system from treeview.

	* glib/glue/object.c : property registration related glue.
	* glib/Object.cs: implement managed property registration.
	* glib/PropertyAttribute.cs: add new props and ctor for managed
	property registration.
	* sample/PropertyRegistration.cs: little test app to test round-
	tripping of registered properties.
	* sample/Makefile.am: add new sample.

svn path=/trunk/gtk-sharp/; revision=105177
2008-06-06 16:55:00 +00:00
Mike Kestner 7d9723862d 2008-06-06 Mike Kestner <mkestner@novell.com>
* atk/Object.custom: use 'as StateSet' instead of cast to avoid
	cast exceptions in the null case. Apparently it's not an exception
	any more, according to folks on #monodev.  I still prefer as for
	GetObject 'casting'.

svn path=/trunk/gtk-sharp/; revision=105176
2008-06-06 16:48:59 +00:00
Mike Kestner 40b8a8c5d9 2008-06-06 Mike Kestner <mkestner@novell.com>
* atk/Object.custom: use 'as StateSet' instead of cast to avoid
	cast exceptions in the null case.

svn path=/trunk/gtk-sharp/; revision=105170
2008-06-06 15:46:24 +00:00
Andrés G. Aragoneses 535ffa6c40 cosmetic
svn path=/trunk/gtk-sharp/; revision=105161
2008-06-06 15:06:29 +00:00
Andrés G. Aragoneses 15cf27b0dd * atk/Object.custom:
* atk/glue/object.c: Implement virtual method OnRefStateSet().

svn path=/trunk/gtk-sharp/; revision=105160
2008-06-06 14:56:01 +00:00
Mike Kestner be458c5034 2008-05-30 Mike Kestner <mkestner@novell.com>
* gdk/Pixbuf.custom: don't use the autogenerated PixbufDestroyNative
	delegate type since is has a byte[] parameter that blows up.

svn path=/trunk/gtk-sharp/; revision=104582
2008-05-31 02:26:33 +00:00
Mike Kestner b651056f6c 2008-05-30 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom:
	* gtk/glue/object.c: remove the destroy override.  it doesn't work.

svn path=/trunk/gtk-sharp/; revision=104558
2008-05-30 17:17:16 +00:00
Mike Kestner f3f0a62918 2008-05-28 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom: move Dispose call to a vm override so that
	it runs after all signals and native overrides have run.
	* gtk/glue/object.c: destroy override implementation.

svn path=/trunk/gtk-sharp/; revision=104315
2008-05-28 18:59:53 +00:00
Lluis Sanchez d6be561887 2008-05-28 Lluis Sanchez Gual <lluis@novell.com>
* gtk/Object.custom: If all destroy handlers have been
	unregistered, remove the hashtable entry since it is
	not needed anymore.


svn path=/trunk/gtk-sharp/; revision=104287
2008-05-28 16:34:50 +00:00
Mike Kestner 64ff72c07f 2008-05-27 Mike Kestner <mkestner@novell.com>
* generator/Method.cs (GenerateBody): when generating value type
	methods, we should demarshal the 'this' memory before any ref or
	out parameters in the event that someone passes 'this' as a param.
	That will ensure that an updated value coming back from the native
	side ends up in the memory location.

svn path=/trunk/gtk-sharp/; revision=104166
2008-05-27 17:04:06 +00:00
Mike Kestner d9721b63dc 2008-05-22 Mike Kestner <mkestner@novell.com>
* gtk/Widget.custom: guard against MissingIntPtrCtorException in
	the Activate and SetScrollAdjustments funky signal VM impl. Can't
	use SignalClosure easily.  Could be reworked more cleanly at some
	point.  Or not.

svn path=/trunk/gtk-sharp/; revision=103827
2008-05-22 18:55:22 +00:00
Mike Kestner a1473c0b58 2008-05-21 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom (OnDestroyed): ensure Dispose runs even if
	no Destroyed handlers are connected.

svn path=/trunk/gtk-sharp/; revision=103708
2008-05-21 15:54:30 +00:00
Mike Kestner ca3b6b9067 2008-05-21 Mike Kestner <mkestner@novell.com>
* gtk/Application.cs (CurrentEvent): use Event.GetEvent to retrieve
	an explicit event subclass.

svn path=/trunk/gtk-sharp/; revision=103705
2008-05-21 15:52:04 +00:00
Mike Kestner 621b39b531 2008-05-15 Mike Kestner <mkestner@novell.com>
* kill the makefile.win32 build system.  it has been unmaintained
	for quite some time, replaced by the auto* build in cygwin.

svn path=/trunk/gtk-sharp/; revision=103308
2008-05-15 17:36:46 +00:00
Andrés G. Aragoneses 52e68fbeb6 * atk/Object.custom: Track API changes in GLib.Signal.
* glib/Signal.cs: AddEmissionHook binding (for closing #386950), and
  change API of Emit to mimic the detailed_signal pattern.
* glib/GType.cs: GType.FromName: new wrapper for native call.
* glib/ObjectManager.cs: Use the new FromName managed method.

svn path=/trunk/gtk-sharp/; revision=103198
2008-05-14 16:03:13 +00:00
Mike Kestner d1dbdf0316 2008-05-08 Mike Kestner <mkestner@novell.com>
* atk/atk-api-2.12.raw: reparsed.
	* gdk/gdk-api-2.12.raw: reparsed.
	* gtk/gtk-api-2.12.raw: reparsed.
	* parser/gapi2xml.pl: fixes for signal and vm order needed for 
	proper interface struct layout. [Fixes #386802]

svn path=/trunk/gtk-sharp/; revision=102848
2008-05-08 23:23:49 +00:00
Stephane Delcroix d7586a9e15 2008-05-07 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Object.custom: swap the event removing and destroy calls.

svn path=/trunk/gtk-sharp/; revision=102731
2008-05-07 15:05:38 +00:00
Andrés G. Aragoneses 3a8faa9a39 oops, copy-paste problems on the changelog.. :)
svn path=/trunk/gtk-sharp/; revision=102721
2008-05-07 12:51:01 +00:00
Andrés G. Aragoneses c4967d7cb9 * atk/Object.custom, atk/glue/object.c: Remove unneeded
return types (I don't  know why gcc ever let this compile...).

svn path=/trunk/gtk-sharp/; revision=102720
2008-05-07 12:49:37 +00:00
Mike Kestner 22add1100a 2008-05-06 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: revert the connection optimization from r102349.
	It breaks under the current CellRenderer implementation which probably
	can't be reworked compatibly to take advantage of this code.
	* glib/SignalClosure.cs: use IntPtr.ToInt64 instead of (long) since
	the cast apparently has issues on bleeding edge mono.

svn path=/trunk/gtk-sharp/; revision=102693
2008-05-07 02:13:16 +00:00
Mike Kestner acceaad509 bump svn version
svn path=/trunk/gtk-sharp/; revision=102631
2008-05-06 15:54:30 +00:00
Mike Kestner 9b08db1fae 2008-05-06 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark Rc.DefaultFiles accessors as null_term_array.

svn path=/trunk/gtk-sharp/; revision=102626
2008-05-06 15:23:29 +00:00
Mike Kestner 39ac15b6b6 2008-05-02 Mike Kestner <mkestner@novell.com>
* generator/GenerationInfo.cs:  refactor glue writer implementation
	so that GlueEnabled means there is a valid glue writer available.
	Avoids crashes in scenarios where an unwriteable glue path is provided
	to the generator.  Generate a glue function which scans the type
	hierarchy of an object for the most-derived unmanaged ancestor so
	that we can invoke class methods on it, avoiding infinite recursions.
	* generator/Signal.cs: revamp the default handler vm overriding 
	mechanism.  When class fields exist which can be directly hooked into,
	we now generate glue to override and chain up to unmanaged base funcs.
	This avoids some strangeness in the g_signal_override_class_closure
	and g_signal_chain_from_overridden reported in #332300 and also lays
	the groundwork for automated generation of non-signal VMs.
	* gtk/Gtk.metadata: block signal glue generation for a few types which 
	don't seem to install headers.

svn path=/trunk/gtk-sharp/; revision=102350
2008-05-02 17:10:05 +00:00
Mike Kestner b9d94385a6 2008-05-02 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: Don't bother hooking VM into the class field
	if another managed ancestor has already done so.  Add a LogFunc
	printing a stack trace for the GObject log domain if GTK_SHARP_DEBUG
	is set in the environment.  It's a bit noisy to do unconditionally.

svn path=/trunk/gtk-sharp/; revision=102349
2008-05-02 16:58:46 +00:00
Mike Kestner 9bc789f2e6 2008-05-02 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom: some NULL guarding in Dispose and 
	Destroy handling.

svn path=/trunk/gtk-sharp/; revision=102347
2008-05-02 16:51:37 +00:00
Mike Kestner 9ff6fc7588 2008-05-02 Mike Kestner <mkestner@novell.com>
* atk/Atk.metadata: hide Global.AddGlobalEventListener.
	* atk/Global.custom: AddGlobalEventListener impl.
	* atk/Util.custom: AddGlobalEventListenerHandler prop.
	[Fixes the rest of #365437]

svn path=/trunk/gtk-sharp/; revision=102333
2008-05-02 15:13:35 +00:00
Mike Kestner 50358ea1b0 2008-05-01 Mike Kestner <mkestner@novell.com>
* gtk/gtk-api-2.12.raw: regen, removes some private printing API.
	* source/gtk-sharp-2.12-sources.xml: hide some private printing API.

svn path=/trunk/gtk-sharp/; revision=102287
2008-05-01 17:49:26 +00:00
Mike Kestner 399c8e8586 2008-05-01 Mike Kestner <mkestner@novell.com>
* generator/InterfaceGen.cs: use CName and mangle it.  ClassFieldName
	is not guaranteed to be set now.
	* generator/Signal.cs: read ClassFieldName from the api xml.  Move 
	glue writer lookup inside the block to avoid exceptions for now.

svn path=/trunk/gtk-sharp/; revision=102276
2008-05-01 15:04:17 +00:00
Mike Kestner 0780ed3c0d 2008-04-30 Mike Kestner <mkestner@novell.com>
* generator/InterfaceGen.cs:
	* generator/Signal.cs: use generic signal marshaling instead of
	generating signature specific marshaling callbacks.
	* glib/glue/closure.c: glue for new closure impl.
	* glib/Object.cs: open up a couple hashes internally. 
	* glib/Signal.cs: hook in closure based connection and expose
	EmissionHook functionality for atk usage.
	* glib/SignalClosure.cs: new generic signal marshaling mechanism.
	* glib/ToggleRef.cs: null guarding in Target and let Signal remove
	itself from hash when it disposes itself.

svn path=/trunk/gtk-sharp/; revision=102241
2008-04-30 20:15:45 +00:00
Mike Kestner a3f799ceb0 2008-04-30 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl: put class struct field in the signal elems.
	* atk/atk-api-2.12.raw:
	* gdk/gdk-api-2.12.raw:
	* gtk/gtk-api-2.12.raw:

svn path=/trunk/gtk-sharp/; revision=102238
2008-04-30 19:42:11 +00:00
Mike Kestner 4afdaf6602 2008-04-28 Mike Kestner <mkestner@novell.com>
* glib/Value.cs : Add GParam support and beef up the Boxed
	type marshaling to support types with New methods via reflection.

svn path=/trunk/gtk-sharp/; revision=102064
2008-04-28 19:00:48 +00:00