Commit Graph

18916 Commits

Author SHA1 Message Date
Allan Sandfeld Jensen
cd912ce067 Fix mistake in function extraTryFontsForFamily
Taiwan and mainland China were inverted in the extraTryFontsForFamily
method. This patch fixes it and makes sure to match the rest of the
Chinese LANGIDs.

Task-number: QTBUG-33307
Change-Id: I45048ff5e9c00d20f8e922902701129e80ed459d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-15 10:19:40 +02:00
Allan Sandfeld Jensen
a128347c9b Fix rendering of fonts matched based on stretch
If the fontdatabase matches a font based on the stretch aka width
then the stretch factor on the font-engine needs to be 100
to avoid the fontengine doing manual stretching.

Without this a font requested with 75 stretch and matched with a font
of 75 stretch would be further condensed 25% by the fontengine.

Change-Id: Ib85ff027420c0ce891b0808dab13d25417d22df1
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-08-14 17:54:34 +02:00
Julien Brianceau
91e103d757 Fix x86/32-bit build when using an old version of gcc
Versions prior to 4.3 don't define __SIZEOF_POINTER__ macro.

Change-Id: I3144329778acd276e2fb885cb197a4532a15da70
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-08-14 17:47:44 +02:00
Allan Sandfeld Jensen
a0b021d136 Fix selection of fonts based on styleName
By carrying the styleName through from QFontDef to
bestFoundry and giving it to bestStyle that can use it
we can accurately match fonts based on styleName. This
makes it possible to match styles such as DejaVu Sans
Condensed and Ubuntu Medium.

The example fontsampler is updated so it can actually
sample all the different styles it lists.

Change-Id: I381effc74130311f98794cd07d30be10dee4fe45
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-08-14 14:39:20 +02:00
Allan Sandfeld Jensen
b3431a9553 QFusionStyle paints sliders outside of clip
When painting a slider the QFusionStyle overrides the existing clip
on QPainter thereby causing itself to be painting unclipped.

Changes replace clipping with intersection clipping.

Task-number: QTBUG-40530
Change-Id: I0135928c36ca1d23c906cf82c584ded01720b1cc
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-14 13:50:31 +02:00
Samuli Piippo
347be657b7 Set iMX device specific compiler flags to QMAKE_CFLAGS
Device specific compiler flags need to go to QMAKE_CFLAGS, so that
they are used also when --force-debug-info is used. Removed separate
_DEBUG and _RELEASE, since the gcc-base provides same defaults.

Change-Id: I6ce0133a1acf419261b7756525185f43581d2a9c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-08-14 12:26:36 +02:00
aavit
319cbb7597 Fix QPainter::drawPolyline() painting errors with cosmetic pen
Task-number: QTBUG-31579
Change-Id: I8fd2c03ff9a22e4963bfcbcfe196ae4c61b9e10f
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-14 11:13:51 +02:00
aavit
509d6770d9 Let QImage::mirrored() retain dots-per-meter settings
Task-number: QTBUG-40582
Change-Id: Iffeba44fa6d1f34331bb69ff9aabce88efe279a7
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-14 11:11:22 +02:00
Thiago Macieira
4848796f3e Make sure we don't cache old file sizes prior to new writes
If we write to a file, its size changes. We should drop previous size
caches.

Change-Id: Ib687c91e5fc88cab588c89023f23da9622160da9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-08-13 16:36:11 +02:00
Thiago Macieira
c6718f01c2 Correct the SYNC hint for the release barrier
The MIPS32 manual I have says 0x11 is SYNC_ACQUIRE and 0x12 is
SYNC_RELEASE. The change was an unintentional mistake in commit
60b6b28c21.

Thanks to Spencer Schumann for spotting this.

