Commit Graph

15459 Commits

Author SHA1 Message Date
Frederik Gladhorn
f86ffab402 Accessibility: simplify dockwidget accessible
This patch merges the two classes that were used to make
dock widgets accessible into one.
The title bar does not need to be represented by its own
accessible object.

In addition the buttons on the toolbar are now labelled.

Task-number: QTBUG-33946
Change-Id: Id90d8c09f15ed683e64dbe3f6ac55bca7a0b300f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-10-14 15:00:15 +02:00
Gunnar Sletta
9ebd76b021 Avoid calling convertFromGLImage on a null image.
Task-number: QTBUG-34017

Change-Id: If51ef4b1f906677e26d14b5a92799097d18ac437
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-10-14 14:58:00 +02:00
Laszlo Agocs
4ba1072f3f linuxfb: Make the mouse cursor visible and working
Change-Id: I58bae7235ae714da551da1337ee6340fc712aaa5
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-14 12:08:12 +02:00
Laszlo Agocs
a662d42125 linuxfb: Pick the correct framebuffer device on Android
Try also /dev/graphics/fb0 in addition to /dev/fb0.

Change-Id: I9c7682af0c92ebdca806b7c9f60c67d4a732ff41
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-14 12:08:08 +02:00
Laszlo Agocs
99b20ce0b9 Update QPA cursor only for non-synthetic mouse events
Unhandled touch events cause QGuiApplication to generate synthetic
mouse event by default. This is good but on embedded systems, where
there is no windowing system and thus the platform cursor
implementation relies solely on QGuiApplication pushing position
updates via pointerEvent(), this causes odd behavior when there is
both a touchscreen and a mouse present.

The patch changes QGuiApplication to call pointerEvent() only when the
event is not synthetic. This will prevent the mouse cursor from
jumping to the position of the touch when using the touchscreen. It is
needed also because moving the mouse later would make the cursor jump
back to its previous, "real" mouse position anyhow which is extremely
annoying. This is now avoided.

Change-Id: I807a173bff7e2afa7eb66961a7ecc88b2c0430ca
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-14 12:08:00 +02:00
Tor Arne Vestbø
d004af667d macx-xcode: Change wrapper to write to QMAKESPEC to change mkspec
The allows us to remove the custom logic in default_post for finding
the plist files, and also fixes issues when the wrapped mkspec had
its own feature files.

Change-Id: I4c26cf6a7809f527e170c51c57f59aaf6088774c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-14 12:07:53 +02:00
Bernd Weimer
c81d261080 QNX: Removed alternate window property
Some older QNX versions don't support SCREEN_PROPERTY_ALTERNATE_WINDOW,
so cover windows have generally been disabled on QNX.

Change-Id: Ibe4b0abc39eb8497571f88c90876571576708d79
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-10-14 10:07:38 +02:00
Andy Shaw
64332372a1 Don't rely on the Qt version when reading a QHeaderView state stream
Since the datastream version is not set in previous versions of Qt when
streaming the state of the QHeaderView then we cannot rely on this when
adding new data to the state. Therefore we check if we read past the
end before assigning to the new variable.

Change-Id: I7128ffc91e47f9c8797cfa24d206a789d2814908
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2013-10-12 12:37:50 +02:00
Jian Liang
5c87044870 Fix memory leak in QFileInfo::exists()
Use the the legacy file engine object created in static function
QFileInfo::exists() as the engine of the QFileInfo object to prevent
memory leak. This can also boost a little performance.

Change-Id: I06317d158d487be5ef15fe3244a917a371563ac9
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-12 10:52:03 +02:00
Kai Koehne
54b0e94cfb Network: Fix compiler warning about unused variable
Fix gcc 4.8 warning about unused variable in release mode.

Change-Id: Ie8ef4f99b4fbb9dbb47114fc37774373880fa21b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-12 01:44:09 +02:00
Kevin Funk
2cf39c8775 Documentation: Add '\since' to doc for Qt::Edge
That enum got introduced in b6e9a8f21a

