mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-09-16 19:44:45 +02:00
* atk/Object.custom:
* atk/glue/object.c: Temporary workaround for infinite recursion issue. svn path=/trunk/gtk-sharp/; revision=105329
This commit is contained in:
parent
f006f28918
commit
bd2330adf2
@ -1,3 +1,9 @@
|
|||||||
|
2008-06-09 Andrés G. Aragoneses <aaragoneses@novell.com>
|
||||||
|
|
||||||
|
* atk/Object.custom:
|
||||||
|
* atk/glue/object.c:
|
||||||
|
Temporary workaround for infinite recursion issue.
|
||||||
|
|
||||||
2008-06-06 Andrés G. Aragoneses <aaragoneses@novell.com>
|
2008-06-06 Andrés G. Aragoneses <aaragoneses@novell.com>
|
||||||
|
|
||||||
* glib/glue/thread.c: Fix a warning.
|
* glib/glue/thread.c: Fix a warning.
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
static extern void atksharp_object_override_ref_state_set (IntPtr type, RefStateSetDelegate cb);
|
static extern void atksharp_object_override_ref_state_set (IntPtr type, RefStateSetDelegate cb);
|
||||||
|
|
||||||
[DllImport("atksharpglue-2")]
|
[DllImport("atksharpglue-2")]
|
||||||
static extern IntPtr atksharp_object_base_ref_state_set (IntPtr atk_obj);
|
static extern IntPtr atksharp_object_base_ref_state_set (IntPtr atk_obj, IntPtr gtype);
|
||||||
|
|
||||||
[GLib.CDeclCallback]
|
[GLib.CDeclCallback]
|
||||||
delegate IntPtr RefStateSetDelegate (IntPtr raw);
|
delegate IntPtr RefStateSetDelegate (IntPtr raw);
|
||||||
@ -142,7 +142,8 @@
|
|||||||
[GLib.DefaultSignalHandler (Type=typeof(Atk.Object), ConnectionMethod="OverrideRefStateSet")]
|
[GLib.DefaultSignalHandler (Type=typeof(Atk.Object), ConnectionMethod="OverrideRefStateSet")]
|
||||||
protected virtual Atk.StateSet OnRefStateSet ()
|
protected virtual Atk.StateSet OnRefStateSet ()
|
||||||
{
|
{
|
||||||
IntPtr raw = atksharp_object_base_ref_state_set (Handle);
|
IntPtr raw = atksharp_object_base_ref_state_set (Handle, GLib.GType.FromName("AtkObject").Val);
|
||||||
return GLib.Object.GetObject (raw, true) as StateSet;
|
return GLib.Object.GetObject (raw, true) as StateSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ void atksharp_object_override_ref_child (GType gtype, gpointer cb);
|
|||||||
|
|
||||||
void atksharp_object_override_ref_state_set (GType gtype, gpointer cb);
|
void atksharp_object_override_ref_state_set (GType gtype, gpointer cb);
|
||||||
|
|
||||||
AtkStateSet* atksharp_object_base_ref_state_set (AtkObject *base);
|
AtkStateSet* atksharp_object_base_ref_state_set (AtkObject *base, GType gtype);
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -59,9 +59,11 @@ atksharp_object_override_ref_state_set (GType gtype, gpointer cb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AtkStateSet*
|
AtkStateSet*
|
||||||
atksharp_object_base_ref_state_set (AtkObject *atk_obj)
|
atksharp_object_base_ref_state_set (AtkObject *atk_obj, GType gtype)
|
||||||
{
|
{
|
||||||
AtkObjectClass *parent = g_type_class_peek_parent (G_OBJECT_GET_CLASS (atk_obj));
|
//FIXME: find a cleaner way of doing this (it comes from a managed call to GType.FromName() :
|
||||||
|
AtkObjectClass *parent = g_type_class_peek (gtype);
|
||||||
|
|
||||||
if (parent->ref_state_set)
|
if (parent->ref_state_set)
|
||||||
return (*parent->ref_state_set) (atk_obj);
|
return (*parent->ref_state_set) (atk_obj);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user