krita/ui/widgets
Christoph Feck
christoph at maxiom.de
Fri Jul 1 12:10:05 BST 2011
Hi José,
since a recent commit, calligra fails to compile (with gcc 4.6). The error is:
/local/git/extragear/office/calligra/krita/ui/widgets/kis_light_source.cpp:149:45:
error: taking address of temporary [-fpermissive]
Looking at the issue, I noticed certain things:
1. Upon creation/deletion of the KisLightSource widget, you are updating its
parent(). This is done automatically. If not, this could be caused by the next
issues.
2. Inside the mouseMoveEvent, you are creating a QPaintEvent and call
paintEvent(). This is not valid. You must call update() or repaint() to cause
the widget to update its rendering.
3. Inside the paintEvent(), you are moving the widget. This is not valid. The
widget must be moved inside the mouseMoveEvent(), and I guess moving the
widget causes the rendering to be updated automatically (and it isn't in your
case, because there is some protection inside Qt which prevents recursive
calls of paintEvent()).
4. Inside the paintEvent(), you are calling show() on the widget. This is not
valid, and unnecessary. If the widget was hidden before, you are not even
allowed to call the paintEvent() on it.
Please add myself to the review request for corrections to this file.
Christoph Feck (kdepepo)
KDE Quality Team
More information about the calligra-devel
mailing list