Change-Id: I2d69179624cecff63549bfee66bc68bb4b27af8c
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-12 01:43:47 +02:00
Kai Koehne
95174083ae Fix compilation with older MinGW headers
Headers from mingw.org (4.7.2) declares _flushall only if __STRICT_ANSI__
is not defined ... Anyhow, we can as well use fflush(), which is in the
official standard.

Change-Id: Ic2b4d2ac724280f1304221be1fceab067af0c1f8
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-12 01:43:38 +02:00
Marcel Krems
dc860e2e08 Doc: Fix typos and add missing words.
Change-Id: I40e4780bcabbca29425945a69d8a0781cd5c0e9f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-12 01:43:24 +02:00
Andy Shaw
3fe242781e Export the block's line-height settings to html
Task-number: QTBUG-28404

Change-Id: I87e03ecd981c302a5aefdadf7bcfd9729e37bd13
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-10-12 00:02:04 +02:00
Harri Porten
257e98917c Re-add deprecated symbol for ABI compatibility with Qt 5.1.
When b0b786a2f0 deprecated
QFontDatabase::supportsThreadedFontRendering() it made the
function inline also. That way compilers like gcc did not
export the symbol anymore.

Change-Id: If9c343eaa2ff90540decbc19b0af33d439c0bbaa
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-11 22:32:16 +02:00
Oswald Buddenhagen
40d4c1b2ed make sure that installed meta files are always postprocessed
the problem is that there is no sed command on windows ... so build it
into qmake and invoke that from the generated makefiles. cmake does the
same, after all. ^^

Task-number: QTBUG-33794
Change-Id: Ib7077e18acbc5edd79f714c5779a5ed31ea6c093
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-11 21:04:04 +02:00
Oswald Buddenhagen
580096d611 rewrite qtMetaObjectInheritance() without gui
Change-Id: Ie024a3ee755cfe4996ed442686cd73ce13a2d5ff
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-11 21:03:39 +02:00
Oswald Buddenhagen
90c65880b0 skip gui-needing examples with -no-gui
Change-Id: I2413f14f0c2d9179868877615d6131bf4ca7ea16
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-10-11 21:03:34 +02:00
Oswald Buddenhagen
9c5e63ceb3 support building with -no-gui
Change-Id: I1c418e2aa6c01dbc40156a3494a7f7ddc95beca3
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-10-11 21:03:30 +02:00
Oswald Buddenhagen
bc92ca1860 include privates the right way
Task-number: QTBUG-33496
Change-Id: Id23e00627cb7896ba44c8b612ce4aff980750f7d
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2013-10-11 21:03:26 +02:00
Oswald Buddenhagen
58de01b54b fix setting of output directory of SUBDIRS with -tp vs
amends ec145129c.

Investigated-by: Nikolai Tasev
Task-number: QTBUG-32375
Change-Id: Iff27c03c0bb4f739dad9d10bae9576946948041b
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-11 21:03:21 +02:00
Fatih Aşıcı
4723f3fd04 configure: Parse -device-option value correctly
The regular expression does not parse correctly when a device option value
contains the character '=' (e.g. QMAKE_CFLAGS="-D_FILE_OFFSET_BITS=64").

In order to break string at the first equal sign and to simplify code,
use "cut" command as in other places in configure script.

Task-number: QTBUG-33584
Change-Id: I05b474d2ba6bff84c1e40d00475963bab36d94b6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-11 21:03:18 +02:00
Tor Arne Vestbø
a9bad65b09 qmake: Update internal mkspec on changes to QMAKESPEC
Allows the macx-xcode mkspec to be a wrapper around other mkspecs.

Since QMAKESPEC can now be set in the spec, we have to ensure not
to append to QMAKESPEC.