Change-Id: I16885e4e86e8befa8931733d0b5a54ac9942f176
Reviewed-by: Spencer Schumann <spencer.schumann@echostar.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
2014-08-13 16:36:00 +02:00
Sérgio Martins
10b9e1b6b4 Fix QT_NO_REGULAREXPRESSION build
Change-Id: Ibf1358733d7c5aa2c14cf46c23a24ba4da14143c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-13 08:48:01 +02:00
Sérgio Martins
bf9a4ef8b4 Fix QT_NO_ANIMATION build
Change-Id: Ia589e703206d6ca675a392e634e2a445dcf4cca3
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-13 08:47:54 +02:00
Sérgio Martins
f2c7ea7178 Fix build with QT_NO_MDIAREA
Change-Id: I456fea53f641476ea63cbe170cc65811c92eb290
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-12 20:05:18 +02:00
Marcel Krems
9f486efcbe Show the correct cursor for QLineEdit's side buttons.
Task-number: QTBUG-40708
Change-Id: I5869f42bab3a27085b5572a4b83b16c39a67f733
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-12 14:56:23 +02:00
Shawn Rutledge
296142ba05 OSX MenuRole detection: remove ampersand before looking for keywords
The chosen shortcut should not affect the menu role.

Task-number: QTBUG-40181
Change-Id: I5a77d0109999b2fb8d40f8c526e0bbcfa31ad5e7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-08-12 14:40:57 +02:00
Olivier Goffart
c2badc7423 Fix disconnect()ing from signals declared in a base class
Fix disconnection from pointer to member signal that belongs to the base
class, but whose type is a pointer to a member of the derived class.

Commit 9cc106d9d7 fixed connect, so apply
the same fix in disconnect

[ChangeLog][QtCore][QObject] Fixed disconnecting from pointer to member
signal that belongs in the base class but whose type is explicitly given
as a pointer to a member in the derived class

Task-number: QTBUG-40638
Change-Id: Ia546fc8f36e1ea0dd0645bdd820aea47f43677ac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-08-11 16:49:01 +02:00
Thiago Macieira
5a882d0359 Doc: document that we have unfixed bugs with waitForXxx on Windows
We have to document because we don't know how to fix the bug and don't
know when they will be fixed. We should also disable the unit tests
related to those functions, as they probably cause CI instability.

Task-number: QTBUG-24451
Change-Id: I0e60682ec4af7570258b13735339051ba8f4a6e4
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-08-11 16:44:50 +02:00
Simon Sasburg
f126f7cc27 Fix rendering alpha-blended text which needs to be clipped at the top.
Task-number: QTBUG-34148
Change-Id: I9c0694e67cc9883db318c1a1558bdf6e08088db4
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-11 14:01:47 +02:00
Sérgio Martins
7fcb3aad40 Fix build due to missing include when using a minimal config.
QStyle is used, so include it explicitly instead of relying on
indirect inclusions.

Build was broken when using a bunch of QT_NO_ defines, not sure
which one triggers the failure though.

Change-Id: Ib07218521648448576f1b55d2d91d1711c048f09
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-11 11:06:57 +02:00
Sérgio Martins
96d8c61f0d Fix build with QT_NO_DRAGANDDROP
viewportSizeHint() should be defined outside the QT_NO_DRAGANDDROP ifndef

Change-Id: I7c23c820ea58b3614eb030dc5b0f290ad891ccb1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-11 11:05:50 +02:00
Gabriel de Dietrich
909d3f5c73 Font Database: Add support for private, system UI font families
We introduce QPlatformFontDatabase::isPrivateFontFamily() to allow
testing for private, system UI font families. Both QFontComboBox
and QFontDialog need to filter out those private font families
which, by definition, should be hidden from the end user.

(The textedit example had to be updated to fix the issue where the
default font would be private. In 5.4, we will be adding an equivalent,
public API in QFontDatabase, and a better solution for the textedit
example and QTexEdit in general).

In particular, on OS X and iOS, private fonts are used for the system
UI font. Those have their font family name prefixed by a dot.
QCoreTextFontDatabase knows about this, and makes sure those are
tested positive as private font families. In order to have a cleaner
layer separation, we moved the QPA theme font resolution from the
platform theme classes into QCoreTextFontDatabase for both Cocoa and
iOS QPA plugins.

In both cases, we use CoreText's CTFontCreateUIFontForLanguage(), that
nicely maps to the HITheme API we were using so far on Mac. That means
one HITheme dependency less. We also cache the font descriptors we get
for these font for each time QCTFD::populateFamilies() gets called.
(While not common, this currently happens in auto-tests, like
tst_QFontDatabase, and could happen in actual applications -- specially
when adding and removing application fonts.)

Change-Id: Ic6f0b60f9f597afee1a43596a669742dc546b97f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-08-11 10:46:13 +02:00
Giuseppe D'Angelo
3924805d59 Apply upstream patch r1498 to our PCRE copy
It's actually a subset of the patch (tests, docs, other whitespace
fixes were dropped).

Fixes a stack overflow issue on pathological regexps reported upstream:
http://bugs.exim.org/show_bug.cgi?id=1515

Change-Id: Ie36536e820d79ff842d90efa6bec22b701423793
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-08-10 14:18:28 +02:00
Giuseppe D'Angelo
00ca499787 Apply upstream patch r1495 to our PCRE copy
It's actually a subset of the patch (tests, docs, other whitespace
fixes were dropped).

Fixes a stack overflow issue on pathological regexps reported upstream:
http://bugs.exim.org/show_bug.cgi?id=1503

Change-Id: If080e4c1e7a86c86459bbbc631c8d8bb3cd7b99f
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-08-10 14:18:26 +02:00
Gunnar Sletta
88bd28f91e Initialize member.
Change-Id: I9ed8d5a7aeb40886bafbd9eb2003e88e5d796cc9
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-08 13:34:13 +02:00
Thiago Macieira
e8150576cd Document missing QLatin1String methods
Most of them were added before 5.0, but it's ok to just list as 5.0.

Change-Id: I6e83a210a0165659f710d47ed595e9e89d5dbac9
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-08-07 22:39:40 +02:00
Peter Hartmann
9ad5dd0e8f network tests: add manual test for auth / proxy auth
This is helpful to e.g. test an NTLM proxy.
The test server currently does not support NTLM; this test offers a
possibility to specify a proxy server via environment variables.

Change-Id: Iea94656d38424c1d932fc854d13ca15ca47cdd68
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-08-07 11:54:08 +02:00
Andy Shaw
866c8bc5e3 Uncomment some tests which accidently got commented
With SHA1 47b3ecf3f4 some tests got
commented out by accident. This re-enables those tests.

Change-Id: If9c7d8a672b66086895a0383fe87d3101fb146fb
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-08-07 10:08:51 +02:00
Gunnar Sletta
50c418b61d Both HiQualAA and normal AA should mean antialiasing in rasterengine.
Change-Id: I1970c96e7681e4059984d837e12f044f138e6d7e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-07 10:08:24 +02:00
Andy Shaw
51ff044934 Check if Start/EndPage returns non-positive value when error checking
StartPage and EndPage are documented to return a non-positive value (0 or
less) when they fail, therefore it is not enough to check if !StartPage.
Checking if is 0 or less is more accurate.

Change-Id: Ia0ff43da4e4309ba0a5983e91a0ad583aad0a955
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-08-07 10:07:41 +02:00
Eskil Abrahamsen Blomfeldt
8306dee38f Windows: Fix stored family name of fallback fonts
When we create fallback fonts, we copy the fontdef of the main font, but
we need to update the family name to match reality, otherwise a QRawFont
created with the font engine will have the wrong family name. This is
already done in the default implementation of loadEngine(), but was missing
from the Windows implementation.

One large consequence of this was that when the distance field renderer
cloned the font engine (to change its size), it would clone it with the
wrong family name. When it later painted its glyph indexes, they would
of course refer to the wrong font (the fallback) so random characters
would appear.

[ChangeLog][Windows] Fixed using QRawFont with fallback fonts, e.g.
in the case of text rendering in Qt Quick.

Task-number: QTBUG-39172
Change-Id: Ic8fcd9dfc20ec7aadf0b47d4a80417f401f355fd
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-08-06 17:17:09 +02:00
Christian Strømme
1671dacb52 Android: Remove native views when their window is destroyd.
destroySurface() was not removing the native view as they are not
in the m_surfaces map.

Task-number: QTBUG-40159
Change-Id: Ib5457e0bd34141654fa47883f5e125d894b0bd05
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-06 17:16:36 +02:00
Christian Strømme
4946ed0496 Android: Fix QAndroidPlatformServices::openUrl().
Return true only if an activity was found for the intent.

Task-number: QTBUG-34716
Change-Id: I764caf1e8afa3b17b2d71f52873c17e5d834a956
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-06 17:16:30 +02:00
Christian Strømme
682976def7 Android: Fix recursion bug in callStaticMethod()
calling callStaticMethod() with template type jlong, jdouble or
jboolean would cause the call to loop indefinitely.

Change-Id: I99caa576e761fdef623ece04e0779e4cf2535592
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-06 17:16:22 +02:00
Shawn Rutledge
2ad9e69a9f GTK file dialog: pre-fill the filename if given to a Save dialog
The docs for gtk_file_chooser_set_filename explain that if a file is
new, we should call gtk_file_chooser_set_current_name instead.
(But in that case it is necessary to set the directory separately.)
Qt doesn't make a distinction between a save dialog for saving a
new file vs. a dialog for re-saving an existing file, so it seems this
is the better way to do it all the time, since a save dialog would
most often be used for saving a new file.

Task-number: QTBUG-40573
Change-Id: I285e898fafc54ae39f09d564ca431a279a8f8919
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-08-06 17:10:07 +02:00
Shawn Rutledge
276036179a QFileDialog docs: remove misleading sentence about static functions
Native dialogs are used whenever possible, not just when the dialog is
instantiated via the static function.

Task-number: QTBUG-36657
Change-Id: Ibad67114e67f8e2f9956037f8469542c72bfd8ea
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-08-06 17:09:50 +02:00
Jerome Pasion
77b40ab79b Doc: Placed Qt OpenGL class convention in code block.
-QDoc tried to autolink where it should not.
-The syntax looks much better in a code block than in a paragraph.

Change-Id: I21d08cbb1537186d09b52898d7b70a5c0794256c
Task-number: QTBUG-35019
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-06 12:55:51 +02:00
Peter Kümmel
4124cd159e Undo: Fix state entry bug for parallel state groups
This commit reverts c4cef6fae9.
The above fix for QTBUG-25958 (cloned in QTBUG-40219) is not
complete and introduces the regression QTBUG-30049.

Task-number: QTBUG-30049, QTBUG-25958, QTBUG-40219
Change-Id: I3c4b774dce06c13cb4e089f8413a7747cedfd212
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-08-06 07:21:18 +02:00
Laszlo Agocs
bde755558c Do not add QOffscreenSurface windows to the global list
QOffscreenSurface has to stay usable even after returning from app.exec().
Hence close()ing the underlying hidden window, that is used on platforms that
do not provide real offscreen surfaces, is wrong.

