It was doing tricks with URLs that it shouldn't be doing... including
running QDir::toNativeSeparators on a URL.
Task-number: QTBUG-32311
Change-Id: I5b6f640919956998c00dcf507f931045f21a9e53
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
It seems like the left-side menu bar on Ubuntu 12.04 causes some
problems when it is not automatically hidden, which is the case
in the CI machines.
Task-number: QTBUG-31995
Change-Id: I01ff3fe4c09d720b2dd53037c42e59679d8570dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
We prefer to use the monotonic clock because it's never affected by time
jumps (such as the user changing the date, or the system adjusting for
any other reasons, including automatic leap seconds). But if a system
doesn't have a monotonic clock, we simply accept the regular, real time
clock and hope it doesn't jump.
This is better than the current code that never restarts a call. The
side-effect is that a 30-second select may become a 3630-second select
if someone sets the clock back one hour.
Task-number: QTBUG-22301
Change-Id: Ia5a3bb453cd475f45b03637e2549165589fd2524
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
There is no need to do a search for an item if we already
have the correct index.
Change-Id: Iac0e7df7573b71b82aa491acb8e289fe02fb3285
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
The deadlock is caused because the QEvent is destroyed while holding the
event list mutex. And the QEvent may have a custom destructor that will
re-enter the event handlng code.
The QScopedPointer that should destroy the event must be created after
the MutexUnlocker.
Regression introduced by commit f9035587b9
Task-number: QTBUG-31606
Change-Id: I6b2cbc2656eacdec61b641886953f00bf5b3ff36
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
In the qobject.html page, the description of the syntax of Q_PROPERTY
does not include the MEMBER keyword added in Qt 5.1.
But it was well documented in the documentation of the property system.
Merge the two code snipppets.
Task-number: QTBUG-32211
Change-Id: I7b57329c201b6f3bc812155f21dbfb2c6423494e
Reviewed-by: Martin Smith <martin.smith@digia.com>
It is better to mark a test as XFAIL so we get an error whenever
it gets fixed.
Task-number: QTBUG-23059
Change-Id: I0f2f491645c261bf0e735dde6a16d8e90e0b17a0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Sometimes it is nice that hiding a widget does not affect the
layout. This patch makes that possible by allowing hidden
widgets to take up space.
Change-Id: Ifbc1cdee0e112950acc025919b98199ea9558db7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
The test should still be run, even though it is insignificant.
Change-Id: I6a3853e2b0e9670152b4f329dbceed2986a7e008
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Makes for more informative debug output when the tests fail.
Change-Id: Ib07dd79452a56413c711394dd72aa37dbb4a70d7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Commit b5922c89ba (Add support for retina glyph-based text drawing
in the GL engine), and commit 155a20628b (Use QPaintEngineEx to decide
if font is too big for using the glyph cache) together changed the
behavior of drawing scaled cached glyphs in the GL engine, producing
blocky text drawing when using the FreeType font engine.
Whereas before we would cache all glyphs without any transform, and
let the paint engine take care of the transform, commit b5922c added
support for a scaled GL glyph cache, resulting in a 2x cache, drawn
at 1x for example. The problem was that the FreeType engine claimed
to support producing glyphs at 2x, but did that using the QFontEngine
baseclass implementations, which use a simple fast-transform to scale
up the glyphs. The result was a 2x cache with horrible looking glyphs.
The first step in fixing this issue was to have the FreeType engine
claim to only support translations. This would then make the paint
engine choose path-based drawing for all scaled text, which is slow.
To restore the optimization that we would draw 0.5x-2.0x scaled text
using a smooth-scale in the GL engine (which was removed in 155a206),
we then needed to extend shouldDrawCachedGlyphs() and add a special
condition for this, coupled with a bit of logic in drawCachedGlyphs()
that ensures we don't propagate the painter scale to the glyph cache
if the engine is not able to produce scaled glyphs for it. This
means we get the old behavior of the GL engine doing a smooth scale
of the 1x glyph in the cache.
Finally, since the raster engine also checks if the font engine
supports the current transform, but for FreeType then ends up in
a separate code path when actually drawing the glyphs (as the
FreeType font engine supports internal glyph caching), we need
to add a corresponding check for hasInternalCaching() in the
shouldDrawCachedGlyphs() function, now that the FreeType engine
only reports that it supports translations.
Change-Id: Id03de896dec5f29535b281fb235332ef018045d8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
the forward-referenced directories don't exist yet, so we get pointless
warnings. in fact, this is why we do a multi-pass build in the first
place, and consequently using indexes during the first pass is
illogical.
Task-number: QTBUG-32152
Change-Id: I66bf6b43238827e87cb8bf6932d581b808c1032d
Reviewed-by: Martin Smith <martin.smith@digia.com>
-"qmlclasses" was used in Qt 4.7
-enables the listing of QML types in a page
Task-number: QTBUG-31490
Change-Id: I4f666945067ef1df6e358c488c245792b5aea3ab
Reviewed-by: Martin Smith <martin.smith@digia.com>
This allows to find the parent directory url using
url.adjusted(QUrl::RemoveFilename).
Change-Id: I1ca433ac67e4f93080de54a9b7ab2e538509ed04
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Otherwise the output is too intertwined.
Change-Id: I6729727b3afcdcbec58e3fa560587dd1fa08f38e
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
XbelReader and XbelWriter do not subclass QXmlStreamReader and
QXmlStreamWriter anymore, but use aggregation instead.
Change-Id: Idbe43e9bdbc47dc73b1984ce17ae4d18e9be5554
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
On X11 key codes and modifiers can have many-to-many relationship, i.e.
a key can activate several modifiers, and a modifier may be activated
by several keys. This patch handles these cases, the logic is borrowed from Qt4.
Task-number: QTBUG-31572
Change-Id: Ide4eb890ec723c68afafe0576d8285440a47d7b0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
qt_ACE_do(".co.uk") was returning an empty string because of the
leading dot. Allow leading dots from topLevelDomain, but not from
other calls.
Change-Id: I757d9960708e205d30554cd2bbcf618c8624792b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Trust fontconfig if it claims that the font supports a language
and don't use the expensive check for a symbol font in this case.
Speeds up app startup if the system has many latin only fonts
installed by a big amount.
Also remove some compat handling for fontconfig versions from
2003 and earlier... :)
Change-Id: I5de0812685ae76090b2c0ef5b6c2dcf430249bb8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This patch does 2 things mainly:
- Adds a QPlatformTheme font type for fixed fonts. It's important
because some OS provide specific monospaced fonts and we want to let
our applications to use the preferred fonts by default.
- Adds a new method and enum to QFontDatabase that expose the font
types that applications might need, so that they can make the
applications use the specific fonts that the system recommends. This
data was already available within Qt through the QPlatformTheme, but
it was not possible to use this data by Qt users. This new method
exposes such data.
Change-Id: Ic194c1e4bc07a70640672afd82ba756b87606985
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
Due to a refactoring done in Qt 5.1, we would try to do projected
text painting using the glyph cache in the raster engine (the logic
to avoid this was removed when refactoring). If you only did the
projected text drawing, then you would get unprojected text with
projected glyph positions and it would look wrong.
What's worse: If you first drew unprojected text with the same
font engine, so that the font engine already had a glyph cache
stored, we would hit an assert in qtransform_equals_no_translate
which assumes cached drawing is never used for projected painters.
This puts back the logic that we never cache projected text in
the glyph cache.
Task-number: QTBUG-32193
Change-Id: I1f919961c4cf498a9c4a0b1ceb0df1937ed0d067
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
We are missing a few key mappings to have support for remote control
keys supported by Android and DirectFB.
This patch adds the four color keys Red/Green/Yellow/Blue and ChannelUp
and ChannelDown.
Change-Id: I4d859c28e0d61c5362f1212ba1e577a47de86ec1
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
When drainOutputPipes is called, the process is already dead.
If readyReadEmitted is false, there was no data in the pipes.
As the process is dead, there won't be data in the pipes in future
iterations.
The situation that triggered the infinite loop was this:
process A starts console process B.
B starts console process C. C inherits stdout/err of B.
B dies. C runs forever and does not close the stdout/err handles.
A notices that B died and calls drainOutputPipes.
Task-number: QTBUG-29391
Change-Id: I4819901df307be684c6ad70753a5f964a834704a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Fix race condition in waitForNotified for zero timeout.
A waitForNotified(0) call is typically used for triggering
events near the end of life of the I/O resource (e.g.
drainOutputPipes in QProcess). In that case we must
synchronize the IOCP thread and waitForNotified.
Task-number: QTBUG-29391
Change-Id: Iadbd8564ec461cbc48a6ef8c5627e30a5c6eecfd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Calling waitForNotified on an uninitialized notifier will print a
warning and return false. The autotest has been adjusted.
Change-Id: I85e18d6d0a8a5462e1a5d451613add941d89b5fb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
In Qt 4, there was a special case in qpdf.cpp which would
use the tmHeight from TEXTMETRIC to calculate the height
of the text instead of the pixel size. This was removed when
all code inside Q_WS_WIN was removed from QtGui. The tmHeight
is defined to be the same as ascent + descent, so we reinsert
this code for Windows.
It could be that this code is okay cross-platform, since the
font height and the pixel size are supposed to be the same, though
for some reason not on Windows. However, the safer approach is
to #ifdef it for Windows, since the bug is not present on
other platforms, and since it was #ifdef'd in Qt 4.
Task-number: QTBUG-30875
Change-Id: If0817768bf0ca5ce216842119422a0be944df0bf
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
the previous attempt broke ActiveQt, as it actually has public modules
without headers (they are provided by a common base module).
so explicitly mark the internal modules as such instead of applying
heuristics.
Change-Id: I8d8a2ee66f02c3444da2036a497e7f382f089f62
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
When defining QMAKE_LFLAGS += /MANIFEST:NO to pro file,
it is not written to vcproj in VS2008.
Added MANIFEST:NO generation to vcproj
Task-number: QTBUG-31975
Change-Id: I5f84b30db711bf9c317ca20dc65b207140edb398
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
When a QWindow was destroyed, we'd delete its corresponding buffers,
but failed to make the correct EAGLContext current first. This would
result in deleting/invalidating buffers for another window (whatever
window's context was current at the time), and that window would then
seemingly stop rendering anything, and turn black on rotation.
Task-number: QTBUG-32246
Change-Id: I335a8c580203fc01e43da31c5cb6f567614c26fc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
We're looking for any tablet which has appropriate valuators, not
just Wacom tablets that have recognizable names. The name recognition
was always brittle and already stopped working, probably because of
changed udev rules or something like that.
Change-Id: Ib3a6dfdd9972b16f08f270e3f0a1aa54d6660c9f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Instead of storing the application type as a uint, we use the enum provided
by QCoreApplicationPrivate. The former resulted in a few cases of wrong
logic where the values got mixed up, such as always printing the QtCore
console warning, even for GUI applications.
The qt_eval_is_supported function has been refactored to return enums instead
of magic values, to make the logic easier to read.
The same goes for qt_eval_days_left, which now only concerns itself with
the number of days left. qt_eval_is_expired() has been added to use for
easy checking of expiration date.
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: Ia0e85b2103f790a7e02e0d6e567a477b3145fcb9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
It will save memory and also prevent bugs where it's assumed that if
the widgets exist, they should be painted, maintained and/or used as a
current value store.
Task-number: QTBUG-31998
Change-Id: I04e3b016018221a405dd7da1fd455e0ede2233fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Google moved dx.bat into a new build-tools/VERSION folder
meaning our dx.bat no longer found dx.jar. Fix this by
passing into our dx.bat, the location of the real dx.bat
Removed hardcoded 17.0.0 and %ANDROID_BUILD_TOOLS_REVISION%
path searches.
Change-Id: I91c12c01745d6f12edbd126102b8f06eba291402
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
In case we do a resizeSection to 0 (can also happen by a reset)
then the auto resize won't work with word wrap. The first resize
afterwards it will only resize to a single line.
Change-Id: I3abf779ecb0593b6721f5af16f7a39d05004e98f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
In 03c761287f it was overlooked
that word wrap handling (with advantage) could be moved into the
function, too.
This patch makes the code more readable, but does not change
anything.
Change-Id: Ifed349398b862650da383e4e6fd337a166dc680e
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
The constructor taking a global color was removed in Qt 5.0.0.
We need to explicitly convert to QColor before we get a QVariant.
Change-Id: I821f164b8601647b062eeef57372755fa187c50c
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>