Change-Id: Idf33ff38147f14c488f14b426c02d9a739fdaecf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-11 21:01:27 +02:00
Richard Moe Gustavsen
e1e2b2d8ca qml_plugin.prf: moc plugin with -Muri=$$TARGETPATH
When we build qml plugins, we now depend on embedding
the uri of the plugin into its meta-data using the new
-M switch to moc for static builds.

This patch will let this happen automatically whenever you
call load(qml_plugin) from your pro file.

With this patch, you only need to rebuild your plugin
to support static applications.

Task-number: QTBUG-28357
Change-Id: I99e2fc80688fa43cf734551553f4fa0cb5ed47ed
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-10-11 21:01:27 +02:00
hjk
7a47aebe9e Let QLoggingCategory::defaultCategory return a pointer
The pointer can be null. Going trough the reference invokes undefined
behavior here.

Change-Id: Ia84e4e732cdcbbaee0f5f0679765d18069ea8b2d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-10-11 19:15:29 +02:00
Tor Arne Vestbø
f9889534d1 Remove last traces of CoreServices/QT_NO_CORESERVICES on Mac
Change-Id: Ia603e717f3b37dc982468eb2b7eb781d7529ccb0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-11 18:49:25 +02:00
Tor Arne Vestbø
dd5e40d9c6 Allow custom definition of Q_FORWARD_DECLARE_OBJC_CLASS and friends
Change-Id: I761ef508672d5d4e8b9067a1b5f91debe09607d4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-11 18:49:12 +02:00
Tor Arne Vestbø
40ad539787 qmake: Allow QMAKE_MAC_XCODE_SETTINGS to be limited to debug or release
The Xcode generator does not support exclusive builds, but still
generates projects that contain both debug and release configurations,
each with hard-coded differences such as whether or not to strip or
to generate debug symbols.

As a stop-gap solution we allow projects and mkspecs to add extra
settings that are limited to a given build. Long term we want to
rewrite the Xcode generator to support exclusive builds, but that
is a much bigger task.

Change-Id: I85056164bb1b3c8c6e0cf66410348cca7138eca5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-11 18:49:03 +02:00
Kevin Ottens
d8d6880682 Reduce risks of lock file corruption
Trying to do as few operations as possible once the file got opened.
That includes generating the data which will go in the file. Indeed if
we crashed at that point the lock file is already emptied. Could happen
because of the qAppName call. It's then safer to prepare the data
upfront, and just open/write/close if possible.

Change-Id: Iad32fa822c6a5958ae89d84a2fe02ed5366ea278
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-10-11 18:47:27 +02:00
Marc Mutz
059857d4d5 QVector: add some functions missing for QList compat
Eases migration from QList to QVector.

Had to rename the 'length' parameter to mid() to suppress
-Wshadow warnings.

Task-number: QTBUG-3781

Change-Id: I755c6caefe4de81ea42a81b1c76aab728e639613
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-11 18:47:27 +02:00
Tor Arne Vestbø
0e96e47deb qmake: Centralize TARGET sanitization in default_post.prf
Shared between UNIX and Win generators, and allows prfs after
default_post to rely on sane TARGET and DESTDIR values.

This allows us to clean up the DESTDIR logic in testcase.prf,
which was completely busted. Doing the two in separate commits
is unfortunately not possible as the old testcase.prf logic
was so broken it would barf if only looked at.

Change-Id: Ibf21216195c760ee46ae679c162b207b77a9d813
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-11 18:47:27 +02:00
Friedemann Kleint
2b8e571f84 Stabilize tst_QComboBox::keyBoardNavigationWithMouse.
The cursor needs to be within the view from start on Mac.

Task-number: QTBUG-33973
Change-Id: I313c9fd1c3a917e135a92497f1818d1b0d8b7698
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-10-11 18:47:27 +02:00
Sergio Ahumada
65855d9d68 iOS: Skip qtmacextras module
This module doesn't make much sense for iOS.

