[SailfishDevel] qtsvg imageformat not registered for first launch of app
Simon Persson
simonpersson1 at gmail.com
Thu May 8 07:26:45 UTC 2014
On May 06, 2014 09:48:01 Thomas Perl wrote:
> Hi,
>
> On 2014-05-06 08:20, Simon Persson wrote:
> > My game submission to harbour was recently rejected, I'm bringing up
> > the issue here because I suspect the issue lies outside my app. Please
> > help me either confirm this suspicion or point me to where my app
> > could be missing something.
> >
> > The problem:
> >
> > 1. On a clean OS installation, install the game rpm.
> >
> > 2. Launch game from home screen menu.
> >
> > 3. Problem: The QML "Image" component fails to load any SVG images
> > used in the game.
> >
> > 4. Quit the game.
> >
> > 5. Restart the game from launcher again.
> >
> > 6. Now it works, SVG files do load. Quit the game again.
> >
> > 7. Uninstall both the game and the dependancies "qt5-qtsvg" and
> > "qt5-qtsvg-plugin-imageformat-svg".
> >
> > 8. Reinstall game, pulling in qtsvg again... this time the SVG files
> > loads successfully on first attempt.
> >
> > I have not been able to figure out what it is that happens on first
> > run of the game, which permanently alters the OS installation in such
> > a way that the problem never re-appears.
>
> It could be due to mapplauncherd - there's a partially initialized
> process ("booster") already waiting for your application to be started
> (but it has been booted up at a time when the plugin wasn't installed,
> hence it doesn't "see" the new plugin yet). After an application is
> launched, a new booster process is started and initialized. This would
> explain why it doesn't work at first, but works after that. To verify
> this is indeed the issue, try the following:
>
> 1. Install the app (which installs also the SVG plugin)
> 2. Launch another app from the home screen menu that has the same
> launcher/booster type (e.g. silica-qt5)
> 3. Now launch your game from the home screen
>
Ok, to begin with I was now able to reproduce the problem without doing a fresh install of
emulator image, just needed to reboot vm after uninstalling qtsvg. Then the problem
comes up next time game is installed.
And yes, doing so I was able to prove you right! The problem is not visible if after qtsvg
installation I first run the components gallery app from the home screen.
Thanks for help so far, good stuff! :)
Simon
> If it's a booster issue, then your game's first launch should work as
> expected from the launcher icon after you have started something. If
> that's the issue, then we should fix either mapplauncherd to detect the
> new installation of plugins somehow (and re-start all boosters), force
> re-loading of the plugins when the app is really launched or add some
> code to the qt5 plugins' postinst script that would also just restart
> mapplauncherd / the boosters. A less intrusive way would be to just
> pre-install the SVG plugin, but that would just hide/workaround the real
> problem, and just delay the need to do something about it.
>
> As you correctly suspected, the issue lies outside of your app, and it's
> something we have to fix in the middleware (either mapplauncherd,
> booster or the plugin packaging). Thanks for the detailed report; I'll
> look into it.
>
>
> HTH :)
> Thomas
> _______________________________________________
> SailfishOS.org Devel mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20140508/46729ae9/attachment.html>
More information about the Devel
mailing list