From reading the code it can be ENOSPC or EMFILE
Change-Id: I2eecbf8afe0228d330210c25f299af12fab9cb64
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This has been broken forever, just like generic signal
disconnection. It didn't use to show up before because in Qt 4,
QObject's destructor would not call disconnectNotify().
Just like in the previous commit, we need to verify whether the signal
was disconnected from the last receiver. A wildcard disconnect might
be disconnecting only from a specific receiver.
Task-number: QTBUG-29498
Change-Id: I0790128ea878fdf3ac563c99d96c6aa7d270e9a3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
There has been a latent bug forever in QtDBus that would make a signal
disconnect actually disconnect too much. The reason is that
disconnectNotify() is called every time a signal is disconnected from
a receiver, but that doesn't mean it was the last connection.
This test checks whether disconnecting from voidSignal() to our test
receiver will also disconnect from exitLoop(). If it does, we'll get a
timeout. I could have implemented it with two receivers, but in the
buggy case, it would always fail first in the timeout verification.
Change-Id: I5766d8a38594eb25e65b304913251303660fad41
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but
it's a good idea even in private headers, in case someone includes
that header first somewhere. In particular, all platformsupport API is
private.
Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
OpenProcess + WaitForSingleObject is supposed to fail after the process exits,
but this seems to take some time until Windows notices.
Change-Id: I942a9b4a458c23fc4ac33b28386e28821128e991
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Being able to calculate advances for series of glyphs include kerning
is important to be able get kerning on QGlyphRun.
Note this kerning is only truetype kerning, since opentype kerning is performed
during shaping.
Change-Id: I8d7458066431cbdce699647056fd0d7a76b20aa2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
For large fonts, we would get invalid metrics due to the metrics
being too large to fit in the signed chars of the cache struct.
This in turn would lead to the bounding box reported by the
font engine being wrong, and subsequently, the algorithm which
decides whether any part of the glyph is visible in the raster
engine would make the wrong decision, hiding glyphs that should
not be hidden.
Task-number: QTBUG-30026
Change-Id: I59b613ce889fcac0bd50ffec9d369728068d0263
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
The test has been recently failing in CI. The problem was easy to
reproduce in a virtual machine by resizing the window of the virtual
machine small enough. This change makes sure that the requested size
hint is significantly smaller than the desktop size, to avoid the
window manager stepping in and limiting the window size.
Change-Id: Ie319892747bee60ea6f11e27b6c1bfb4731ef587
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
The test has been recently failing in CI. The problem was easy to
reproduce in a virtual machine by resizing the window of the virtual
machine small enough. This change makes sure that the requested size
hint is significantly smaller than the desktop size, to avoid the
window manager stepping in and limiting the window size.
Change-Id: Id8ce63b2b88cbed964e0330633c5d2e1dc33598c
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Ctrl + Shift + A as inverse of Ctrl + A
Works in both KDE and GNOME widgets so put as KB_X11
Change-Id: I3d1781933fcf7db03685453deef8612052cc879a
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Change-Id: Ifacee152e291face69964471d75e92b7784be4a4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
New combinations of settings need to be handled (for example,
GL + drop shadows for menus). Generate the class name depending
on style settings. Introduce new dynamic property for drop
shadows.
Change-Id: I438f7bdd87f09d3c99076ebf825a12d862948ec1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Task-number: QTBUG-28540
Change-Id: I916d104c8aba551ee9a5b34da3fd85dcb26bbf64
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Similar to QtWidgets ensure that QGuiApplication::notify() is always
called via its exported symbols. This is needed to allow overloading it
via LD_PRELOAD or other means.
Change-Id: I84d0176b984c5fdf9b199127e08fcfa93dbc853f
Reviewed-by: Harri Porten <porten@froglogic.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
- Rename dynlist file to reflect the Qt module its used for
- Drop removed functions/methods from dynlist file
Change-Id: I5e2b369f0f62c1daff8086e9dbc3f62150bd26ea
Reviewed-by: Harri Porten <porten@froglogic.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
The style animation system expects a single QObject per animated item.
Therefore, this change disables style animations for checkboxes etc.
within itemviews, because the view cannot act as an animation target
for several checkboxes. The result of that kind of animation would be
randomly checked/unchecked checkboxes, or sometimes even left in the
middle of the transition.
Task-number: QTBUG-30146
Change-Id: I1d7165571c723e84a0e6fbda266cb03b04deabd8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
This way, CMake will issue an error if there is an attempt to use
Qt 4 and Qt 5 in the same target.
Change-Id: I0cad31b00f7eb7dc372491e0f5734765551c3d6e
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
This shouldn't be restricted to internal builds. It's nice to be able
to enable fusion style by default instead of GTK, for example.
Change-Id: Icf9b4c990ddd1152b7444948c98717faff1c5ad6
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Change-Id: I8ecdda35912a95e69c2f8dd98ce9c41c77b222d2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
If the dir exists, it is added to the list of exclude
dirs. If it does not exist, it is ignored. If it does
not exist, qdoc assumes there is nothing to exclude
there and does not report an error.
Task-number: QTBUG-29736
Change-Id: I657b84f1a967d03f83a803402d8670f9113933eb
Reviewed-by: Martin Smith <martin.smith@digia.com>
Add the char16/32_t types to the is_integral check with true for the type
traits to pass the qglobal test for the is_enum functionality. Otherwise, those
types will be detected as enums due to the internal test.
These types are integral after all.
Change-Id: I89ef6b6b4be348d8ef57b0d19ccea55b435e9b14
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
c951908bc2 sneaked in without adding documentation
to those public static methods. Hence, the public documentation online for those
methods appear to be empty.
More importantly, they have been missing the indication that the introduction
took place in Qt 5.0.
Change-Id: I3ca3fa57a96e28e2d64d0af28159d8bda9cbe71a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
moc do not see Q_COMPILER_VARIADIC_MACROS as defined (because it does
not know the builtins defines)
So it would never parse those macro, and never generate the signals or
slot.
Always let moc parse the variadic macro, and put non-macro function in
the header so the generated code would compile on every compiler
Change-Id: Ie9504539ee737c81e831b217f8d623fe810d9e35
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Setting this attribute enables QIcon::pixmap() to return
high-dpi pixmaps when running on "retina" type displays.
This requires an opt-in flag since the returned pixmap
can be larger than the requested size, which is a change
in previous documented behaviour that can break existing
code.
Change-Id: I5ff3d25c68de24aa4eda7ad1f8aa9199da04707e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Remove all trailing whitespace from the following list of files:
*.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README
excluding 3rdparty, test-data and auto generated code.
Note A): the only non 3rdparty c++-files that still
have trailing whitespace after this change are:
* src/corelib/codecs/cp949codetbl_p.h
* src/corelib/codecs/qjpunicode.cpp
* src/corelib/codecs/qbig5codec.cpp
* src/corelib/xml/qxmlstream_p.h
* src/tools/qdoc/qmlparser/qqmljsgrammar.cpp
* src/tools/uic/ui4.cpp
* tests/auto/other/qtokenautomaton/tokenizers/*
* tests/benchmarks/corelib/tools/qstring/data.cpp
* util/lexgen/tokenizer.cpp
Note B): in about 30 files some overlapping 'leading tab' and
'TAB character in non-leading whitespace' issues have been fixed
to make the sanity bot happy. Plus some general ws-fixes here
and there as asked for during review.
Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
in the case of sprintf it's surprising, in the case of join it's
anti-thetical.
Change-Id: I4eb7e56d31ac6ed68adf852f1a19b33554d38eb4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
project files of bootstrapped modules can, just like those of
bootstrapped tools, benefit from automatic adjustment of QT (and
CONFIG).
Change-Id: I83815e69a2b105caaee0c2e2602828f8eb425eef
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
depend_prl would so far only ensure that the dependency existed, not
that it would be up to date. this is of only limited value, so make sure
that the dependencies are always updated.
as this is somewhat expensive (every dependency's makefile will be
entered as many times as it is used, plus one), provide an opt-out by
adding fast_depend_prl.
Task-number: QTBUG-29486
Change-Id: Ifa2e100bc4c269a403ab620927bfe5c7efe9a435
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Qt convenience classes for the GL_KHR_debug extension
This allows the developer to
1) ask the GL for a log of the last generated messages;
2) emit Qt signals whenever the GL wants to tell us something.
Change-Id: I830343a26714c51abb68ce1269163c145d1e2aac
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Better docs to come in a later commit.
Change-Id: Iba538585e97aac779d226ef966a1a08c186c4c93
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
In Qt 4, QSignalSpy didn't *really* connect to the signal it was
spying on. See the "we need to connect the signal somewhere in order
for D-Bus to enable the rules" comments.
In Qt 5, it connects, which rendered this section of the test bogus:
since the signal is still connected, the QSignalSpy will notice that
fact and will not be empty. This is passing due to a false
positive. The upcoming fix breaks it, so we need to remove it.
Change-Id: Ic8fbf7d0e941403e97149f5bc392334a52c66ab1
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Graphics items are not accessible anyway, so it doesn't
make much sense.
Task-number: QTBUG-30169
Change-Id: Id10b0897bce88d9b91db84609a09495aac41b0b4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
it's weird that the output from the two variants is differing, and that
after building qmake it appears to hang.
Change-Id: I2ac3ace11e958effe787b13e1300eb1d2839ae98
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
7de9d3709 broke them, because suddenly every -l* switch was parsed as a
library. fix this by re-arranging how the options are parsed.
this obsoletes d7ab351cdd as well, by being more generic.
fwiw, this syntax is stupid to start with, because all unknown -l*
options are implicitly libraries and create confusing configure
failures. emulating the compiler/linker command lines isn't such a great
idea ...
Task-number: QTBUG-29174
Change-Id: I11bac7a6f458664dff8cbe57ed9cd33a08d5e9ec
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
unlike before, the output dir is now important already during the project
evaluation phase, as finding .qmake.conf depends on it if .qmake.cache is
also present.
ChangeLog: fixed qmake -tp vc (and configure without -no-vcproj)
Change-Id: Ifdb95f3b38a70c0d08e71238059292e761dcfa53
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
note that the value is written verbatim to the qmake file, so additional
quoting may be required on the command line.
Task-number: QTBUG-30102
Change-Id: I02ca9a44fae82b6932982e6385508b8a304cc1e7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this affects only webkit when doing module-by-module installation, so it
went unnoticed.
Change-Id: Iab87f4a76fcb0fa9a1b1d6bcab9a73756e416120
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
QT_CONFIG is supposed to contain configure output, not a list of
modules. for example, enumerating modules is not cleanly possible if
modules are mixed with other flags.
the conflation was merely historical, due to webkit and phonon doing
it this way in the preliminary qt4 modularization.
we now have a much cleaner way to query modules (qtHaveModule(<module>),
or less recently, !isEmpty(QT.<module>.name)), which is already used
throughout Qt.
the old way was supposed to be removed for 5.0 already, but it slipped.
better do it now, before people actually start using it.
Change-Id: Iabdf0cdfaab9cd674f634f4c6ece105b2039c850
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
modules which demand it (i.e., qtwebkit) need forwarding pris, etc.,
even when not making a -prefix build.
Change-Id: Id405be8763e94cc074854f799bd785e9cdf62e8e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
unlike unix' mkdir -p, windows' md complains if the directory already
exists. the workaround is a quite complex command, so the so far used
concept for assembling the command line from pieces was replaced with a
single template. for symmetry, adapt the makefile existence check to the
new concept as well.
QMAKE_CHK_EXISTS and QMAKE_MKDIR_CMD were added, with hard-coded
fallbacks (ugly).
QMAKE_CHK_FILE_EXISTS and QMAKE_CHK_EXISTS_GLUE (introduced in 5.0.0)
are simply deleted again.
QMAKE_CHK_DIR_EXISTS and QMAKE_MKDIR remain for legacy reasons, as qmake
emits them into the Makefiles, and custom commands may rely on their
presence.
Task-number: QTBUG-28132
Change-Id: I3d049cb5d26947e5c3d102d0c2da33afb2a95140
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
There is no definition for Yi, Tagalog...Braille in
QFontDatabase::WritingSystem, see the header file.
Change-Id: I0187b0ea23cdb49c4c3306217296d727d4983652
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
unlike the real compiler, moc does not have these directories built in,
so it would not find headers from a system install of qt.
Task-number: QTBUG-28870
Change-Id: I86f18cdc8953145190163746dae59f4e784f2d78
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Desktop OpenGL builds on windows correctly define APIENTRY whereas at
present the ES2 (ANGLE) builds do not. This leads to QOPENGLF_APIENTRY
having the wrong calling convention.
This fix is required for https://codereview.qt-project.org/#change,48660
but may also fix any random crashes that people may be seeing with
other Qt-wrapped OpenGL functions in ANGLE builds.
Change-Id: I8068c181d41be949d29168bd5ca1a181cc2245c7
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>