summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dist/changes-4.7.057
-rw-r--r--src/gui/itemviews/qheaderview.cpp2
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp4
-rw-r--r--tests/auto/qheaderview/tst_qheaderview.cpp21
-rw-r--r--tests/auto/qiodevice/tst_qiodevice.cpp26
5 files changed, 102 insertions, 8 deletions
diff --git a/dist/changes-4.7.0 b/dist/changes-4.7.0
index c19bf15..5f585c1 100644
--- a/dist/changes-4.7.0
+++ b/dist/changes-4.7.0
@@ -32,7 +32,10 @@ New features
- QNetworkSession, QNetworkConfiguration, QNetworkConfigurationManager
* New bearer management classes added.
-
+
+ - QStaticText class was added to support high-performance output of
+ seldomly altered text.
+
Third party components
----------------------
@@ -74,14 +77,14 @@ QtCore
QtGui
-----
-
+
- QAbstractItemView
* Fixed a bug that would cause keyboard searches not to behave
properly when used within 400 milliseconds of midnight.
- QComboBox
* [QTBUG-8796] Made ForegroundRole work for all styles.
-
+
- QPrinter
* Obsoleted the slightly confusing setNumCopies() and numCopies()
functions, and replaced them with setCopyCount(), copyCount() and
@@ -156,10 +159,28 @@ QtGui
- QSplitter
* [QTBUG-9335] Improve support for 1-pixel splitters by using a
larger drag area.
-
+
+ - QTextDocumentWriter
+ * Fixed tab-stops and table padding in ODF export.
+
+ - QTextLayout
+ * [QTBUG-11427] Fix possible crash in QTextLayout for glyphless
+ items.
+ * [QTBUG-8864] Fix regression in right alignment of text with
+ negative right bearing.
+
- QTransform
* [QTBUG-8557] Fixed bug in QTransform::type() potentially occuring
after using operator/ or operator* or their overloads.
+
+QtOpenGL
+--------
+ - Improve performance of text by adding special cased fragment shader.
+
+ - Made width and height of glyph cache power-of-two for performance
+ improvements on some hardware.
+
+ - [QTBUG-9706] Improved appearance of text antialiasing.
QtNetwork
---------
@@ -234,7 +255,19 @@ Qt for Linux/X11
- QGtkStyle
* Fixed rtl issues with sliders (QTBUG-8986)
* Fixed missing pressed appearance on scroll bar handles. (QTBUG-10396)
-
+
+ - QFontDatabase
+ * [QTBUG-4428] Fixed regression when using bitmap fonts on some
+ Linux systems.
+
+ - QFontEngine
+ * [QTBUG-9442] Avoid possible square root of negative number in
+ FreeType font engine.
+
+ - QFontMetrics
+ * [QTBUG-10448] Fix crash when using fonts in non-gui QApplication.
+
+
Qt for Windows
--------------
- Popup windows now implicitly activate when shown. (QTBUG-7386)
@@ -252,6 +285,20 @@ Qt for Mac OS X
* Removed frame around statusbar items. (QTBUG-3574)
* More native appearance of item view headers and frames. (QTBUG-10047)
+ - QFontEngine
+ * Enable fractional metrics for the font engine on Mac in all
+ stages of text layout.
+ * [QTBUG-5529] Enable design metrics for correct character spacing
+ in ATSUI font engine. (Mac/Carbon)
+
+- QTextDocument
+ * [QTBUG-8791] Fix misalignment of fixed width fonts between
+ format changes on Cocoa.
+
+ - QTextLayout
+ * [QTBUG-9879] Fix off-by-one in vertical position for elided and
+ non-elided text.
+
Qt for Embedded Linux
---------------------
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index cd9ee15..67854a3 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -1871,7 +1871,7 @@ void QHeaderViewPrivate::_q_layoutChanged()
for (int i = 0; i < oldSectionHidden.count(); ++i) {
if (oldSectionHidden.testBit(i))
- q->setSectionHidden(logicalIndex(i), false);
+ q->setSectionHidden(i, false);
}
// the number of sections changed; we need to reread the state of the model
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index c297eea..b4d030c 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -59,6 +59,8 @@
#include <QtCore/qvarlengtharray.h>
#include <QLibrary> // for loading the security lib for the CA store
+QT_BEGIN_NAMESPACE
+
#if defined(Q_OS_MAC)
#define kSecTrustSettingsDomainSystem 2 // so we do not need to include the header file
PtrSecCertificateGetData QSslSocketPrivate::ptrSecCertificateGetData = 0;
@@ -72,8 +74,6 @@
#include <QtCore/private/qcore_symbian_p.h>
#endif
-QT_BEGIN_NAMESPACE
-
bool QSslSocketPrivate::s_libraryLoaded = false;
bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
diff --git a/tests/auto/qheaderview/tst_qheaderview.cpp b/tests/auto/qheaderview/tst_qheaderview.cpp
index f6cd4e3..da0a0bb 100644
--- a/tests/auto/qheaderview/tst_qheaderview.cpp
+++ b/tests/auto/qheaderview/tst_qheaderview.cpp
@@ -193,6 +193,7 @@ private slots:
void QTBUG6058_reset();
void QTBUG7833_sectionClicked();
void QTBUG8650_crashOnInsertSections();
+ void QTBUG12268_hiddenMovedSectionSorting();
protected:
QHeaderView *view;
@@ -2071,5 +2072,25 @@ void tst_QHeaderView::QTBUG8650_crashOnInsertSections()
model.insertColumn(0, items);
}
+void tst_QHeaderView::QTBUG12268_hiddenMovedSectionSorting()
+{
+ QTableView view;
+ QStandardItemModel *model = new QStandardItemModel(4,3, &view);
+ for (int i = 0; i< model->rowCount(); ++i)
+ for (int j = 0; j< model->columnCount(); ++j)
+ model->setData(model->index(i,j), QString("item [%1,%2]").arg(i).arg(j));
+ view.setModel(model);
+ view.horizontalHeader()->setMovable(true);
+ view.setSortingEnabled(true);
+ view.sortByColumn(1, Qt::AscendingOrder);
+ view.horizontalHeader()->moveSection(0,2);
+ view.setColumnHidden(1, true);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ QCOMPARE(view.horizontalHeader()->hiddenSectionCount(), 1);
+ QTest::mouseClick(view.horizontalHeader()->viewport(), Qt::LeftButton);
+ QCOMPARE(view.horizontalHeader()->hiddenSectionCount(), 1);
+}
+
QTEST_MAIN(tst_QHeaderView)
#include "tst_qheaderview.moc"
diff --git a/tests/auto/qiodevice/tst_qiodevice.cpp b/tests/auto/qiodevice/tst_qiodevice.cpp
index 356e2f8..7048754 100644
--- a/tests/auto/qiodevice/tst_qiodevice.cpp
+++ b/tests/auto/qiodevice/tst_qiodevice.cpp
@@ -72,6 +72,7 @@ private slots:
void read_QByteArray();
void unget();
void peek();
+ void peekAndRead();
void getch();
void putch();
@@ -354,6 +355,31 @@ void tst_QIODevice::peek()
QFile::remove("peektestfile");
}
+void tst_QIODevice::peekAndRead()
+{
+ QByteArray originalData;
+ for (int i=0;i<1000;i++)
+ originalData += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ QBuffer buffer;
+ QFile::remove("peektestfile");
+ QFile file("peektestfile");
+
+ for (int i = 0; i < 2; ++i) {
+ QByteArray readData;
+ QIODevice *device = i ? (QIODevice *)&file : (QIODevice *)&buffer;
+ device->open(QBuffer::ReadWrite);
+ device->write(originalData);
+ device->seek(0);
+ while (!device->atEnd()) {
+ char peekIn[26];
+ device->peek(peekIn, 26);
+ readData += device->read(26);
+ }
+ QCOMPARE(readData, originalData);
+ }
+ QFile::remove("peektestfile");
+}
+
void tst_QIODevice::getch()
{
#ifdef QT3_SUPPORT