[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bknights=5D_src=3A_Don=27t_crash_when_you_drag_=26_d?=
From: José_Manuel_Santamaría_Lema <panfaust () gmail ! com>
Date: 2011-02-26 20:58:44
Message-ID: 20110226205844.6AEB7A60BB () git ! kde ! org
[Download RAW message or body]
Git commit 15f60030adca584f5e787dd48cf0b65aa0e0c3af by José Manuel Santamaría Lema.
Committed on 23/02/2011 at 17:50.
Pushed by joselema into branch 'master'.
Don't crash when you drag & drop a piece without valid moves.
M +1 -1 src/board.cpp
M +2 -1 src/board.h
http://commits.kde.org/knights/15f60030adca584f5e787dd48cf0b65aa0e0c3af
diff --git a/src/board.cpp b/src/board.cpp
index f695859..fc96e43 100644
--- a/src/board.cpp
+++ b/src/board.cpp
@@ -288,7 +288,7 @@ void Board::mousePressEvent ( QGraphicsSceneMouseEvent* e )
void Board::mouseMoveEvent ( QGraphicsSceneMouseEvent* e )
{
QPoint delta = e->screenPos() - dragStartPoint;
- if ( delta.manhattanLength() >= QApplication::startDragDistance() )
+ if ( (delta.manhattanLength() >= QApplication::startDragDistance()) && drag )
{
drag->exec();
}
diff --git a/src/board.h b/src/board.h
index 55aac0a..34dee53 100644
--- a/src/board.h
+++ b/src/board.h
@@ -28,6 +28,7 @@
#include <QtGui/QGraphicsScene>
#include <QtCore/QMap>
#include <QtCore/QSet>
+#include <QtCore/QPointer>
class QDrag;
@@ -87,7 +88,7 @@ namespace Knights
void removeFrame();
void centerAndResize ( Item* item, QSize size, bool animated = true );
PieceType getPromotedType();
- QDrag* drag;
+ QPointer<QDrag> drag;
bool m_paused;
int m_tileSize;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic