Commit Graph

20022 Commits

Author SHA1 Message Date
Robin Burchell
b38eb2985a tst_qguiapplication: Skip tests that fail with qwindow-compositor.
Change-Id: Iac3e9e8d4d857af944de66a95cebc9955bd8beda
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-23 13:50:30 +02:00
Robin Burchell
7232b022c8 tst_qsqlthread: Add debug about when threads finished.
Useful if someone is ever forced to try diagnose what goes wrong with this test.

Change-Id: I4b5e607e6329b6ebad2b40b3f65d6cacbb6b7fcf
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2014-08-23 13:50:27 +02:00
Marc Mutz
7c6a4276f0 QIconLoader: don't inherit QObject
QIconLoader did not use the services from QObject and the
Q_OBJECT macro was missing, too, so external code couldn't
have used it in a qobject_cast or inherits(), either.

Change-Id: I1f33dd540fa2ded48d871d848a77eee743a4e3c0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:20:07 +02:00
Marc Mutz
87ccab8bd6 QIconLoader: replace an inefficient QList with a QVector
QIconDirInfo is larger than a pointer, so holding it in a
QList is horribly inefficient.

Fix by holding it in a QVector instead.

Change-Id: I6551d2d2941447e600a33c3d68edf46db002d96c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:19:58 +02:00
Marc Mutz
0611f8d995 QIconLoader: mark virtual overrides
Change-Id: I72f20b5935d56d7c090fdd685e2bedc0778db505
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:19:49 +02:00
Marc Mutz
91f1b0b4e4 QIconLoader: mark a helper type as movable
QIconDirInfo is held in Qt containers, so reap the performance
benefit of a movable type.

Change-Id: I317c69ec46d324623b21a33043856e22f60e21b1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:18:53 +02:00
Marc Mutz
28f7404256 QIconLoader: replace while(!empty()) delete takeLast() with qDeleteAll()
There's no calling back into QIconLoaderEngine from the QIconLoaderEngineEntry
dtors, so don't bother slicing off one element by one from the container as
they are deleted, the more so as m_entires is either move-assigned or deleted
right after these loops.

Change-Id: Ic9ffa442ef0b0c59e19eb91d164183ea5c3bab67
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:18:33 +02:00
Marc Mutz
6244665faa QIconLoader: don't re-evaluate container.size() all the time (II)
Experience shows that the compiler does not recognize the
size() call as a constant expression, so help it along.

Change-Id: I688244f37c555365566cd1a59dc601974316a2e6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:18:23 +02:00
Marc Mutz
5335a71535 QIconLoader: don't re-evaluate container.size() all the time
Experience shows that the compiler does not recognize the
size() call as a constant expression, so help it along.

Change-Id: I60cd1754f8be123c62e3b47f6f721f42a69fe3c5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:18:15 +02:00
Marc Mutz
8f0f7acb67 QIconLoader: remove another unused variable
Change-Id: I2b11944d1964878ff5f6f666f33a97ea842ffea7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:18:07 +02:00
Marc Mutz
c07a9d6c63 QIconLoader: remove an unused variable
Change-Id: I4f1fee2da9358f63c4d3c9e46b8d69b4a1b280c7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-23 13:17:45 +02:00
Maurice Kalinowski
1b7969f94d WinRT: apply text color to WindowText as well
Otherwise some text gets rendered black, which is the default background
color on Windows Phone.

Change-Id: I963875879655207e881ab0199bdac98a1e4f4ea5
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-08-23 13:10:57 +02:00
Jani Heikkinen
8446aaff75 Added header.LGPL21
Change-Id: I6bfae65d38f12a2122fd36d2bfcd8fefa08f90b5
Reviewed-by: Antti Kokko <antti.kokko@digia.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
2014-08-23 07:17:35 +02:00
Simon Hausmann
fe70d005d5 Fix valgrind support in QTestLib's benchmarking
Valgrind has reached double-digit versions, so the regexp for detecting
the version from the string needs to be widened accordingly.

Change-Id: Ib95994f96d6b1e94a34bedd1b98525076851984b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-08-22 22:17:45 +02:00
Michael Brasser
970390e114 Incorporate fixes from QQmlAnimationTimer into QAnimationTimer.
Incorporates animation timer fixes in:
  * 7da483bfbefcaabb1dbbf3e2f1d5b5f7aadc3b06
  * b02eeeee586abe343b8866385c1327ac009b3ef0
  * 59d5c5cf555a51cd7559cea197a198ef3a792614
from qtdeclarative.

With these changes, we no longer need to call updateAnimationTimers
in QUnifiedTimer::startTimers.

Change-Id: Ic24501cfdc3cb572bd891d84f684f11c3bef1b50
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-22 18:59:09 +02:00
Martin Smith
2a56a3bad7 qdoc: Fix a few cases for '[ ... ]' linking
This update fixes a few cases that didn't work
correctly. The problem was caused by calling
findNodeForTarget() with a pointer to a relative
node, but the relative node pointer should always
be 0, when the domain tree to be searched is not
the same as the tree containing the relative node.
This fix sets the relative node pointer to 0 in
that case.

Change-Id: I2fe4a7a4a3b6392199666c7d49b473a56697e7b5
Task-number: QTBUG-39221
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-22 18:24:08 +02:00
Martin Smith
f752a7ab6c qdoc: Report error in square bracket parameter
This update makes qdoc report an error, when it can't
recognize a parameter in square brackets.

Change-Id: I45d31ec875ac533736ee4a565ff3f217353068dd
Task-number: QTBUG-39221
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-22 18:24:02 +02:00
Martin Smith
af7f944dc5 qdoc: Add new checkForCollision()
But don't use it yet. qdoc will check for name
collisions within a module, once we decide what
collisions to look for and what to do about them.
This change puts a rewritten checkForCollision()
function back in, but doesn't use it yet.

Change-Id: I41f9275c3ca29f228268ccf7cb2d99bbe0ce557c
Task-number: QTBUG-40506
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-22 18:23:50 +02:00
Martin Smith
a5570bbf9a qdoc: Remove all collision node stuff from qdoc
Now that the qdoc link command has ability to tell qdoc which module
contains a link target or whether to link to a QML or CPP entity,
collision pages should no longer be necessary. In fact, qdoc hasn't
been generating any collisions for some time. This task removes all
the collision node code from qdoc.

Task-number: QTBUG-40506
Change-Id: I34d1980ca1c0fe4bb5ad27dd4b00e61fa7e6e335
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-22 18:23:39 +02:00
Laszlo Agocs
701b72c261 Rework platformheaders qdoc conf
In an attempt to make the classes show up in the generated documentation.

Change-Id: I198f788a42f6007802db2384e3cd79e988f573e7
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-22 09:26:27 +02:00
Andrew Knight
67c83f329e Tighten Q_OS_WINRT ifdefs in qfunctions_winrt.h
This allows the convenience macros to be used on desktop Windows 8 when
interacting with Windows Runtime types.

Change-Id: I09c6b18a6ee9711371ef7dc23fb1d3354198db1c
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2014-08-21 18:21:52 +02:00
Pelle Johnsen
4a2e297b4f Replacement for QWS_DBLCLICK_DISTANCE
Add QT_DBL_CLICK_DIST to replace QWS_DBLCLICK_DISTANCE for controlling
the distance for detecting double clicks, which can be very useful on
embedded devices

[ChangeLog][QtGui] environment variable QT_DBL_CLICK_DIST 
customizes the amount of movement allowed when detecting a double click.

Task-number: QTBUG-40841
Change-Id: I0a7534ad6cd6387d127eb49021a92d414d45670e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-21 17:53:52 +02:00
Shawn Rutledge
f45efafacf QTextCodec::codecForHtml looks at the first 1024 bytes
The HTML 5 spec requires it, instead of only looking at the first 512.

Task-number: QTBUG-40383
Change-Id: Ie10cf8c745ed1a3402914e126a02bc43d5035fff
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-08-21 17:50:39 +02:00
Shawn Rutledge
dd6080ceac Debug logging support for QNativeGestureEvent
The most useful information is what kind of gesture the event
represents, but it was missing until now.

Also added a line of documentation about the NativeGesture event type.

Change-Id: I1ba3c951dcc5751e937d762d9b647ab0bf8d93b8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-08-21 17:49:44 +02:00
Shawn Rutledge
d88de0452a xcb: set up touch devices even if debug is not turned on
59ba84d31c introduced a mistake.
It's necessary to populate the device data structure
even if we are not going to log anything.  Now the accessor
is renamed to touchDeviceForId and the struct is renamed to
XInput2TouchDeviceData to make it more clear that it is only
for touch devices.

Change-Id: Iaa3cce2d6cae250318f5a200becb9de9626b6437
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-08-21 17:31:40 +02:00
Allan Sandfeld Jensen
b78e81f7c2 Outline drawing should not override the default freetype loadflags
We set FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH as the default load flags
for freetype fonts, but due to using = instead of =| the default flags
gets overridden when outline drawing sets FT_LOAD_NO_BITMAP.

Change-Id: I26b45aa2bbf613689d278eb07ae028ef9757023c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-08-21 17:31:33 +02:00
Martin Smith
6b12d781fa qdoc: Generate obsolete members page for QML types
Generation of the obsolete members page, for QML types
that have obsolete members, had not been implemented.
This update implements that missing feature. The link
to the page appears right below the link to the "All
Members" page.

Change-Id: I3e4bb2a68d5c8ef2bbe2e0c431eccf94ecb1fd3c
Task-number: QTBUG-40214
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-20 21:59:53 +02:00
Martin Smith
a2c432e978 qdoc: Allow choice of linking to QML or CPP
This update enables using QML or CPP as the parameter
in square brackets for the \l command. You will use this
when, for example, there exist both a C++ class named
QWidget and a QML type named QWidget and your \l {QWidget}
links to the wrong one.

Suppose you write \l {QWidget} expecting it to link
to the QML type named QWidget, but it links to the C++
class named QWidget. Then write this instead:

\l [QML] {QWidget}

Or if you wrote \l {QWidget} expecting it to link to
the C++ class, but it links to the QML type, write this
instead:

\l [CPP] {QWidget}

A qdoc warning is printed if qdoc can not recognize the
parameter in square brackets.

There will be a further update to complete this task for
implementing the other type of parameter that can be in
the square brackets.

Task-number: QTBUG-39221
Change-Id: I5dd85478f968025ecbe337a8aabcc31d8b12a86d
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-20 21:59:23 +02:00
Robin Burchell
0da4ddfcc5 tst_QWidget: Skip tests that don't pass with qwindow-compositor.
Everything else passes, after some pending fixes in QtWayland.

Change-Id: Ibd8efcaab8c5210111854f1a7362434046a62898
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-20 21:45:15 +02:00
Robin Burchell
69b256285b tst_qsqlthread: Move manual qWait calls into QTRY_VERIFY
Reduces the average runtime of this test for me by ~600ms, but due to the
threading variance the exact reduction is hard to tell.

Change-Id: I96a9f949ae2381f69d9364e6637db0db4bd3b165
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-20 21:45:01 +02:00
Gunnar Sletta
dfc8f8b5d4 Rework how animationsystem interoperate with an animation driver.
We need to keep track of both wall time which are used for pauses
and actual animation driver time which is used for actual animations.
When switching between these, we need to also maintain the temporal
drift potentially introduced by the driver and also the time
that has passed in wall-time from when a pause has started until
an action animation takes over.

This change introduces a well defined elapsed() function in
QUnifiedTimer which will return the right value based on which
mode we are currently in. It also introduces start/stopAnimationDriver
functions which helps us maintain the temporal drift and pause-delta.

Change-Id: I5b5100432a6db444a413d1bca4f2d5f800e8cf3e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
2014-08-20 18:53:09 +02:00
Laszlo Agocs
28add98e24 Skip the expose region test on Windows
In some CI configurations this fails from time to time. Have to disable
it unless we can make it more robust somehow.

Change-Id: Iadd8904d7223a6aeff53dafa36b94df3f60e1ad8
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2014-08-20 18:03:44 +02:00
Konstantin Ritt
7304c9a4e8 Make HarfBuzz-NG the default shaper on all platforms
[ChangeLog][Important Behavior Changes] HarfBuzz-NG is now the default
shaper on all platforms. This results in a better shaping results
for various languages, better performance, and lower memory consumption.

Task-number: QTBUG-18980
Change-Id: I4d9454fc37e9050873df3857e52369dfc7f191b2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-20 10:10:40 +02:00
Robin Burchell
2e2374a226 tst_qsqlthread: Replace sched_yield calls with QThread::yieldCurrentThread.
Makes the test behavior identical across all platforms.

Change-Id: I5e564598d8e61588af2b73f04b4ca7c9b899c02a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-19 18:51:44 +02:00
Thiago Macieira
36a30d8e49 Restore foreach macro for GCC 4.3 and 4.4 in C++11 mode
In C++98, typename can only be used for argument-dependent types and
that's not the case here. This was tracked as language defect 382 and
was fixed in the final C++11 standard, but the fix didn't make it to GCC
4.3 and 4.4 (which do have decltype).

qthreadpool.cpp:274: error: using 'typename' outside of template

Task-number: QTBUG-40783
Change-Id: I0eb702b33d2e8c95284f52841b0021dbfc743874
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-19 17:33:25 +02:00
Frederik Gladhorn
41f496cb7f Accessibility: QSpinBox should not have any children
On both iOS and Android it is very confusing to be able to move the focus to both, the line edit and the outer frame that is the spin box.
For Linux this fixes an issue that orca would not read the value correctly after pressing the up/down buttons.

Task-number: QTBUG-39861
Task-number: QTBUG-39442
Change-Id: I73c50c91e9021324c52d168d537afd0ea719a48f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-19 14:23:13 +02:00
Frederik Gladhorn
cf621f1b9e Accessibility Linux: add action interfaces for value
Change-Id: I454493fc6e9e93f44d15986ca843c3244f97cbe6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-19 14:22:48 +02:00
Paul Olav Tvete
ae5f2a6672 devicePixelRatio support for XCB
This adds support for the environment variable
QT_DEVICE_PIXEL_RATIO for the xcb platform plugin.

Task-number: QTBUG-38858
Change-Id: I7faca2f2e7dc5c601a82b3cc08456870b3e5602d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-08-19 13:22:20 +02:00
Louai Al-Khanji
98cd256d24 Fix QGlyphRun text rendering
When drawing QGlyphRun objects through QPainter the QFont passed in
QStaticTextItem/QTextItem is not properly initialized with the correct
size, weight, style strategy etc. Shuffle things around so we always go
through QFontEngine for font data, as that should be more reliable.

Change-Id: I43811c868ebd4fb1d9e937ee28a6d637267b4c7f
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-08-19 12:00:46 +02:00
James Turner
6ebc0bd863 Allow ES3 (and ES1) context creation on iOS
Instead of hardcoding an ES2 context, use the major version
from QSurfaceFormat. The EAGL API constants match the
major versions so simply cast to avoid SDK version issues.

Change-Id: Ieb46f10ea6b797d65c6c8b778bb043becb7a2f95
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-08-19 11:46:10 +02:00
Robin Burchell
97cd20b2a0 Remove QPlatformScreenPageFlipper.
Use of this was removed from QtWayland quite a long time ago, which was the only
public user of this API.

Furthermore, it isn't easily possible to implement any use of this API without
full control of the graphics stack (a very rare occurrence) and there is no
public demonstration of this.

There is ongoing research to provide a better replacement for this in the form
of QPlatformHardwareCompositor.

Change-Id: I80d666a5b465aa80f73fed6c44838ce7210bbd30
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-19 10:10:03 +02:00
Andrew Knight
636d2e3402 winrt: Remove depth/stencil from the default window format
After the last ANGLE upgrade, some hardware fails to render proper
QtQuick scenes when using a depth buffer (which is present in the default
window format). As the batched renderer no longer requires a depth
buffer, this workaround can be safely applied.

Task-number: QTBUG-40649
Change-Id: Id0f6e418aa5c6346186678728f88a6c18af5fb74
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2014-08-19 09:36:17 +02:00
Eskil Abrahamsen Blomfeldt
c26d5cf6ef Harfbuzz-NG: Compile on WinRT
There is no environment (like WinCE) and the basic version
of InitializeCriticalSection is unsupported.

Change-Id: I7c5038115f0dbfdc616bce89a9be166b5f2a1dcc
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-08-19 09:30:12 +02:00
Maurice Kalinowski
c73fe94285 WinRT: Do not forget the path specification
The path value can be used to access any container or subcontainer
in the settings, even if it is not created by Qt.

Change-Id: I431d8a8b129dafb4ec85227421dc37ec76c18ecf
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-08-19 08:58:09 +02:00
Maurice Kalinowski
2ffcf3a423 WinRT: Fix QSettings auto-tests
WinRT is a sanboxed environment, hence files can only be created in
some writable location.
For some tests we reset the current directory to minimize the required
changes. We cannot do this for the application lifetime as the test
also has cases where it reads files relative to the executable inside
the sandbox.

Change-Id: Ib9d37c8cffd191f0d1055f835c11d10887923378
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-08-19 08:58:01 +02:00
Robin Burchell
3be048826f tst_qdbusabstractadaptor: Reduce qWait() usage.
Convert qWait to QTRY_ where we can, and make the qWait durations explicit (not
buried in a function call, but inline in the actual test) where we can.

Total runtime for me goes from 91 seconds to 2 seconds.

Change-Id: I45b3562cb94721a521718365fd51a4172a2e4e18
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-08-19 04:09:24 +02:00
Giuseppe D'Angelo
1b149c2bf5 If a tess/compute shader compilation fails, print its type correctly
Change-Id: I7536b596b890ed304846572b3068b3e932c0f594
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-08-18 22:03:40 +02:00
Giuseppe D'Angelo
75b62f3a17 Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4 2014-08-19 00:42:00 +02:00
Frederik Gladhorn
65240c602b Accessibility Linux: use Frame for Windows
On Linux it's actually more common to use frame as role for windows
since they are per definition normal main windows.

Change-Id: Iee5bdfca139049846c1be864661231a594edf695
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-18 21:09:01 +02:00
Robin Burchell
ef1ee956c1 tst_qmouseevent_modal: Replace some qWait with QTRY_VERIFY.
Takes the total time for this test from ~1.2 seconds to ~0.42 seconds for me.

Change-Id: I426e600a7afe01d7343108b432eda8b83d6f3d85
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-18 20:57:23 +02:00