Change-Id: Iadcf3006e1e2bdd97c460e836e91717856cb118c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2013-10-11 18:47:27 +02:00
Liang Qi
46cde99c57 add a missing break in QGuiApplicationPrivate::processWindowSystemEvent
Task-number: QTBUG-34016
Change-Id: Ifbb4a63845328e32fb0ad679415dca0f90dde624
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-10-11 18:47:27 +02:00
Allan Sandfeld Jensen
9e7fa9f72b Make QSystemTrayIcon::showMessage invokable
Qt WebKit's HTML5 web notifications rely on QSystemTrayIcon::showMessage
to be invokable since the lower WebCore components can not link directly
to QWidgets.

Change-Id: I952de47ed8a90553a8f1ac30256d77ef6014da44
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-10-11 18:47:27 +02:00
Allan Sandfeld Jensen
5e4b9f1154 Use QAtomicInt ref/deref pattern
Change check of QAtomicInt::load with the preferred ref() deref() pattern.

Change-Id: I12d2e24812259c16623c8a59cac30cafa4b05565
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-10-11 18:47:27 +02:00
Tor Arne Vestbø
eea1c359c9 qmake: Evaluate extra configs before loading default_pre
Exclusive builds uses setExtraConfigs to apply the particular CONFIG
of each build pass. Unfortunately we were not applying these extra
configs early enough in QMakeEvaluator::visitProFile() for them to
be picked up/usable by default_pre, something that can be useful.

Change-Id: I423a4688250a15f0c1a2cc65a48f0bbc14ad4497
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-11 18:47:27 +02:00
Tor Arne Vestbø
8e7dc25380 qmake: Load extra variables only if also loading pre-files
The extra variables only need to be applied once, when we
are loading the pro file (and hence are loding pre files),
not for every single pri/prf that's loaded as a result of that
(which do not load pre files themselves).

Change-Id: I3118694a8eeccf2dc32c4f62df754033fad13528
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-11 18:47:27 +02:00
Thomas Senyk
76359dab8e eglfs/imx6: enable double buffering and vsync by default
Enabling vsync and double buffering improves the overall impression.
Enabling by default helps to get the best "out of the box"

If not desired, one can disable this behavior via:
export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1

Change-Id: I21ce5366ea5829140d8103cf2dbd8c487d079db6
Reviewed-by: Donald Carr <sirspudd@gmail.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-11 18:47:27 +02:00
Allan Sandfeld Jensen
894f867090 Memory leak with Small-caps QRawFont
Make sure we deallocate the scaled rawfont, when it is not used due
to a cached engine being used instead.

This fixes a major memory leak in Qt WebKit when using Small Caps in the
complex font path. The complex font path is always used for small caps
since Qt 5.1.

Task-number: QTBUG-33576

Change-Id: I500db9ae6f6576734f1a972387a1a488218a9db6
Reviewed-by: pierre.rossi@digia.com
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2013-10-11 12:10:20 +02:00
Andy Shaw
6f65466137 Ensure CSS rules are inherited from the parent tags
When CSS was set in the head tag then it was not being inherited by the
child tags. This ensures that the inhertiance happens and that the deeper
the CSS is set then it will ensure that it has precedence over the ones
set on the parent.

A test is added that shows the standard inheritance from the head tag and
the precedence from child tags in effect too.

Task-number: QTBUG-28770

Change-Id: I30be3ec141b2cd8d6e0db8a92669aed34da93b33
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-10-11 12:05:59 +02:00
Laszlo Agocs
c16dbfbdde eglfs: Show the mouse cursor when a mouse is connected
Currently the mouse cursor is shown by default and it can be
turned off by setting QT_QPA_EGLFS_HIDECURSOR to a non-zero
value. This is now enhanced with an automatic detection step
via QDeviceDiscovery (the helper the input code use anyway).