Normally all QWindows are closed (and thus destroy()'ed) when quitting the application,
meaning the the offscreen surface cannot be made current anymore after returning
from exec(). This is an unnecessary limitation and makes certain cleanup operations
impossible.

Backport of ba79f36cb1 from dev. This is necessary for
the 5.3 series too to avoid issues on exit in QQickWidget apps, on OS X in particular.

Task-number: QTBUG-40505
Task-number: QTBUG-39908
Change-Id: Iea1489378a18f29ff84ba8f13a6dad2d66d2b315
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-05 22:01:51 +02:00
Marc Mutz
54a4488ca5 tst_QHash: check which of several equal keys is inserted
Add a test that checks that QHash keeps the first of the keys
that compare equal. This may or may not be documented, but is
inconsistent with the values in a QHash, where the last element
with equal key is kept.

Document this as a test. That way, we'll be informed when the
behavior changes (e.g. by a port to std::unordered_map).

Do the equivalent checks in tst_QMap, too. There, of course,
instead of equal keys, check equivalent ones.

Change-Id: I2c5f04f8e8a6bbc7dbaadadd878a4c876e4df042
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-05 18:04:46 +02:00
David Fries
3a347a4e70 OpenGL: destroy QGLContext allocated by QGLContext::fromOpenGLContext
QGLContext already uses ownContext to identify when it "owns" QOpenGLContext
and will delete QOpenGLContext when needed.  In the other way
QGLContext::fromOpenGLContext creates a QGLContext for QOpenGLContext, and is
now using qGLContextDeleteFunction to identify if QOpenGLContext "owns"
QGLContext by QGLContext only passing a delete function when QOpenGLContext
should delete QGLContext, and by QOpenGLContext calling deleteQGLContext() from
destory() to do the destruction avoiding the previous leak and sometimes crash
on exit.

Change-Id: I65e791776e99b456e4d0c70fc5b5cdb33c975893
Task-number: QTBUG-40286
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-05 17:30:03 +02:00
Marc Mutz
e1fed5dc31 tst_QSet: check which of several equal elements is inserted
Add a test that checks that QSet keeps the first of the elements
that have equal value. This is documented, but inconsistent with
values in a QHash, which keeps the last element with equal key.

Document this as a test. That way, we'll be informed when the
behavior changes (e.g. by a port to std::unordered_set).

Change-Id: I4ca1718bb86599b925b3ccd13b0856917cd4ce67
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-05 00:02:26 +02:00
Oswald Buddenhagen
85011b82f0 fix paths in installed qtmain.prl
simply make use of the infrastructure used for "proper" modules.

Task-number: QTBUG-40026
Change-Id: Iffab72f7fb7a128549da2839a7497cff2f48b777
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-04 18:35:41 +02:00
Oswald Buddenhagen
ffd44acd0d pass --sysroot to compile tests also on windows
Change-Id: I486059197479842f32c3590d7fd269550d22698e
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-01 14:37:37 +02:00
Oswald Buddenhagen
ae496a0ea6 add /ENTRY:main only for target builds
Change-Id: Ifa1d36607a1884ec989b5b514e7d1b9a2b40ddce
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-01 14:37:24 +02:00
Oswald Buddenhagen
4a55f1510d avoid that CROSS_COMPILE affects host builds
Change-Id: Iee40cfd87d7ec640fb4b3526e58317bdc8a778c7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-08-01 14:36:51 +02:00
Oswald Buddenhagen
6c8e59d694 ensure that arch_host.pro is used also on windows
Change-Id: I110ec33a40f37ecdec5ab952ea56a4fc00cd27a8
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-08-01 14:36:43 +02:00
Oswald Buddenhagen
a5cf862f61 Merge "Merge remote-tracking branch 'origin/stable' into 5.3" into refs/staging/5.3 2014-07-31 17:29:06 +02:00
Rainer Keller
c0429719c1 Add missing power button keycode to keymap
Change-Id: I03682716aaea8344ebb5b71dcea5fe18babcd610
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-07-31 14:24:01 +02:00
BogDan Vatra
ef5fb6ead5 Android: export ANDROID_SDK_BUILD_TOOLS_REVISION.
It's needed by androiddeployqt tool to run "zipalign" tool
and to set it to gradle properties.

Task-number:QTBUG-40481
Change-Id: I3dd665a7461a4e981867cdad75a50940e46a5ae6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-31 14:16:51 +02:00
Sérgio Martins
291c6615a3 cocoa: Fix compiler warnings about unused functions.
Change-Id: Id85c86dd2f2468b3ac17751aefdebe0e8666a0c0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-07-31 13:40:34 +02:00