Review Request: BUG - Prevent a plasmoid from being resized to a smaller value than it's minimumSize

Bruno Bigras bigras.bruno at gmail.com
Thu Dec 3 05:51:21 CET 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2311/
-----------------------------------------------------------

(Updated 2009-12-03 04:51:21.705504)


Review request for Plasma.


Changes
-------

With the help of Tony we investigated more and it seems that the problem come from _k_rotatePoint().

The function should return 0,0 instead of NaN when trying to rotate a 0, 0 point


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



More information about the Plasma-devel mailing list