Hi,
Recently I ran into a crash while doing drag-n-drop on some application that
uses QPlainTextEdit from Qt 4.6.3. The crash happens when the text being
dropped is large, causing the QPlainTextEdit to have a vertical scroll bar. I
was able to fix it with the following patch:
diff -r 15465e31ff34 -r f8e5f70a5f95 src/gui/widgets/qplaintextedit.cpp
--- a/src/gui/widgets/qplaintextedit.cpp Thu Apr 12 14:41:58 2018 -0700
+++ b/src/gui/widgets/qplaintextedit.cpp Mon Apr 23 16:21:28 2018
+0530
@@ -673,7 +673,8 @@
return;
QRectF lr = br;
QTextLine line = block.layout()->lineForTextPosition(position -
block.position());
- Q_ASSERT(line.isValid());
+ if (!line.isValid())
+ return;
lr = line.naturalTextRect().translated(br.topLeft());
if (lr.bottom() >= visible.bottom() || (center && lr.top() <
visible.top()) || forceCenter){
Apparently this has been reported before here
https://bugreports.qt.io/browse/QTBUG-30018 , and fixed only in the Qt Creator.
I didn’t run into the Q_ASSERT because I didn’t try it with a debug version of
Qt.
Questions:
1. Is this the right way to fix the problem?
2. Is it fixed in Qt5? I don’t think so, but I am not sure.
3. If this is the right fix, can someone please submit it on my behalf?
Regards,
Thiago
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development