| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Commit 3ef51efbe75bfb9f1dfbe7df073e9eb745a72ad8 broke compilation of
qthread_unix.cpp on QNX. This fixes it by passing in the threadId to
setCurrentThreadName().
Change-Id: I24f32d8054baedbd9a65b6a80fb1f6f37e07092d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On the PlayBook, libscreen always seems to report the presence of a 2nd
display even when none is connected. This of course leads to the failure
to query this display for its physical size.
This patch relaxes the demand for a physical size to being for the
primary screen only.
Change-Id: If30b1fd704e7a194a426a0a9f0b85557478105f7
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
There is no GetAncestor under Windows CE.
Use GetParent instead.
Change-Id: I87b86961dade0d5c7c8bf6a470f777d32188dcd2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
QWindowsWindow::setParent_sys() was checking if window was toplevel
using non-native method, which caused wrong result in some cases
involving native windows. Changed the toplevel check to utilize
native method instead.
Task-number: QTBUG-26826
Change-Id: I72ca17c53c1ed7611f141cee17b2edaaa80c6c17
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
|
|
|
|
|
|
|
|
| |
DeleteObject parameter must be a handle, not a pointer to a handle.
Task-number: QTBUG-26835
Change-Id: Id5de2b0b067bd9fc45c1c8ead4f7d67f0162f070
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
|
|
|
|
|
|
|
|
| |
This class doesn't have an eventFilter method.
Change-Id: Ibd7b3b5b954dd2467c9b4dadd85d3613964d9f7c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two of the three operations in impl() return void, among them the
most common one, call(). Having impl() return bool prevents tail-
call optimisations for these.
Fix by passing the bool return value for Compare as an out-parameter.
Results in a nice decrease in text size
(GCC 4.8-pre -O2 -std=c++11, stripped):
text data bss dec hex filename
507343 13984 48 521375 7f49f tst_qobject (old)
505551 13984 48 519583 7ed9f tst_qobject (new)
Reported-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I7538c5b3f0992970c089e44f07244e6b62794a1d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In C++, the compiler creates extra functions and data for classes
with virtual functions. This can lead to "virtual function bloat":
http://www.boost.org/doc/libs/1_47_0/doc/html/function/misc.html#id1382504
This is especially true when the number of instances is of the same
order of magnitute as the number of derived classes, such as is
common with type erasure techniques.
One such case is the QSlotObjectBase hierarchy, which this patch
tackles.
The mechanics of this optimisation are simple: re-implement the
virtual function call mechanism by hand, with function pointers.
But we go one step further and collapse the vtable into a single
pointer to a function that implements all three currently-defined
operations, swtching on an 'int which' argument. This even allows
us to extend this in a BC way, should that become necessary later,
by adding a new Operation and using the void** argument to
transport arguments, if any.
This approach was inspired by:
Ulrich Drepper: How To Write Shared Libraries, Section 2.4.4
http://www.akkadia.org/drepper/dsohowto.pdf
Also move the QSlotObjectBase hierarchy out of QObject so as not
to export all the derived classes.
This was pointed out in review by Thiago.
Results (Linux amd64, GCC 4.8-pre -O2 -std=c++11, stripped):
size tst_qobject*
text data bss dec hex filename
523275 21192 48 544515 84f03 tst_qobject (old)
507343 13984 48 521375 7f49f tst_qobject (new)
relinfo.pl tst_qobject*
(old) tst_qobject: 473 relocations, 0 relative (0%), 240 PLT entries, 240 for local syms (100%), 0 users
(new) tst_qobject: 323 relocations, 0 relative (0%), 238 PLT entries, 238 for local syms (100%), 0 users
Change-Id: I40ad4744dde8c5c29ef62ed2d82d4b1ede178510
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QString::toLocal8Bit() will need to call QTextCodec::codecForLocale(),
which isn't the cheapest of the functions, at least the first time it's
run. So avoid calling it when in most scenarios, the name of the QObject
isn't set, and the information is purely for debugging.
Additionally, avoid allocating memory when setting the thread name to
the class name. The class name coming from the meta object is a static
constant string and we can use it directly.
Change-Id: Ief643bad87a51487b1d41c0a2f323e80bb53e8a7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Spotted by ICC:
qfreelist_p.h(127): warning #271: trailing comma is nonstandard
BlockCount = 4,
^
Change-Id: Ib64d1d19ca0514e7582a295da48cbf6705aa8c44
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ICC complains like so:
harfbuzz-gpos.c(95): warning #592: variable "error" is used before its value is set
return error;
^
However, line 95 is never executed because the condition on line 94 is
always false. That's why it's a false positive. The same construct
happens in the other two places.
Still, silence the warning.
Change-Id: I168d916d6837d4ac346facfd22b3e5b4e22ef7f0
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Make sure we pick the same config for the context and window surface,
and do not create unnecessary window surfaces for the desktop widget.
Change-Id: I3c8fb3df9ab8a658196e41dfa1705cfca625a2d7
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
|
|
|
|
|
|
| |
Change-Id: I673b884ac8513714d733411729a7418c19f05682
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
|
|
|
|
|
| |
Change-Id: I7bd1f1efe2d6ce3aee8cb7454f43cfef2979f525
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
| |
Change-Id: I225ea48606d60894a851c1dd620983b7a65d234d
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
|
|
|
|
|
| |
Change-Id: Ia3735ac14fe91de8cfbb58fc68f1a37f04d7b668
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
|
|
|
|
|
| |
Change-Id: Ic878226c3b627b445ac45f56497a6a4ae77b2d38
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
|
|
|
|
|
| |
Change-Id: If086395d3e1d151324df3cc1c59152715cb4af40
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
|
|
|
|
|
| |
Change-Id: If028d2560d7bb18c9dd3e0f5fa6677c42fbf7d4b
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is not the first time that GCC 4.2 on Mac has produced bad code
surrounding the CPUID instruction (see also commit 81d1f79a7f4b0f67d71).
So declare it broken beyond repair and don't run the instruction at all.
Instead, initialise the set of features found to be exactly that which
we detected at compile-time. For that reason, we can also disable the
runtime checking of the processor (minFeatures == detected features).
At the time of this commit, only the draw helpers and one QImage
helper make use of the runtime detection. Since the detection now
switches to compile-time, QtGui will start carrying dead code for GCC
4.2 and earlier: it will never run the SSE2/SSSE3 code on 32-bit
builds. (GCC 4.2 does not support AVX, so that code won't be built)
Note: all Clang versions report that they are GCC 4.2, so we need to
exclude it from the test; ICC reports the same version as the system's
GCC.
Change-Id: I43f168a9480a2479c6444eea175782b2eadc2ab2
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
Modeltest asserts before the patch, and passes afterward.
Task-number: QTBUG-26515
Change-Id: I08a89cd5c9c59613badcddbd056a3d0b8fbbca13
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug is that the connection to emit that signal can be made
obsolete if the connection is made too early and the model is replaced.
In the bug report, the connection is made by calling view() early (thereby
causing the creation of a view and a QItemSelectionModel which operates on
the built-in QItemSelectionModel, and then connecting to that
QItemSelectionModel), and then when QComboBox::setModel() is called later
the built-in view creates a new QItemSelectionModel for it. The bug was
that that new QItemSelectionModel is not connected to. This patch fixes that
bug.
Task-number: QTBUG-4454
Change-Id: Ibbdb8731f16ab071008b4a19dc2cc7ae03cebc84
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
| |
Change-Id: I4b9555c8a15a698ef5ce270288c88a0aa88e0033
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|
|
|
|
|
|
|
|
| |
Fix some foward references from QtCore in addition. This
will require more work.
Change-Id: Ib1bade18c2cc220a7afe25e9fca6a3f50cb1174b
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|
|
|
|
|
|
|
| |
The class is private in 5.0, we'll publish it in 5.1
Change-Id: Ia7511db0393528aafa8c8059b4eb1657c8cdcc64
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|
|
|
|
|
| |
Change-Id: I54082a87f076aa511329cfb7a6ed6ecabcfb40f7
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
The qdoc manual currently claims that the command must stand on its own line.
The change follows the consistency with the rest and how the example looks like
inside the qdoc manual for this command.
Change-Id: I6b653dc95cf9d84e4adf32220dace5d313678419
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
There are some security issues with undo/redo. User should not be
able to get the erased password back in any situation. Therefore
redo must be disabled completely and undo is limited only for erasing
previously entered text.
Task-number: QTBUG-14226
Change-Id: I2b38aca84adbad1c14db76b56ad6303d56b35b4d
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-26687
Change-Id: Iaa0197efe64c61505e22e4a63a1f5c012af0bc78
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of first creating an initialized Private struct, then overwrite
the member variables, we added an internal constructor that
initializes the private struct sanely.
In the new (inlined, internal) constructor, both the MSB bits in the
bitfield are 0, and since the value of internal meta-type ID is so
low that the two MSB bits should never be set, the compiler can
(hopefully) optimize away the bit-fiddling initialization of the bit-field.
Callgrind shows about 33% speed-up in e.g. QVariant::QVariant(int)
Change-Id: I706773a71c0d8dcbe119ad15411578b81892deb5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
|
|
|
|
|
| |
Change-Id: I48dd9b7b8dd51e1c662273eb37ac2e1f4c1c4d15
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Except where using the contents of the variable, in which case
collapse two calls to qgetenv() for the same variable into one
that stores the result in a temporary QByteArray and continues
working with that one instead.
Change-Id: I6c09a20ae946327ccb85e4833a60a373a8a07355
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
| |
In particular, static bool showRasterOverlay is safer.
Change-Id: I9df6c9a9a56d2e61b13391b6889c0ac6e259e801
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
| |
Change-Id: If983083cc7f360199716a060464344340c089236
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular, qEmergencyOut() is now completely exception-free.
Incidentally, this patch shows that Qt isn't consistent in how it
treats empty environment variables used as flags, but that is something
for a separate commit. This patch aims to be behaviour-preserving,
except in exceptional circumstances, of course.
Change-Id: Ie106e7b430e1ab086c40c81cc1e56cd0e5400cb4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
method_relative_ is unsigned, so we can't store a -1 in it.
qobject.cpp(434): warning #68: integer conversion resulted in a change of sign
callFunction_(0), method_offset_(0), method_relative_(-1)
^
Change-Id: If8bf3835590ef2c26b9ca5010d638aa84675ff62
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
| |
It seems to date from the Qt 1 days, and such abbreviations
are not current Qt style.
Change-Id: Iea7259bd7ba78b2c0863e3f6675e10826712ffd9
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It can happen that the system is reporting a screen
width or height of zero, if the system does not know the
size instead of returning an error. You can either
set a define QQNX_PHYSICAL_SCREEN_WIDTH/QQNX_PHYSICAL_SCREEN_HEIGHT
or set it as environment variable QQNX_PHYSICAL_SCREEN_SIZE.
The preference order is:
1) Take detected size
2) Take size from env var
3) Take defined size if any define is set
Change-Id: I493a2c8988a225224587a6c323efeb9e9b7b5a54
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Do the same in QAccessibleTextWidget
I got a bit annoyed by this, should hopefully make life easier
when forward porting QPlainTextEdit
Change-Id: Ib4b90d1892974ea39ecfcbc5cad6ed0694207b58
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Version numbers for CE are higher then for the desktop,
so insert a check for this, as the api is not working as
for windows 7 and above.
Change-Id: I79baba9183e11c714cffd0bb43327c197043d6e0
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
|
|
|
|
|
|
|
| |
Corrected the list's ordering and added punctuation.
Change-Id: I36a477801cd0cfd3d36db308b4263982b582106b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new class called QAccessibleTextWidget was added.
This class should implement all methods of QAccessibleTextInterface and
QAccessibleEditableTextInterface which only need a QTextCursor, and it
defines two pure virtual methods, to obtain and set the text cursor, so
accessible implementations of widgets which use a text cursor can implement
these two methods.
QAccessibleTextEdit is now a subclass of QAccessibleTextWidget and most of
its methods were moved to QAccessibleTextWidget.
This is a forward port of ba5d7d608cc31fc63354fd74d85a1bad7780fc45 from
Qt 4.8, and is a prerequisite for forward-porting QPlainTextEdit
Change-Id: I6093c4fa7e0a77b84de779479c6074db006efec1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
|
|
|
|
|
| |
Change-Id: I5ef909b21ddd4782062dd4ebd0ea7bca33f3387f
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|
|
|
|
|
|
|
|
| |
This is a plugin that bridges the QAccessible world
to AT-SPI 2 on Linux.
Change-Id: I7af22621ee6a3cefc723b137b7f227a611cf6641
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, the open statement, say in QSqlQueryModel, will prevent
other statements from running.
Task-number: QTBUG-18608
Change-Id: Icdd6817fb981678be6fb70ade21a8123e152dcf6
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
|
|
|
|
|
|
|
|
| |
Since the #include wasn't present in the qelapsedtimer_{mac,unix}.cpp
files, we did not notice that the declaration missed the macro.
Change-Id: I3e4f23b28e127d41b12690cf306f47986be53d89
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
| |
Change-Id: I9bdb0b93b101119477a560b28396f88ea8103745
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
| |
The latter seems to date from the Qt 1 days, and such abbreviations
are not current Qt style.
Change-Id: I83bc8722a309f4ece7e51881590d07b40fbe6bef
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Up until now, the value stored in t2 depended on whether we had found
a monotonic clock or not. Fix that by always storing nanoseconds: we
avoid extra calculations and accessing a global variable all the time.
The impact is contained to the actual getting of the time. And we
mitigate by using clock_gettime to get the realtime clock instead of
gettimeofday, if that's available.
Change-Id: Iceef2d050fd9472f1a66e11e7ded79fe5163a132
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
| |
Change-Id: I1fc54561aabd1be693f179e668031ddb0f86a130
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|