How ?! For this to work requires that the plugin registrar inherits from
TypeModule.

I quickly rewrote the example but it does not work:

$ valac --pkg=gmodule-2.0 --debug *.vala && ./main
> main.vala:10.1-10.41: warning: unable to chain up to private base
> constructor
> public class PluginRegistrar : TypeModule
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Compilation succeeded - 1 warning(s)
>
> (process:18546): GLib-GObject-CRITICAL **: g_object_newv: assertion
> `G_TYPE_IS_OBJECT (object_type)' failed
> Erreur de segmentation
>

And in a real application I have an error like:

g_type_plugin_* invalidly modified type
>

With the object creation.

2010/6/10 JM <interfl...@gmx.net>

> Hello Abderrahim
> Thanks for reply!
> I somehow got the error message in a wrong way, because I thought the
> "[ModuleInit]" annotation itself needed some extra info.
> Now it's working fine again.
> Sorry for the hassle.
> Regards
> Jörn
>
>
>
> > Hi,
> >
> > 2010/6/10, JM <interfl...@gmx.net>:
> > > Hello everybody
> > >  This valac commit shows that there has been some change with
> > >  [ModuleInit]:
> > >
> http://git.gnome.org/browse/vala/commit/?id=5fd7b8cebb983fccdebcd9329671d94c1e5cf826
> > >
> > >  The example on http://live.gnome.org/Vala/TypeModules is showing an
> > >  example exactly as I am using it in my application:
> > >
> > >  [ModuleInit]
> > >  public Type register_plugin (TypeModule module) {
> > >     // types are registered automatically
> > >     return typeof (MyPlugin);
> > >  }
> > >
> > >  Here, valac reports "error: [ModuleInit] requires a parameter of type
> `GLib.TypeModule'
> > >  public Type init_module() {"
> >
> > I'm not sure I understand your problem, in the example register_plugin
> > takes a TypeModule as parameter but from what I see in the error
> > message, your init_module doesn't take any parameter, and that's what
> > valac is saying.
> >
> > >
> > >  Can someone please tell me what the expected usage of
> > >  [ModuleInit] would be?
> >
> > a [ModuleInit] function is called by the application when a plugin is
> > loaded. It should have at least a TypeModule argument so that the
> > plugin types can be registered dinamically. (It generally returns the
> > type of the main plugin class for the application to create an
> > instance, but that's not mandatory : the application can find it out
> > from e.g. the plugin description file if there is one).
> >
> > HTH,
> > Abderrahim
>
>
> _______________________________________________
> vala-list mailing list
> vala-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/vala-list
>



-- 
Nicolas Joseph

Attachment: module.tar.gz
Description: GNU Zip compressed data

_______________________________________________
vala-list mailing list
vala-list@gnome.org
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to