Skip to content
Snippets Groups Projects
Commit 1b5648b5 authored by Aurindam Jana's avatar Aurindam Jana
Browse files

CrumblePath: Fix Crash


QWidget::mousePressEvent() closes the widget if the position is
not within the rect. A subsequent call to update() amounts to
accessing potentially corrupt memory. Hence call update() before
calling QWidget::mousePressEvent().

Change-Id: I850471d3a1dfdb0a4f0541a69fd2f239dbf8b5fa
Reviewed-by: default avatarKai Koehne <kai.koehne@nokia.com>
parent 30fc5d56
No related branches found
No related tags found
No related merge requests found
...@@ -173,34 +173,34 @@ void CrumblePathButton::tintImages() ...@@ -173,34 +173,34 @@ void CrumblePathButton::tintImages()
void CrumblePathButton::leaveEvent(QEvent *e) void CrumblePathButton::leaveEvent(QEvent *e)
{ {
QPushButton::leaveEvent(e);
m_isHovering = false; m_isHovering = false;
update(); update();
QPushButton::leaveEvent(e);
} }
void CrumblePathButton::mouseMoveEvent(QMouseEvent *e) void CrumblePathButton::mouseMoveEvent(QMouseEvent *e)
{ {
if (!isEnabled()) if (!isEnabled())
return; return;
QPushButton::mouseMoveEvent(e);
m_isHovering = true; m_isHovering = true;
update(); update();
QPushButton::mouseMoveEvent(e);
} }
void CrumblePathButton::mousePressEvent(QMouseEvent *e) void CrumblePathButton::mousePressEvent(QMouseEvent *e)
{ {
if (!isEnabled()) if (!isEnabled())
return; return;
QPushButton::mousePressEvent(e);
m_isPressed = true; m_isPressed = true;
update(); update();
QPushButton::mousePressEvent(e);
} }
void CrumblePathButton::mouseReleaseEvent(QMouseEvent *e) void CrumblePathButton::mouseReleaseEvent(QMouseEvent *e)
{ {
QPushButton::mouseReleaseEvent(e);
m_isPressed = false; m_isPressed = false;
update(); update();
QPushButton::mouseReleaseEvent(e);
} }
void CrumblePathButton::changeEvent(QEvent *e) void CrumblePathButton::changeEvent(QEvent *e)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment