-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2311/
-----------------------------------------------------------
(Updated 2009-12-03 03:43:24.908383)
Review request for Plasma.
Changes
-------
While investigating what Tony said. I found out that the problem was that if
newSize is equal to m_originalGeom.size(), newCenter is 0,0 and newPos is NaN.
because of this line:
newCenter = (QPointF(m_originalGeom.size().width(),
m_originalGeom.size().height())/2 - newSize/2);
here's the value of the vars when the bug was triggered:
m_applet->minimumSize() = 178, 88
newSize = 178.063, 88.0312
m_originalGeom.size() = 178.063, 88.0312
newCenter = 0, 0
newPos = nan, nan
the first version of my patch was better.
what do you prefer?
this :
if (!(newSize.x() == m_originalGeom.size().width() && newSize.y() ==
m_originalGeom.size().height())) {
or :
if (newCenter != QPointF(0, 0)) {
or anything better?
and thanks again Tony for catching it.
Summary
-------
With today's latest code I found a bug where a plasmoid, if resized to a
smaller value than it's minimumSize, would move to the top left corner and in a
broken state (cannot be removed unless editing the config file and it's not
possible to use the desktop until it's fixed).
notmart was not able to reproduce the bug so I am not sure if I am the only one
having this problem.
There is two way I am able to reproduce it.
1. If I remove and re-add the comic plasmoid using XKCD, the plasmoid is
smaller than it's minimumSize. Trying to resize it to a smaller value instantly
cause the bug.
2. If I add the comic plasmoid (or the battery) and it's bigger than the
minimum size. I can resize it to the minimum (but no farther) in one step. When
it's at the minimum if I try again it cause the bug.
The bug is caused by the line "newCenter =
(QPointF(m_originalGeom.size().width(), m_originalGeom.size().height())/2 -
newSize/2);"
Since originalGeom and newSize is equal, it result in a QPointF(0,0) which is
not friendly with the line "QPointF newPos = m_originalGeom.topLeft() +
_k_rotatePoint(newCenter, m_angle);"
Diffs (updated)
-----
/trunk/KDE/kdelibs/plasma/private/applethandle.cpp 1057530
Diff: http://reviewboard.kde.org/r/2311/diff
Testing
-------
Thanks,
Bruno
_______________________________________________
Plasma-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/plasma-devel