[Bug 186112] Kdevelop is not starting

Andreas Pakulat apaku at gmx.de
Wed Mar 4 16:54:11 UTC 2009


On 04.03.09 17:35:04, Cédric Pasteur wrote:
> Le mercredi 04 mars 2009 14:09:22 Andreas Pakulat, vous avez écrit :
> > On 04.03.09 12:39:31, David Nolden wrote:
> > > Am Mittwoch 04 März 2009 12:23:42 schrieb Andreas Pakulat:
> > > > Moving this to the devel list.
> > > >
> > > > On 04.03.09 10:48:27, David Nolden wrote:
> > > > > There is another issue we can see in this backtrace though: The
> > > > > language plugin is loaded much too early, by the source-formatter
> > > > > plugin(Although maybe it isn't even needed). This should be fixed.
> > > >
> > > > What do you mean with "too early"? Why is it a problem if c++ support
> > > > is loaded "very early"?
> > >
> > > By that I mean that for example Quanta won't need cpp language support,
> >
> > That depends, if someone opens up a cpp file in Quanta, the cpp language
> > support should of course be loaded.
> >
> > > even if it is available on disk. So the language support should not be
> > > loaded by the source-formatter plugin.
> >
> > Well, having a quick look at the code my initial reaction is: We didn't
> > have enough code-review before this got in. There's quite some suspicious
> > and simply wrong code in the controller. Well, I guess there goes my WoW
> > evening, I'll try to bring some order into that tonight.
> >
> > I don't see a reason right now why it would also load all language plugins,
> > maybe Cedric wasn't aware that if the lang-plugins want to supply
> > formatting support they can additionally implement the ISourceFormatter
> > interface.
> >
> > Andreas
> The source formatter plugin loads all language support plugins to be able to 
> group mime-types by language. I did this because I didn't want to have a 
> different config for eg .h, .c and .cpp without hardcoding this. The plugin just 
> use some metadata from the desktop file. If there's a way to load this 
> information without loading the plugin, then it has to replace the current 
> code.

There indeed is, though its a bit hidden. Look at
IPluginController::queryExtensionPlugins(). Its basically the same method
that you already use, except that it doesn't load the plugins and only
returns the KPluginInfo for the desktop file.

Andreas
 
-- 
A few hours grace before the madness begins again.




More information about the KDevelop-devel mailing list