[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