2
0
Эх сурвалжийг харах

+ Patch from Mattias Gaertner to fix G_TYPE_INSTANCE_GET_CLASS

git-svn-id: trunk@123 -
michael 20 жил өмнө
parent
commit
0a1a92f1aa

+ 4 - 1
packages/extra/gtk2/glib/glib2.pas

@@ -1294,8 +1294,11 @@ begin
 end;
 
 function G_TYPE_INSTANCE_GET_CLASS(instance: Pointer; g_type: GType) : PGTypeClass;
+// #define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), (g_type), c_type))
+// #define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
 begin
-   G_TYPE_INSTANCE_GET_CLASS:=private_g_type_check_class_cast(instance,g_type);
+   Result:=PGTypeInstance(Instance)^.g_class;
+   Result:=private_g_type_check_class_cast(Result,g_type);
 end;
 
 function G_TYPE_INSTANCE_GET_INTERFACE(instance: Pointer; g_type: GType) : Pointer;