caching the QCursor object is crucial for performance, its handle is also
free-ed once there is only one reference for that cursor type and the
object is destroyed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the cursor ungrabbing branch depends on the type (m_type member), if it
changes the cursor will not be ungrabbed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>