DataEngine and Qt UI thread safe

Weng Xuetian wengxt at gmail.com
Tue Apr 10 07:37:03 UTC 2012


Hi,
I'm meeting a problem when fixing a rare bug with my dataengine, case
is like this.
Some program interact with dataengine via DBus, and dataengine set
data and notify plasmoid to display it.
The DBus notification maybe at a very high rate, say 1 times/ms, and
it updates a visibility property of a QWidget.

I use a stupid check (which is removed now), like this:
Widget::updateVisible(bool v)
{
     if (isVisible() != v)  // a stupid check removed now
         setVisible(v);
}

And here's the problem, the widget might be not visible, but
isVisible() returns true in very rare case.. so I wonder am I doing
something really wrong here?

Thanks!


More information about the Plasma-devel mailing list