From now on if QT_QPA_EGLFS_HIDECURSOR is not set, the cursor
is shown only if a mouse device is present in the system.

This could later be enhanced further by showing and hiding the cursor
dynamically during runtime although that will not be of much use for
embedded platforms without libudev.

Change-Id: I7e4b85ea8807200871c88fc42b11ab2adac90d32
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-11 11:58:59 +02:00
Kevin Ottens
c657bb7b51 Make sure QLoggingCategory default is available
This avoids crashes in case where qWarning() would be called from a
global static deleted after the one holding the default category. I
encountered this case with a QLockFile locked from a global static while
the application quits, it was calling qAppName which was triggering a
qWarning as the qapplication object was gone too.

Change-Id: I8910e8559d063e8f0a737bae3da5edc481ab84d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-10-10 09:37:33 +02:00
Tor Arne Vestbø
5466eb289f Remove warnings about examples not running in the Qt Simulator
The Qt Simulator is no longer supported with Qt 5.

Change-Id: I0f98351d482dd0554ea0754746d56f94ee6bf22f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-09 21:45:31 +02:00
Christian Strømme
c5b2553fc2 Android: Add QAndroidJniXxx as friend classes in qjni.
The JNI classes in Qt Android Extras are changing name from QJNIXxx to
QAndroidJniXxx and they need to be friends of the private JNI classes
in core.

Change-Id: Ib5e1729f4bbba876b7d3eba5742fe750f95c48f7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-09 18:22:38 +02:00
Paul Olav Tvete
85fc94db1b Android: Fix backspace bug with 4.3 stock keyboard
The Android 4.3 keyboard will cause setComposingRegion() to be called when
backspacing over an existing word. If we don't implement that, the editor
will be out of sync with the input method.

Task-number: QTBUG-32955
Change-Id: I6c4ff786269a4e74c70a093c5f03c4c5a5727dd5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-09 15:38:24 +02:00
Eskil Abrahamsen Blomfeldt
c376c272e6 Android: Correctly escape backslashes in deployment settings
When outputting the deployment settings on Windows, the paths might
have backslashes. These need to be escaped, otherwise they will simply
be removed by the JSON parser (or converted into whatever they happen
to represent given the neighbouring character.)

Task-number: QTBUG-33926
Change-Id: I11f1bc7d1f8082c73329bdc02fb8d653a0b5c0ee
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-09 15:38:24 +02:00
Eskil Abrahamsen Blomfeldt
d4b30757ab Fix broken text layout with ShowLineAndParagraphSeparators
Before we add the current cluster we need to check if there's
space for it. Calling checkFullOtherwiseExtend() also has
the side effect of resetting the space data. We would add
the cluster without checking for space when showing separators,
causing broken behavior like we would count the space in the
current item as trailing space, which would make us chop the
end of the string.

Task-number: QTBUG-28832
Change-Id: I8169662218ff6e645575d4e89a57f6b234f3c4cb
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-10-09 13:52:58 +02:00
Eskil Abrahamsen Blomfeldt
96a11284f2 Android: Fix black screen when changing orientation
When targeting API level 13 or higher, you need to explicitly
subscribe to configuration changes for screen size, otherwise
surfaceChanged() will not be called when you change the
orientation of the screen.

Task-number: QTBUG-33140
Change-Id: I48fd1d298c408802d1743736f62128cd0eec8983
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-10-09 13:52:58 +02:00
Laszlo Agocs
80cd06fd9d eglfs: Separate compositor and improve raster window support
Separating the compositor into a separate source file improves the
chances of possible future reuse and paves the way to supporting
multiple GL windows. Tooltips are now working too. Implemented a few
window functions like raise() and lower(). Fixed the qFatal for
multiple GL windows to be raised in non-SDK based Android builds too.

Change-Id: Id94d2fb2a4382766f3d130eebe1e6f397a535852
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-09 13:52:58 +02:00