Commit Graph

29 Commits

Author SHA1 Message Date
Christian Hoff
7b752d233c 2009-09-03 Christian Hoff <christian_hoff@gmx.net>
* 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
2009-09-03 19:50:53 +00:00
Christian Hoff
58e97c087a 2009-09-02 Christian Hoff <christian_hoff@gmx.net>
* 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
2009-09-02 20:17:37 +00:00
Christian Hoff
33fd1cbece 2009-08-30 Christian Hoff <christian_hoff@gmx.net>
* gtk/Object.custom: Deglue the floating reference API.
	We should consider moving all that stuff to GInitiallyUnowned
	as Gtk+ did several releases ago.

svn path=/trunk/gtk-sharp/; revision=140940
2009-08-30 19:22:43 +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
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
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
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
bf1bec4f41 2007-09-11 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom (Destroy): add a null check to avoid 
	Gtk criticals.  The destroy case seems to be problematic with
	a bunch of existing code, so this turns it into a noop.

svn path=/trunk/gtk-sharp/; revision=85657
2007-09-11 20:13:14 +00:00
Mike Kestner
2469ba16ef 2007-02-16 Mike Kestner <mkestner@novell.com>
* glib/Object.cs : switch to ToggleRefs for all items created with
	CreateNativeObject.  This gets all managed subclasses, with a little
	overhang into simple wrappers.
	* glib/ToggleRef.cs : new class to manage the weak to strong ref 
	transitions as a native object flips between shared and unshared
	ownership.
	* gtk/Object.custom : revamp of the Destroyed signal handling. 
	* gtk/Gtk.metadata : hide destroy signal so we can deal with it 
	manually. [Fixes the reopen note of #72018.]

svn path=/trunk/gtk-sharp/; revision=73023
2007-02-16 16:18:59 +00:00
Mike Kestner
b5964c52d0 2005-08-15 Mike Kestner <mkestner@novell.com>
* glib/Object.cs : hold strong refs for managed subclasses and
	weakrefs for wrappers.
	* gtk/Object.custom : don't hold managed refs here, they are now held
	in GLib.Object.

svn path=/trunk/gtk-sharp/; revision=48389
2005-08-15 15:56:16 +00:00
Mike Kestner
dfa84ee168 2005-06-02 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom : only connect to Destroyed for managed subclasses
	and let the wrappers get disposed by the GC.

svn path=/trunk/gtk-sharp/; revision=45326
2005-06-02 14:01:04 +00:00
Mike Kestner
afa17eacee 2005-05-13 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom : hold refs for all managed subclasses. Release on
	Destroy. Dispose plain wrappers on Destroy also.
	* gtk/Widget.custom : remove the parent set hack since it's "handled"
	on Gtk.Object now.  All this will get fixed properly when we have
	access to owen's toggle_refs.

svn path=/trunk/gtk-sharp/; revision=44506
2005-05-13 17:38:51 +00:00
Mike Kestner
7c3ae396d0 reverting to a less broken state for now
svn path=/trunk/gtk-sharp/; revision=44421
2005-05-12 02:49:26 +00:00
Mike Kestner
551b1d3fd7 2005-05-11 Mike Kestner <mkestner@novell.com>
* glib/Object.cs : mark Dispose virtual.
	* gtk/Object.cs : release the Destroy handler in Dispose.

svn path=/trunk/gtk-sharp/; revision=44420
2005-05-12 00:42:21 +00:00
Mike Kestner
c1564a1288 2005-05-10 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom : Dispose on a Destroyed event.
	* gtk/Widget.custom : rework the parent_set hack to go direct to
	the native signal instead of using the event so we avoid rewrapping of
	already destroyed parents.

svn path=/trunk/gtk-sharp/; revision=44388
2005-05-11 13:12:09 +00:00
Dan Winship
7c80282cfd * gtk/Object.custom (Raw): Always ref the object, even if it's not
floating when we get it, since GLib assumes we hold a ref on it.
        [Fixes #74468]

        * gtk/Window.custom: remove refcount special-handling here

svn path=/trunk/gtk-sharp/; revision=42653
2005-04-07 20:05:52 +00:00
Mike Kestner
9727ef31e2 2004-12-17 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : hide Object and Widget.Destroy.
	* gtk/Object.custom : manual virtual Destroy impl.
	* gtk/Widget.custom : manual virtual Destroy impl.
	* gtk/Window.custom : hold a managed ref for all toplevels. Release
	it in a Destroy override.  Window is frequently subclassed and is
	never parented, so this keeps a managed ref around to avoid GC.
	[Fixes #70120]

svn path=/trunk/gtk-sharp/; revision=37914
2004-12-17 23:21:53 +00:00
Mike Kestner
993d91fa31 2004-12-07 Mike Kestner <mkestner@novell.com>
* */*.cs : s/glue-2.0/glue-2 so that dllimport works on win32.
	* */*.custom : s/glue-2.0/glue-2
	* */glue/makefile.win32 : s/glue-2.0/glue-2
	* */glue/Makefile.am : s/glue-2.0/glue-2

svn path=/trunk/gtk-sharp/; revision=37324
2004-12-07 19:03:55 +00:00
Mike Kestner
7f3171c814 merge to HEAD of jeroen and friends' work on the 2-4 branch. HEAD
is now tracking Gnome 2.6.

svn path=/trunk/gtk-sharp/; revision=35479
2004-10-29 20:33:07 +00:00
Mike Kestner
aa54aa2c95 2004-09-29 Mike Kestner <mkestner@ximian.com>
* gtk/Gtk.metadata : hide some ellipsis methods, add pass_as attrs.
	* gtk/Object.custom : new IsFloating property.
	* gtk/glue/object.c : new gtksharp_object_set_floating glue.

svn path=/trunk/gtk-sharp/; revision=34529
2004-09-29 18:45:59 +00:00
Mike Kestner
7a6d6b2128 2004-06-25 Mike Kestner <mkestner@ximian.com>
* */*.cs : add lgpl license blurb and clean up (c)'s.
	* */*.custom : add lgpl license blurb and clean up (c)'s.
	* */glue/*.c : add lgpl license blurb and clean up (c)'s.
	file adds without license from now on are punishable by wedgie.

svn path=/trunk/gtk-sharp/; revision=30401
2004-06-25 18:42:19 +00:00
Mike Kestner
e7bf3a279f 2004-04-07 Mike Kestner <mkestner@ximian.com>
* generator/ClassBase.cs : remove default ctor generation and
	hasDefaultConstructor field.
	* generator/Ctor.cs : chain to base (IntPtr.Zero).
	* generator/StructBase.cs : remove hasDefaultConstructor usage.
	* glib/Object.cs : remove Object () ctor.  Add Ben's GetGType
	method, although nothing uses it yet.  Still working on integrating
	the remainder of Ben's patch.
	* gtk/Gtk.metadata : remove all the disabledefaultctor rules.
	* */*.custom : add base (IntPtr.Zero) or this (...) chaining for
	all ctors.

svn path=/trunk/gtk-sharp/; revision=25184
2004-04-07 19:15:01 +00:00
Mike Kestner
67e0164e7d 2003-10-17 Mike Kestner <mkestner@ximian.com>
* gtk/Window.cs : override Raw prop and take a ref, since gtk+
	owns the ref to new Windows, and we need a ref.  [Fixes #47721]

svn path=/trunk/gtk-sharp/; revision=19151
2003-10-17 22:31:46 +00:00
Mike Kestner
23464e6514 2003-07-23 Mike Kestner <mkestner@ximian.com>
[Equal credit to Ettore Perazzoli <ettore@ximian.com> for fixing
	all the bugs in the initial patch]
	* */*.custom : fix incorrect usage of new Object (IntPtr) where
	Glib.Object.GetObject should've been used.  add ref_owned param
	to GetObject calls.
	* generator/CallbackGen.cs : setup ref_owned in bodies
	* generator/ClassBase.cs : add ref_owned to GetObject FromNative call
	* generator/Method.cs : setup ref_owned in bodies
	* generator/Property.cs : setup ref_owned in bodies
	* generator/SignalHandler.cs : pass ref_owned to GetObject
	* generator/StructBase.cs : setup ref_owned in bodies
	* glib/Object.cs : kill Ref/Unref methods.  Don't want it to be
	easy for users to screw with ref counts, or make it look like they
	should need to.
	(GetObject): add ref_owned param and ref/unref to remain at 1
	* glib/Value.cs : pass ref_owned to GetObject

svn path=/trunk/gtk-sharp/; revision=16581
2003-07-23 17:19:21 +00:00
Vladimir Vukicevic
9ad6d1b6a4 * generator/StructBase.cs: create a Zero static member for
use when the IntPtr is NULL.

* generator/SignalHandler.cs, generator/CallbackGen.cs: removed
call to Initialize for structs

* gtk/Clipboard.custom, gtk/ClipboardClearFunc.cs,
gtk/ClipboardGetFunc.cs,
gtk/GtkSharp.GtkClipboardClearFuncNative.cs,
gtk/GtkSharp.ClipboardGetFuncNative.cs, SelectionData.custom:
Hand-wrapped selection handling stuff, along with relevant
signals and the like.

* gnome/voidObjectAffineSVPintSignal.cs: removed Initialize
for hand-wrapped signal

* sample/GnomeHelloWorld.cs, sample/Size.cs: compare against
.Zero instead of using IsNull

* api/gtk-api.xml, sources/Gtk.metadata: metadata updates for
hiding some manually-wrapped stuff

svn path=/trunk/gtk-sharp/; revision=8912
2002-11-10 10:03:51 +00:00
Rachel Hestilow
32ae593a0e 2002-09-11 Rachel Hestilow <hestilow@ximian.com>
* glib/Object.cs (Ref): Added.

	* gtk/Object.custom (Ref): Overload. Note that we were reffed.
	(DisposeNative): Unref if we were explicitly reffed.

	* generator/Method.cs: Call Ref if needs_ret is set.
	* generator/StructBase.cs: Call Ref on all object accessors.

	* glue/style.c: Ref returned GCs.

	* sources/Gtk.metadata: Set needs_ret on various gdk-related
	accessors in GtkWidget. Hide Ref/Unref methods on Widget and
	RcStyle as these ought to be deprecated anyway.

svn path=/trunk/gtk-sharp/; revision=7380
2002-09-12 05:21:16 +00:00
Mike Kestner
ab081f8358 2002-09-04 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : generate dtors.
	* glib/Object.cs : Implement IDisposable. Add a new DisposeNative
	method. Implement default dtor.
	* glue/object.c : new gtksharp_object_unref_if_floating method.
	* gtk/Object.custom : override DisposeNative to check float bit.

svn path=/trunk/gtk-sharp/; revision=7235
2002-09-04 05:25:58 +00:00