[Qt-creator] PluginManagerPrivate::loadQueue question
Szyk Cech
szykcech at spoko.pl
Sun Sep 23 19:12:51 CEST 2018
Hi again!
Please correct me if I am wrong, but:
Instead of this declaration:
bool PluginManagerPrivate::loadQueue(PluginSpec *spec, QList<PluginSpec
*> &queue,
QList<PluginSpec *> &circularityCheckQueue)
correct will be:
bool PluginManagerPrivate::loadQueue(PluginSpec *spec, QList<PluginSpec
*> &queue,
QList<PluginSpec *> circularityCheckQueue)
It shouldn't be any impact on performance (besides copy on write) as
QList is one pointer based template class. But what is important passing
by value circularityCheckQueue allow as to build function invocation
tree instead simple list when it is passed by reference. This will
happen because QList has feature "copy on write" which is required in
this approach (otherwise we will have faltered tree to simple list where
all branches are treated as one). Then we check all branches in the
recurrention tree separately. Passing circularityCheckQueue by reference
build virtual list instead tree, so I think it disallow dependency
mentioned in my previous message.
W dniu 23.09.2018 o 16:13, Szyk Cech pisze:
> Hi all!
>
> I study carefully Qt Creator plugin system. I just read
> PluginManagerPrivate::loadQueue functions and thought about it for a
> while and my question arise:
>
> Is it true:
>
> PluginManagerPrivate::loadQueue can return false (mean fail) if we
> have 2 (or more) plugins which depend on other plugin simultaneously?
>
> In e.g.:
>
> I have plugin0 which depend on plugins plugin1 and plugin2 and these
> two both based on plugin3. Then PluginManagerPrivate::loadQueue fail
> and report circulation dependencies?
>
> Why is this wrong - I think it should be possible load such plugins
> (plugin1 and plugin2 after 3 and then load plugin0). Is this not
> fesible?!?
>
> Or maybe I am wrong and this is not the case...
>
> best regards
>
> Szyk Cech
>
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator
More information about the Qt-creator
mailing list