forked from osmocom/wireshark
Qt: avoid undefined behavior in ProtoTree::eventFilter
UBSan complains about "ev" being a "QEvent" rather than a QMouseEvent. Change-Id: I9e59ffbe16df2ef20b7856e6dd2d9ef246632de6 Fixes: v2.5.0rc0-1608-g4d6454e180 ("Qt: Drag n Drop Filter expression from Packet Tree") Reviewed-on: https://code.wireshark.org/review/24338 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
This commit is contained in:
parent
0c382106f8
commit
7cbbbe0bde
|
@ -708,15 +708,17 @@ bool ProtoTree::eventFilter(QObject * obj, QEvent * event)
|
|||
if ( cap_file_ && event->type() != QEvent::MouseButtonPress && event->type() != QEvent::MouseMove )
|
||||
return QTreeWidget::eventFilter(obj, event);
|
||||
|
||||
QMouseEvent * ev = (QMouseEvent *)event;
|
||||
|
||||
if ( event->type() == QEvent::MouseButtonPress )
|
||||
{
|
||||
QMouseEvent * ev = (QMouseEvent *)event;
|
||||
|
||||
if ( ev->buttons() & Qt::LeftButton )
|
||||
dragStartPosition = ev->pos();
|
||||
}
|
||||
else if ( event->type() == QEvent::MouseMove )
|
||||
{
|
||||
QMouseEvent * ev = (QMouseEvent *)event;
|
||||
|
||||
if ( ( ev->buttons() & Qt::LeftButton ) && (ev->pos() - dragStartPosition).manhattanLength()
|
||||
> QApplication::startDragDistance())
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue