Possible issue in breeze 5.5 kstyle

Sandro Andrade sandroandrade at kde.org
Fri Dec 11 07:22:37 UTC 2015


Hi there,

After upgrading plasma to 5.5 I started to notice some weird behaviour
in using QQuickView to load a QML document:

Ex:

m_quickView->setSource(QUrl("qrc:/main.qml"));
...
setupGUI();
...
if (!m_initialGroup.exists())
    runWizard();

The issue is that no QML content is shown if using breeze 5.5. It
works fine with breeze 5.4.3.

After doing some git bisect I've found that commit
6d852f30a1f2c1988359d4e0cdb21e2f1714a6bd in breeze repository added a
QTimer in kstyle/breezepalettehelper.cpp (line 65) to postpone the
update of widget's palette. The consequence is that the loading of QML
scene is probably running *before* the delayed palette update, which
causes the issue.

If something delays the ending of the aforementioned code (for
instance, it executes a wizard in the first run of the application,
when no app's rc setting file exists) then the QTimer has the chance
to has already been finished when showing the QQuickView and things
work properly. Commenting out the line 65 in
kstyle/breezepalettehelper.cpp fixes the issue but obviously should
make something else broken. Such commit fixed BUG 344425.

Any suggestions?

Thanks in advance,
--
Sandro


More information about the Plasma-devel mailing list