diff --git a/Source/gtk/AccelKey.cs b/Source/gtk/AccelKey.cs index 147644797..317553b8a 100644 --- a/Source/gtk/AccelKey.cs +++ b/Source/gtk/AccelKey.cs @@ -23,8 +23,7 @@ namespace Gtk { { this.Key = key; this.AccelMods = mods; - this._bitfield0 = 0; - this.AccelFlags = flags; + this.AccelFlags = (ushort)flags; } } } diff --git a/Source/gtk/Gtk.metadata b/Source/gtk/Gtk.metadata index 8d153b6a8..a1aa3276a 100644 --- a/Source/gtk/Gtk.metadata +++ b/Source/gtk/Gtk.metadata @@ -3,7 +3,8 @@ GdkKey Key GdkModifierType - GtkAccelFlags + guint16 + 1 1 1 @@ -906,6 +907,10 @@ Maximized DefaultActivated FocusActivated + slider_detail + gchar* + stepper_detail + gchar* 1 1 1 diff --git a/Source/gtk/Widget.cs b/Source/gtk/Widget.cs index ee3e63356..8df24f58a 100644 --- a/Source/gtk/Widget.cs +++ b/Source/gtk/Widget.cs @@ -37,7 +37,7 @@ namespace Gtk { public void AddAccelerator (string accel_signal, AccelGroup accel_group, AccelKey accel_key) { - this.AddAccelerator (accel_signal, accel_group, (uint) accel_key.Key, accel_key.AccelMods, accel_key.AccelFlags); + this.AddAccelerator (accel_signal, accel_group, (uint) accel_key.Key, accel_key.AccelMods, (Gtk.AccelFlags) accel_key.AccelFlags); } /* @@ -110,9 +110,12 @@ namespace Gtk { if (ActivateMarshalCallback == null) ActivateMarshalCallback = new ClosureMarshal (ActivateMarshal_cb); - GtkWidgetClass klass = GetClassStruct (gtype, false); - klass.ActivateSignal = RegisterSignal ("activate_signal", gtype, GLib.Signal.Flags.RunLast, GLib.GType.None, new GLib.GType [0], ActivateMarshalCallback); - OverrideClassStruct (gtype, klass); + unsafe { + uint* raw_ptr = (uint*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("activate_signal")); + + *raw_ptr = RegisterSignal ("activate_signal", gtype, GLib.Signal.Flags.RunLast, GLib.GType.None, + new GLib.GType [0], ActivateMarshalCallback); + } } [GLib.DefaultSignalHandler (Type=typeof (Gtk.Widget), ConnectionMethod="ConnectActivate")] diff --git a/Source/gtk/generated/meson.build b/Source/gtk/generated/meson.build index 4ac9ce6ed..fae017237 100644 --- a/Source/gtk/generated/meson.build +++ b/Source/gtk/generated/meson.build @@ -1074,12 +1074,10 @@ source_gen = custom_target(assembly_name + 'codegen', '--extra-includes', cairo_api_includes, '--extra-includes', gdk_api_includes, '--extra-includes', atk_api_includes, - '--glue-file', gluefile, '--glue-includes', glueincludes, '--out', meson.current_build_dir(), '--files', ';'.join(generated_sources), '--assembly-name', assembly_name, - '--glue-libname', gluefile, '--schema', schema, ], depends: [gapi_codegen, gapi_fixup]) diff --git a/Source/gtk/meson.build b/Source/gtk/meson.build index 7e2cd03da..8a0c9de81 100644 --- a/Source/gtk/meson.build +++ b/Source/gtk/meson.build @@ -140,17 +140,6 @@ gtk_sharp = library(assembly_name, source_gen, sources, assemblyinfo, install_dir: lib_install_dir ) -gluegen = custom_target('gtkgluegen', - input: raw_api_fname, - output: 'generate.c', - command: [generate_api, '--fakeglue'], - depends: [source_gen]) - -library('gtksharpglue-3', gluegen, - dependencies: [glib_dep, gio_dep, atk_dep, gdk_dep, gtk_dep], - c_args: ['-Wno-error=discarded-qualifiers'], - install: install) - nuget_infos += [['GtkSharp', gtk_sharp, ['GlibSharp', 'GioSharp', 'AtkSharp', 'GdkSharp']]] install_infos += [assembly_name, gtk_sharp.full_path()]