Review Request 121113: Use Qt's method of blocking for component completion rather than our own

Aleix Pol Gonzalez aleixpol at kde.org
Mon Nov 17 00:56:45 UTC 2014



> On Nov. 14, 2014, 12:16 p.m., Marco Martin wrote:
> > hm, i don't really like it.
> > is it working around a problem in particular?
> > if i try the patch, the difference during startup (or just duringopening a popup on the first time) is pretty noticeable like, the wallpaper appearing several *seconds* later.
> > This way, i think it's not using the incubator at all, and i don't think it's really acceptable.
> > In QML itself, QQuickView does internally use an incubator as well, even tough in a slightly different manner it seems.

Well, since I started developing in Qt, I've been told that using nested event loops is bad parallelization.

A good way to fix the WallpaperInterface issue (I understand it's an example, but still applies) is that instead of calling completeInitialization() (wallpaperinterface.cpp:147) we should be connect to a signal that notifies us about the background readiness (i.e. statusChanged) and then react to the initialization by connecting the object into the graphical elements, but forcing the end of the initialization is, of course, not parallelizable.


- Aleix


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121113/#review70364
-----------------------------------------------------------


On Nov. 13, 2014, 6:24 p.m., David Edmundson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121113/
> -----------------------------------------------------------
> 
> (Updated Nov. 13, 2014, 6:24 p.m.)
> 
> 
> Review request for KDE Frameworks and Plasma.
> 
> 
> Repository: kdeclarative
> 
> 
> Description
> -------
> 
> We had a while loop which processed all application events whilst we
> were in the middle of creating objects. This leads to weird bugs, and
> workarounds in ShellCorona.
> 
> Qt's methods forceCompletion does not seem to have the same problems and
> works just as well.
> 
> 
> Diffs
> -----
> 
>   src/kdeclarative/qmlobject.cpp 029edaf 
> 
> Diff: https://git.reviewboard.kde.org/r/121113/diff/
> 
> 
> Testing
> -------
> 
> Ran plasmashell with many panels filled with applets
> 
> Added debug on void ShellCorona::createWaitingPanels() to make sure it was never called with m_loading true.
> 
> 
> Thanks,
> 
> David Edmundson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20141117/c042d01b/attachment.html>


More information about the Plasma-devel mailing list