Warnings caused by c3e1ab:
../widgets/qdatetimeedit.h:208: No documentation for 'QTimeEdit::time'
../widgets/qdatetimeedit.h:220: No documentation for 'QDateEdit::date'
Both 'date' and 'time' are declared and documented in QDateTimeEdit.
Change-Id: I287b5f20568e4055e6922eb1a70aeedf220de823
Reviewed-by: Shawn Rutledge <shawn.rutledge@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Removed Qt3 support left overs, marked QMenuBar::platformMenuBar()
as internal, and removed the reference to
qt_mac_set_native_menubar() that was removed in 2922f8.
Change-Id: Ia6af9bd399c88fafab26789278b4c82312d6d9c7
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
The bug was there because the way qdoc tries to exclude the directories
given in the "excludedirs" variable:
It did a simple string comparision on the candidate path (to include)
with every string in the "excludedirs" variable.
However, this did not work for all cases, since the paths are not
canonicalized.
For instance, the problem I faced was that the following qdocconf
fragment: (config file located in doc/qtwidgets.qdocconf)
sourcedirs += ..
excludedirs += snippets
Since qdoc would recursively parse all subfolders of sourcedirs, it
would at one point visit the snippets folder, but it would have the
relative path "../doc/snippets", which did not match with "snippets",
causing snippets to not be excluded.
In addition, it seems that qdoc tries hard not to use absolute paths
(maybe because of more human-friendly error messages). I therefore
chose to canonicalize the relative paths.
As a side-effect this also give a better output from qdoc, as
../doc/foo.qdoc:42: Missing link
will become
foo.qdoc:42: Missing link
Change-Id: If9c25fa569abd03542bd12675acd44d8f4e0282c
Reviewed-by: Martin Smith <martin.smith@nokia.com>
* doc/snippets/graphicsview.cpp is moved from the qtdoc repo
* doc/images/graphicsview-parentchild.png is taken from 4.8
There are still some problems with references to examples, but
Casper meant that Jerome was working on that, so I'll leave
those fixes out.
Change-Id: Ieac8e6564344851fe8e77f2b346b152e57f8485c
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Making -lang-c++ integral part of the $CXX command was wrong, because there are
cases where $CXX must be called without the -lang-c++ file (when building asm
files for instance). This commit moves the -lang-c++ to $CXX_FLAGS where it
belongs.
Change-Id: I667c8d722105c6117fcd8ff3102dbdfcb890b24f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
The code under mutex protection already implicitly handles the case where
queue.empty(), so just removing the pre-lock check suffices.
Change-Id: I01467aff62e61bb4efd16359dd64546ff51c6bad
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The resulting code is easier to understand, too.
Change-Id: I3cd84d85b3186860dd3ccd67c3771b82695e7f83
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The primary QFutureInterface::reportFinished() takes a const T *, so should the
void sepecialisation.
Change-Id: I4d3173f4fd4f8d27baecd407369659a42445aed7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
By putting object_with_source into CONFIG one could force qmake to
output each object file into the same directory as its source file
came from. This was a rather nasty work-around from Qt 3 times to
support source files with the same file name in a project.
Unfortunately this doesn't play nicely with shadow builds.
Change-Id: Ie79e14d36ba6eac4219edc14ea75ab6a96f9ea96
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
we cannot just completely stub it out, as then there are no dependencies
on whatever targets we actually *want* to be built.
Change-Id: I32a92fa937d099c153a0082feae5d23e3998ba48
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
it works better when it castrates the app template, rather than staticlib
Change-Id: If52960fb48d770e8ec096c66b579539512b8d299
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Commit 3ef51efbe7 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>
When embedding manifests we modified the EXE/DLL after linking using
the manifest tool. This breaks the incremental linking feature of MSVC.
The MS way to embed a manifest without breaking incremental linking is:
- let the linker create the manifest file,
- create a resource that contains the manifest file,
- invoke the linker again to embed the resource.
The embed_manifest_{exe|dll}.prf files have been removed.
All manifest logic is now in qmake's nmake makefile generator.
With QMAKE_MANIFEST one can specify a custom manifest file that gets
embedded without disturbing incremental linking.
Task-number: QTBUG-22718
Change-Id: Idb9d2644a0577b2002cbdd2d62b695b9171b1bd5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.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>
qurl.cpp was removed from the Makefiles on 6ab6b0fc1c,
but I missed the .pro file. You're not supposed to use the .pro file
anyway, it's just for opening in Creator.
But if you forget to remove the qmake build step, it would get compiled.
Change-Id: Ia52ae7349e195df58f76f8d2c5f8b46adfdc7454
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
This is not the first time that GCC 4.2 on Mac has produced bad code
surrounding the CPUID instruction (see also commit 81d1f79a7f).
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>
qUncompressCorruptedData() no longer hangs on QNX 650 and Blackberry OS
sytems.
Change-Id: Id131f9f1c6dcd358c152675c7e29ab937052c1d0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.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>
GCC 4.8 warns:
main.cpp:165:60: warning: ‘type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
app.arguments().at(3).toInt());
^
Change-Id: Ib0f6847031437b588e14c6708fdddea5fd474b58
Reviewed-by: Shane Kearns <shane.kearns@accenture.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>
This reverts remnants of 79747d38987ce42adc510be0c5bb1565f55fd3d6.
Task-number: QTBUG-25571
Change-Id: I1dbf64cfcba889fb0c70ceaeeeffad8334a8aab1
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>