[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.6/kdesdk/okteta/kasten/controllers/view/poddecoder
From: Friedrich W. H. Kossebau <kossebau () kde ! org>
Date: 2011-01-31 22:09:12
Message-ID: 20110131220912.51E883E1F1 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1218179 by kossebau:
fixed: crashed if an editor for any float type in the Decoding Table tool \
was closed while having uncomplete data
reason: QLineEdit only emits editingFinished() if validator() returns \
QValidator::Acceptable, so in that case mEditor was not set to 0. Now \
catching deconstruction of any editor with QPointer.
BUG: 259867
FIXED-IN: 0.6.1
M +3 -0 branches/KDE/4.6/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.cpp \
M +2 -1 branches/KDE/4.6/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.h \
M +3 -0 trunk/KDE/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.cpp \
M +2 -1 trunk/KDE/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.h \
--- branches/KDE/4.6/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.cpp \
#1218178:1218179 @@ -71,6 +71,9 @@
}
// make sure only editors are created which have a readOnly property
+// also beware that for subclasses of QLineEdit (all float editors) the \
signal +// editingFinished() is only emitted if validator() returns \
QValidator::Acceptable +// so onEditorDone() is not reached if \
QValidator::Intermediate QWidget* PODDelegate::createEditor( QWidget* \
parent, const QStyleOptionViewItem& option, const QModelIndex& index ) \
const {
QWidget* result;
--- branches/KDE/4.6/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.h \
#1218178:1218179 @@ -25,6 +25,7 @@
// Qt
#include <QtGui/QStyledItemDelegate>
+#include <QtCore/QPointer>
namespace Kasten
@@ -61,7 +62,7 @@
protected:
PODDecoderTool* mTool;
- mutable QWidget* mEditor;
+ mutable QPointer<QWidget> mEditor;
};
}
--- trunk/KDE/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.cpp \
#1218178:1218179 @@ -71,6 +71,9 @@
}
// make sure only editors are created which have a readOnly property
+// also beware that for subclasses of QLineEdit (all float editors) the \
signal +// editingFinished() is only emitted if validator() returns \
QValidator::Acceptable +// so onEditorDone() is not reached if \
QValidator::Intermediate QWidget* PODDelegate::createEditor( QWidget* \
parent, const QStyleOptionViewItem& option, const QModelIndex& index ) \
const {
QWidget* result;
--- trunk/KDE/kdesdk/okteta/kasten/controllers/view/poddecoder/poddelegate.h \
#1218178:1218179 @@ -25,6 +25,7 @@
// Qt
#include <QtGui/QStyledItemDelegate>
+#include <QtCore/QPointer>
namespace Kasten
@@ -61,7 +62,7 @@
protected:
PODDecoderTool* mTool;
- mutable QWidget* mEditor;
+ mutable QPointer<QWidget> mEditor;
};
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic