Since we now have QBasicMutex as a POD, we can simplify the mutexpool.
This remove the call the the Q_GLOBAL_STATIC and some others tests that
are taking CPU cycles when activating a signal.
The QMutexPool class itself can't be simplified because its mutex are
recursive mutexes, and the size is dynamic. also it is harder to get all
the mutexes initialized to 0.
Change-Id: Ie781655635907d2ad620eb189099cba14638414f
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/2171
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
And added a POD QBasicMutex. (QBasicMutex* can safely be
static_cast'ed to QMutex*)
The d pointer is not anymore always a QMutexPrivate.
If d == 0x0: the mutex is unlocked
If d == 0x1: the mutex is locked, uncontended
On linux:
if d == 0x3: the mutex is locked contended, waiting on a futex
If d is a pointer, it is a recursive mutex.
On non-linux platforms:
When a thread tries to lock a mutex for which d == 0x1, it will try to
assing it a QMutexPrivated (allocated from a freelist) in order to wait
for it.
Change-Id: Ie1431cd9402a576fdd9a693cfd747166eebf5622
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/2116
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
This one-line change makes the binary search in QTextEngine::findItem
behave consistently with the linear search that it replaced in commit
acf678e57ed088f3e56a551cac6c7c3322005750. The new behavior seems to
cause crashes in kword (and perhaps other applications) by triggering a
logClusters assert, although I have been unable to create a unit test
that reproduces this.
Task-number: QTBUG-17209
Done-by: Dr. Robert Marmorstein <robert@narnia.homeunix.com>
Change-Id: I68b79f024e9836e1cc8b0f3514889120541eb2ea
Reviewed-on: http://codereview.qt.nokia.com/2343
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
QtDBus requires a QVariant argument to be passed to property reads and
writes. For performance reasons QtDeclarative does not do this. By
flagging the meta object as requiring this, QtDeclarative can do so only
required.
Task-number: QTBUG-15052
Change-Id: I032c946f079523f5f10217ed56642fb315265d9f
Reviewed-on: http://codereview.qt.nokia.com/2365
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
When a table that is related to in a QSqlRelationalTableModel gets
updated in some way (e.g. a new row, or the data is changed) then the
related model could not be updated without recreating the
QSqlRelationalTableModel.
Now, to get around this, select() can be called on the related model to
get it to be updated.
Task-number: QTBUG-7885
Reviewed-by: Charles Yin
Reviewed-by: Michael Goddard
Change-Id: Ic589e840234f3a809bcb112a807a87afe0bc25ca
(cherry picked from commit 2c60a4f67f9fb02f3b711fe749b2f293a07b4e02)
Reviewed-on: http://codereview.qt.nokia.com/2224
Reviewed-by: Charles Yin <charles.yin@nokia.com>
Mark the selection as dirty if an input method event contains a
selection and emit selectionChanged() if it's not emitted by
finishChange().
Task-number: QTBUG-19731
Change-Id: Ief6f06f40071f64dae4db0ba365676c059a39c7e
Reviewed-on: http://codereview.qt.nokia.com/2081
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
The timer id allocator doesn't need a paylod (hence T=void), but we want
to tune the allocation 'strategy.' We allocate a maximum of 6 blocks
(like before), but the first block is twice as large as before and is
not static writable anymore. The initial value is 1 (0 is not a valid
timer id), but otherwise the constants are the same as the defaults.
Change-Id: Ied49ff4d7a6a8d69bc8c7bfa5475e4111446659f
Reviewed-on: http://codereview.qt.nokia.com/2161
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
This is a generic implementation of the lock-free free list found in
qabstracteventdispatcher.cpp. Use next() to get the next free entry in
the list, and release(id) when done with the id.
This version is templated and allows having a payload which can be
accessed using the id returned by next(). The payload is allocated and
deallocated automatically by the free list, but *NOT* when calling
next()/release(). Initialization should be done by code needing it after
next() returns. Likewise, cleanup should happen before calling
release(). It is possible to have use 'void' as the payload type, in
which case the free list only contains indexes to the next free entry.
Autotest included.
Change-Id: Ifd12a961d47f3d76593c45061f72e55c9b80a43b
Reviewed-on: http://codereview.qt.nokia.com/2160
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
This is very much useful to be able to write things like
myTabWidget->tabBar()->setSelectionBehaviorOnRemove( QTabBar::SelectPreviousTab );
without subclassing QTabWidget.
Change-Id: Ic7c42709ea1086631d37f90f184b058c4b6e9601
Merge-request: 3
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/2172
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
`load(qt_module_config)' clobbers DESTDIR.
Rearrange the order so that our setting of DESTDIR works as intended.
Change-Id: Id6f02e9fb55069fae9b2a75c9d0f51578b84f4d1
Reviewed-on: http://codereview.qt.nokia.com/2130
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
There has been a few reports of user confusion from the fact that the
constData and data functions return results in column-major format.
There is nothing in the doc anywhere that states this, and nothing
states that the class is especially for OpenGL which would give a clue
at least.
Change-Id: I3a9afde0fbeb8b9d2bcba6a387620b60a56774b9
Reviewed-on: http://codereview.qt.nokia.com/2066
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Julian de Bhal <julian.debhal@nokia.com>
Check if the input method removes the selection and force emit
selectionChanged if it sets a new selection.
Task-number: QTBUG-19727
Reviewed-by: Martin Jones
Change-Id: Ic8ea1044d0917aac4e52368f431ac9e5c7db7c56
Reviewed-on: http://codereview.qt.nokia.com/2076
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
A reversed selection will have the same resolved start and end
positions but a different cursor position so testing the end points
alone doesn't guarantee the selection is the same.
Task-number: QTBUG-19456
Reviewed-by: Martin Jones
Change-Id: I516e5a501ec878d673f21e54d688fd2d21b624ef
Reviewed-on: http://codereview.qt.nokia.com/2080
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
The actual file defined in `sync.profile' and generated
by 'syncqt' is `qttestversion.h' instead of `qttestlibversion.h'
Change-Id: I90ed2d5b7cd9f98855a878c97afceced01e7e8b0
Reviewed-on: http://codereview.qt.nokia.com/2050
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
The headers are just skipped, information stored in them is ignored.
Merge-request: 824
Change-Id: I48f37757114ed83cd5c92cb3d5a43eeaca4b91b3
Reviewed-on: http://codereview.qt.nokia.com/2108
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
According to the C++ standard, there is no guarantee that
you can cast between function pointers and void pointers
without data loss (section 5.2.10-6).
Change-Id: I27f4d835e4c8ca8ecca0d76cfea9ce34491956bd
Reviewed-on: http://codereview.qt.nokia.com/1995
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Putting the logic inside supportsTransformation() is a bit confusing and
that name is misleading.
Also move the same check in GL2 paint engine to the same place.
Change-Id: I182500a0ff375122e6be966b7ce2495c84d113d0
Reviewed-on: http://codereview.qt.nokia.com/2096
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
If QT_GUI_PASSWORD_ECHO_DELAY is defined in qplatformdefs.h with an
integer value in milliseconds, QLineEdit and TextInput will display
the last character entered unmasked for that delay period and then
mask the character as normal. If QT_GUI_PASSWORD_ECHO_DELAY is
not defined then the behaviour is unchanged.
Task-number: QTBUG-17003
Reviewed-by: Martin Jones
(cherry picked from commit f9e7aee2019d321edd655bfde7de43f20a106971)
Conflicts:
src/declarative/graphicsitems/qdeclarativetextinput.cpp
tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
Change-Id: I3683223189b7176e4ef5081ee315c95a0efb9cfe
Reviewed-on: http://codereview.qt.nokia.com/2060
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Before, it was the length + 1, to include the ending \0 (for historical
reasons)
Having it the actual length is more intuitive and less error prone
Also added QT_ASCII_CAST_WARN to QConcatenable<QByteArray>::appendTo
to show the warnig that convertion from ascii to qstring occurs.
Change-Id: Ie7c8552b6b4e7ccb393cb09f5f0ca9b00336c714
Reviewed-by: thiago
Reviewed-on: http://codereview.qt.nokia.com/1988
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
This requires a fix for QByteArrayLiteral to work too.
Change-Id: I3c2a50ad431d5b0c014a341e675fa54e7b206e70
Merge-request: 27
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1967
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
The commit 412ef92162 introduced a fix, but the
fix was incomplete. Fix it for good.
Change-Id: I3e7fbdb294f8e960fbbf2e830790750240ed813a
Merge-request: 30
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1991
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
The problem was that with an empty filename and index of 0, all raw fonts
loaded from data had the same FaceId, and we wouldn't bother to load
another one after doing this once.
This commit introduces a uuid in FaceId to help distinguish them in
that case.
Change-Id: I93655ff07a7d8856af1f854024e207c519f8ed1a
Reviewed-on: http://codereview.qt.nokia.com/1882
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Before, it was the length + 1, to include the ending NUL or
U+0000. This avoids mistakes of -1 in QStringBuilder and will allow us
simpler code in the User-Defined Literal (future improvement)
Change-Id: I75c47d6c44579124888f925e240817229347dc70
Merge-request: 31
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1966
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
That macro is a nightmare. It leads to writing code that is
thread-unsafe or other problems. So rewrite the code that used this
macro to use special-purpose classes with constructors.
This commit does not introduce new errors. The FIXME in qicon.cpp
(qtIconCache()) was a condition already present. It does fix the race
conditions that were present in qbrush.cpp nullBrushInstance() and
qfontengine.cpp qt_grayPalette().
Specialising QGlobalStatic is also evil.
Change-Id: I039311f6a5ac9ea4ad7b310b870a2adf888da7e5
Merge-request: 10
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1895
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
forward port from d7b688870aead912690188b324d370b920a7a600
Task-number: QTBUG-16607
Reviewed-by: Michael Goddard
(cherry picked from commit c89c7ebd2600f916eab937cb4853707ab066bc25)
Change-Id: I5130fcaaeb162b38c015f8649e83cbf820fb8a44
Reviewed-on: http://codereview.qt.nokia.com/1807
Reviewed-by: Charles Yin <charles.yin@nokia.com>
This is needed in order to get proper font fallback, and incidentally
webfonts, working in QtWebKit.
See: https://bugs.webkit.org/show_bug.cgi?id=55036
Internal for now, maybe it could be made public for a future release.
Task-number: QTBUG-15575
Change-Id: I5c454689125cd9d5fda26ff2149208ed1beec24d
Reviewed-on: http://codereview.qt.nokia.com/1829
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Instead of having #ifdefs for the type of qreal, simply provide
overloads for both types.
Change-Id: I58582f57d5cd68fcad3fe9efb5fea5935f61b9e3
Merge-request: 17
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1542
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Instead of using a simple INNER JOIN, like:
SELECT a,b,rel.c FROM table1, table2 WHERE (table1.smthing =
table2.smthing)
which doesn't show row where foreign keys are NULL, allow use of LEFT
JOIN like:
SELECT a,b,rel.c FROM table1 LEFT JOIN table2 ON table1.smthing =
table2.smthing
The trick works also for multi-relational tables.
Just remember to use the new API setJoinMode.
Signed-off-by: DaNiMoTh <jjdanimoth@gmail.com>
Task-number:QTBUG-8217
Reviewed-by:Michael Goddard
Reviewed-by:Charles Yin
Merge-request: 2576
Reviewed-by: Charles Yin <charles.yin@nokia.com>
(cherry picked from commit c4280dbd9bb37cca21d007f5f8b9217f80b44043)
Change-Id: I349f9418e4859923977942add59872b000cac2c5
Reviewed-on: http://codereview.qt.nokia.com/1853
Reviewed-by: Charles Yin <charles.yin@nokia.com>
Since Lion, Core Text starts to return fractional values for
x origin in the glyph bounding box. To get correct alignment
we need to make it integer, it seems that round will cut certain
pixels (x = 0.6 will be round to 1, then that glyph will be moved
too much to the left in image glyph cache). Reverting 4297b85a
appears to work fine on previous version of Mac OS X as well.
This change will not affect Windows (DirectWrite) and FreeType
font engines since they both return integer values for that.
Change-Id: I830f5b0bd27cad3a3a84b157da428134fb979703
Reviewed-by: Eskil
Reviewed-on: http://codereview.qt.nokia.com/1667
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Mount points are no symlinks. Period.
This was a regression to 4.7 which broke building Qt in a mount point.
Change-Id: Ib36688d7d394bbb7ab52629f8273c7fe4c0d7be8
Reviewed-by: Thomas Hartmann
Task-number: QTBUG-20431
Reviewed-on: http://codereview.qt.nokia.com/1830
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Fix the test tst_Moc::oldStyleCasts()
(The test make sure moc do not generate old C cast, by compiling the
generated code and testing for gcc warning. But if it is present in the
public header, the warning will be shown)
Change-Id: I2fd3d01e7d78639d97bea021c200afbe2caae85f
Reviewed-on: http://codereview.qt.nokia.com/1772
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
The patch implements periodic clearing of the point states when no
activity occurs (i.e. no ev_syn is coming at all, meaning that most
probably all the fingers are already up) and also moves the entire
functionality into a separate thread even when used as a plug-in.
Change-Id: Ib1daa738085b61af9b07eb8a284416e5a3fcabe8
Reviewed-on: http://codereview.qt.nokia.com/1744
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
In Qt 4.8 this generated a warning. For Qt 5 we should no longer
accept file urls without a scheme set. So you should use file://
for local files.
Change-Id: I57789e2b56b712aa4f370aec9437c6febf0d0211
Reviewed-on: http://codereview.qt.nokia.com/1822
Reviewed-by: Markus Goetz
The problem is that for some reasons, QByteArray::shared_null (and
probably shared_empty, and the ones for QString) are not in the .rodata
anymore, and they are initialized by code.
programs like QMake, which has others global objects (like global
QFiles) that uses QByteArray crashes, because they reference and
dereference shared_null (and try to destroy shared_null)
That happens before shared_null's refcount is initialized to -1
The solution here is not to ref() the objects that have a refcount of 0
(that is what the refcount is before it is initialized to -1)
The real fix to this problem would be to understand why it is not in the
proper section, and make sure it is.
Change-Id: I5b7e966ed4c460b90dba70855f4dc50685dff97f
Reviewed-on: http://codereview.qt.nokia.com/1712
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Moved the red-black tree class so it can be used outside the
triangulator as well.
Change-Id: I1d63fc88502e8e6c390cac2820c0ce45721cda79
Reviewed-on: http://codereview.qt.nokia.com/1710
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Recalculate how much time is remaining.
This commit needs to be backported to 4.8.
Change-Id: Ib587335bb90306e65969bb26256fb388f8f6bd24
Merge-request: 20
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1666
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
removing the NoCategory enum value caused all category flags to change.
not an issue for qchar where they were used properly, but an issue for qregexp
where the hardcoded values were used instead.
the `all_cats` could be set to `FLAG(QChar::Symbol_Other + 1) - 1` which is shorter,
but I don't want hardcode the values in order to avoid similar issues in he future
Change-Id: Ie3ae2fca1b01d5911b834f439a0a6216766b8a20
Merge-request: 21
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1696
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
there are return statements between locking and unlocking, so to not
leave the mutex locked when returning, this commit introduces a
QMutexLocker.
Change-Id: I74e2f329bf116e92250189bf097deb47d460d9dc
Reviewed-on: http://codereview.qt.nokia.com/1656
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Markus Goetz
According to UAX #9, bidiItemize should act as if those characters
don't exist. If we don't, dir and status.eor here may become
QChar::DirBN, thus interfere the result of bidiItemize.
Task-number: QTBUG-19949
Reviewed-by: Lars Knoll
(cherry picked from commit a5c3064439a9f1483565e5d9dfbf0342cd9236f0)
Change-Id: I224cfdf5b38433a31d33b6d944d5770accf74546
Reviewed-on: http://codereview.qt.nokia.com/1631
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Loading app fonts will clear the application font cache, but
QFontPrivate::engineWithScript will try to load the font again,
in Mac the font engine used here must be the one used for shaping,
because subsequent sub font engines may be added to it during the
shaping process (QCoreTextFontEngineMulti::stringToCMap). That is
why we need to fetch the font engine directly from QTextEngine's
fontEngine cache instead of QFontCache.
Task-number: QTBUG-20250
Reviewed-by: Eskil
(cherry picked from commit 1f90ae36cff8acf581d1624bf011fe3a55c623c0)
Change-Id: Ibc0054cd7df65b65a67af4a7b15027731ba417fe
Reviewed-on: http://codereview.qt.nokia.com/1630
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Because we have moved alignLine from qtextlayout.cpp to QTextEngine,
this patch has to be applied manually.
Reviewed-by: TrustMe
(cherry picked from commit 705416cdc8ee91ac88d80298dbe2971a9384c196)
Change-Id: Ibd657a52da1c510c839623738d49602b5c4a0824
Reviewed-on: http://codereview.qt.nokia.com/1640
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Shouldn't use size bigger than the original (source) pixels buffer
or the new one (just allocated).
Task-number: QTBUG-18547
Reviewed-by: aavit
(cherry picked from commit 348894a550510e54e7709d18676b4b10c9e5e9e3)
Change-Id: I7cc373b7d0f1ffef2d2f0cdddb7018c856849d29
Reviewed-on: http://codereview.qt.nokia.com/1635
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Since the attributes() call might resize the layout and therefore
delete the previous data, the logClusters pointer might be dangling
at this point. We need to reget it to make sure it's valid.
Task-number: QTBUG-20310
Reviewed-by: Jiang Jiang
(cherry picked from commit c0772f44fb1d53608ff629fc622103698c6d0ee5)
Change-Id: I20a29d0c529764eb5d41cb3383c22b6cad8de255
Reviewed-on: http://codereview.qt.nokia.com/1598
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
this makes the version based checks a bit simpler (and thus faster)
Change-Id: I975c6d043d238a5c16a4b13f8379e87fbade23cc
Reviewed-on: http://codereview.qt.nokia.com/1586
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
there is no such category in the Unicode specs. the QChar::NoCategory
was a subject of bugs since it was introduced. int 4.6 it's meaning was
limited to mention ucs4 > UNICODE_LAST_CODEPOINT only (which is useless anyways)
in order to preserve the old (wrong) behavior.
fix it now for qtbase
Change-Id: I630534824e071090b39772881e747c1fdb758719
Reviewed-on: http://codereview.qt.nokia.com/1584
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
MSVC apparently doesn't like the way the QString::Data
pointers got initialized.
Also fixed a few warnings about signed/unsigned conversions.
Change-Id: I1267979af7601129e5483f8785d4982a1f2f8182
Reviewed-on: http://codereview.qt.nokia.com/1558
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
It happened when the scene gets deleted after ~QApplication has been
called.
test case:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene *scene = new QGraphicsScene(&a);
return 0;
}
Change-Id: I74d4023c9575242a2e334b2c786e00d0686c452b
Reviewed-on: http://codereview.qt.nokia.com/1544
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
It's silly to round integeres, since they are already round. At most,
this would waste CPU cycles without any benefit.
Change-Id: I6fc0152f4416d723b65966e5d48cc7a07957b83c
Merge-request: 17
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1541
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This eliminates some code (header parsing) that can be done by
zlib already.
Add support for 'deflate' encoding.
Also do less memory copying while uncompressing.
Change-Id: I94de21e3c58b904dd91d004c375ed8cbea56cb0b
Task-Number: QTBUG-13191
Reviewed-on: http://codereview.qt.nokia.com/1314
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Markus Goetz
Currently it is only possible to verify a certificate chain when
connecting to a server. This change makes it possible to verify a
chain at any time.
Change-Id: Ib70ad7b81418f880e995f391b82ce59561ededb8
Merge-request: 11
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1509
Similar refactoring as done for QString. Make
shared_null read-only, and add support for
compile time generated QByteArrayData.
Add support for properly reserving capacity.
Change-Id: Ie4c41d4caac7b3b4bb1aef40c1c860a30b82edb8
Reviewed-on: http://codereview.qt.nokia.com/1484
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
It is better to use QSharedData which is a common interface for ref
counting.
Change-Id: I990476d6763901bf383f241bce16fe26665b021c
Reviewed-on: http://codereview.qt.nokia.com/1439
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
To be used to versionize deprecated symbols
Symbols deprecated in Qt 5.0 need to be inlined
Change-Id: I696a834c25b7e86acf14ae081ea91ef993a5b19e
Reviewed-on: http://codereview.qt.nokia.com/431
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
RFC 2459 "Internet X.509 Public Key Infrastructure" uses the word
"attribute" for fields in a certificate like common name, organization
etc.
Change-Id: I51e595acbe3e146acf81af21cf48e554fa9490e4
Reviewed-on: http://codereview.qt.nokia.com/1453
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
It is better to use QSharedData and QExplicitlySharedDataPointer then
doing manual ref counting.
Change-Id: I5674046141701bd48a53415ab96fcb6b538e79e6
Reviewed-on: http://codereview.qt.nokia.com/1440
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
It is better to use QSharedData and QExplicitlySharedDataPointer then
doing manual ref counting.
Change-Id: Icbb06d92102bcc906291238c5895a05e8d0e6de1
Reviewed-on: http://codereview.qt.nokia.com/1438
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Moves the code for extracting the name of an ASN1_OBJECT to a function.
We're going to need this again for implementing support for X509
extensions.
Change-Id: I43276eb375b37f5fef0d981f4003220d7e7b81ba
Merge-request: 18
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1452
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Add methods that return a list of the tags in use in a certificate
issuer or subject. This means that unknown elements of these fields can
be accessed.
Change-Id: I588989e34f541b1d31cc9e97f5a85d1624ece1b1
Merge-request: 18
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1451
The internals of QSslCertificate were using QString but the API used
QByteArray, this commit unifies the code. This means that we don't keep
converting things.
Change-Id: I29fc149a85b77e786a6e90e5154c62f713476599
Merge-request: 18
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1450
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Previously, x509 name entries that didn't have a shortname would all be
(accidentally) stored with the tag 'UNDEF'. This commit changes things
so that they are stored using the string form of their OID.
Change-Id: I667306cc4f91b1ca84f29b986bc21daadeb089b6
Merge-request: 18
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1449
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
On ARM OABI, sizeof(QChar) was 4, so we used to pack it so QChar[] was
isomorphic to ushort[]. We don't support the OABI anymore and the EABI
does the right thing.
Change-Id: I181dd2f169f6868450302e269ef9ad5d643f306f
Merge-request: 13
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1386
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This has two direct benefits:
1) compiles regardless of -fno-exceptions: no need for #ifndef
QT_NO_EXCEPTIONS or QT_TRY/QT_CATCH
2) no QT_RETHROW either, which means the backtrace of an application
crashing due to an uncaught exception will include the actual throw
point.
Change-Id: I18e5500e121bfa81431ef16699df96d962794f0e
Reviewed-on: http://codereview.qt.nokia.com/663
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
The respective value in some of the default fonts like Lucida Grande
are simply not reliable. It seems that the only reliable way to get
such information is by going through all the glyphs.
It seems that these code are not well tested on Mac and should be
removed for now since it caused visible regressions in QLineEdit
rendering.
Reviewed-by: Eskil
(cherry picked from commit 8032d6f4ced50837e126f28c1475ad89eaf91ad7)
Change-Id: I85e71a2e3228a367659be9f5f6ec3e667e0ce902
Reviewed-on: http://codereview.qt.nokia.com/1264
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>