Commit Graph

26201 Commits

Author SHA1 Message Date
Tor Arne Vestbø
980fd570cd xcb: Don't try to detect cases where the WM restricts geometry changes
This caused issues in upstream tests that didn't expect to have their
geometry requests not being respected by the WM.

Task-number: QTBUG-49912
Change-Id: Iec99f341d81488de6026f04c99dff45a0d3f8587
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-12-14 20:23:25 +00:00
Maurice Kalinowski
7f92edb7ac winrt: Avoid blocking for the first processEvents run
When calling WaitForMultipleObjectsEx, do not use a
timeout for the initial call. This saves around 10%
of blocking invocations in the QEventLoop autotests.

Change-Id: Ib24436ed11de1865e31f9ff0ddf6ce1bc5562f42
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-14 08:43:31 +00:00
Maurice Kalinowski
127b9fa5b0 remove visual studio specific argument
"-ServerName:" is only used for Visual Studio and causes bad side-
effects when using QCommandLineParser.

Change-Id: Ifef652bbb65df9279a39ae3c74ddbb563c87bd90
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-14 08:43:25 +00:00
Maurice Kalinowski
acdd57cb43 Fix compilation for WinRT
TEST_HELPER_INSTALLS cannot be used on platforms with no
QProcess support.

Change-Id: I2a6a283d94ca4487fc628449c53fc37140dd291d
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-14 08:43:15 +00:00
Sérgio Martins
fd527592b7 Don't detach the color table vector
Change-Id: Iec7814b0aca74ddc9744af358561b18b96d7a266
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-13 19:24:59 +00:00
Giuseppe D'Angelo
3b093034b6 QFileSystemModel: report special files which are not symlinks
Since special files have file size == -1, they were always filtered
out by QFileSystemModel, even when passing QDir::System as filtering
option. Keep them instead.

The testcase is more convoluted than it should be because QFSM
is so broken that it returns valid indexes for invisible elements
in the model (such as filtered out elements).

Change-Id: I023a9813dbfeed7be99dded42c66b1191afdc17e
Task-number: QTBUG-20968
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-13 11:46:17 +00:00
Pasi Petäjäjärvi
7ac5228144 Delete QInputDeviceManager when deleting QGuiApplication
Without deleting m_inputDeviceManager instance it will remain
in process and causes crash when creating+destroying QGuiApplication
multiple times in process. Crash happens because m_inputDeviceManager
already exists when creating new instance of QGuiApplication and
metadata for QInputDeviceManager is not anymore valid and crash when
accessing it e.g. using connect() function.

Change-Id: I5acb1c5f6ce2ba9665fa893047210a913debe4e4
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-12-12 20:05:25 +00:00
Friedemann Kleint
be9df4bc82 QWindowsBackingStore::flush(): Add warning for UpdateLayeredWindowIndirect() failures.
Task-number: QTBUG-49785
Change-Id: I881e6d294ae6b23e280e727ee1fc48ee6562f2fe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-12-12 10:39:14 +00:00
Giuseppe D'Angelo
69efc425b2 QFileSystemModel autotest: fix a broken sort() test
The test was comparing an "unsorted" file listing read from disk
with a reference listing, checking whether the two were different.
Obviously that's a nonsense test, as there's no stable order
for the entries returned by readdir_r and friends.

Change-Id: I1d781a6513c42bb0b585d02e57a771c5336c7df4
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-12 10:38:53 +00:00
Tor Arne Vestbø
fa9008566c Remove iOS workaround for pixman drawhelpers
Change-Id: I8636993571b04d8cda74708777ba3ef2bac09fb5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-12-12 10:27:50 +00:00
Vincas Dargis
e8eaf82e58 PostgreSQL: Fix memory leak in QPSQLDriverPrivate::getPSQLVersion()
Memory leak occurs when 'release' pointer variable is overwritten
for second use without releasing resources it is currently pointing
to. Leak occurs only in specific edge case depending on
client/server versions.

Task-number: QTBUG-49789
Change-Id: Ie5be8996ed158309f20dbb3574f956d2eb137460
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2015-12-12 10:21:13 +00:00
Giuseppe D'Angelo
4b35c91a77 QLineEdit: a validator fixup() should keep it modified; add failing test
I still have no idea how to fix this properly given the absolute mess
of QWidgetLineControl. For now add a failing test.

Change-Id: Ieb5ad6994c8ce7deb0cd0f2f47d51073d042244e
Task-number: QTBUG-49295
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-12 07:53:23 +00:00
Tor Arne Vestbø
d729c3459f iOS: Enable non-pixman NEON drawhelpers for both 32 and 64-bit
The pixman drawhelpers are implemented using GAS syntax, which the
Clang assembler doesn't handle, nor do they work on 64-bit ARM, so
we disable them selectively. They are only used for 16-bit surfaces
anyways, so it not a big deal on iOS.

(cherry picked from commit 49568df954)
Change-Id: I70848981c794739d40a6a2d9a537307bc80d61a6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-12-12 07:19:04 +00:00
David Fries
b2c7c489ab QLockFile: decide on locking strategy per path
It is filesystem dependent if flock and fcntl locks are independent or
the same underlying lock (which causes getting the second lock to fail).
A temporary file in /tmp might be on a local file system and pass
while the lock file is placed on NFS and fail with:
  setNativeLocks failed: Resource temporarily unavailable
Instead check for lock conflicts per path and cache the result.

Change-Id: I39c59bb240cd99ef0a0ec271243770ffd5df8a7d
Reviewed-by: David Faure <david.faure@kdab.com>
2015-12-11 17:59:52 +00:00
Juha Turunen
672f7dfdcd Fix a crash when calling QOpenGLTexture::setData with a null QImage.
Change-Id: Idf8ae00cff6929114b38dcb003c259c83a11dbaa
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-12-11 17:58:21 +00:00
Błażej Szczygieł
a094af0017 xcb: Use a placeholder QScreen when there are no outputs connected
If no screens are available, windows could disappear, could stop rendering
graphics, or the application could crash.  This is a real use case in several
scenarios: with x11vnc, when all monitors are physically disconnected from a
desktop machine, or in some cases even when the monitor sleeps.  Now when the
last screen is disconnected, it is transformed into a fake screen.  When a
physical screen appears, the fake QScreen is transformed into a representation
of the physical screen.  Every virtual desktop has its own fake screen, and
primary screens must belong to the primary virtual desktop. It fixes updating
screen geometry on temporarily disabled screens in the middle of the mode
switch.

Expected results: Windows don't disappear, the application doesn't
crash, and QMenu is displayed on the appropriate screen.

This reverts patch 51ada7734a

Change-Id: I6e8eb682b0c8425d08ffdaecbd4c6c7700c914b4
Task-number: QTBUG-42985
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-12-11 17:32:43 +00:00
Alexander Volkov
0c33a823c5 xcb: Don't cache the screen for a window
QXcbWindow::m_xcbScreen was introduced in 4e1b09fa8f
(Keep screen geometries from overlapping) to map the window
geometry for the right screen, because it wasn't possible to
rely on QPlatformWindow::screen().

But we don't need it since a705b4ec1f
(Introduce cross platform high-dpi scaling), because QGuiApplication
triggers GeometryChangeEvent right after processing WindowScreenChangedEvent.

So just use QPlatformWindow::screen() instead of cached m_xcbScreen.

m_xcbScreen was also used in d4bc56cb42
(Fix screen detection on configureNotify) to compare the new screen
after receiving ConfigureNotify to the correct old screen. Just send
WindowScreenChangedEvent event and leave making the comparison to
QGuiApplication.

Change-Id: Ibe717ae4bf4c40b0a04cd62fe2ecaee5df5f4060
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-12-11 14:37:14 +00:00
Edward Welbourne
8fd05e6289 Don't ignore first character after a string.
The parser in QMakeSourceFileInfo::findDeps() would step over the
closing quote of a string, only to have a for loop then step over the
character just after that closing quote, which was thus never studied;
this could lead to problems in various ways.  Fixed that and expanded
findDeps() test to catch regressions.

Task-number: QTBUG-17533
Change-Id: I7dec5222e38fa188495b39376ffee70bc7bbc87f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-11 13:50:58 +00:00
Oliver Wolff
fda85b6d57 winrt: Readd parameters to the pid-file's CreateFile2 call
Recent changes to the main file accidently removed the
parameter from the call.

Change-Id: I4cce48327d43d9ea3fe4fd82c2f5768aa4bc6d5c
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-12-11 12:58:36 +00:00
Friedemann Kleint
b6503d1795 QWidgetBackingStore::markDirty(): Clamp dirty region to window size.
Graphics effects may exceed the window size, causing platform
backing store operations to fail (see QWidgetPrivate::effectiveRectFor()).

Task-number: QTBUG-49785
Change-Id: Iff16da599397d19acb86010fe7023f3ce15b6d6f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-12-11 12:42:06 +00:00
Andy Shaw
6e14d63db0 Add explicit note about removeMappings() not disconnecting the signal
There can be a bit of confusion here regarding what removeMappings()
will do in this case so add an explicit note to be clearer.

Task-number: QTBUG-49499
Change-Id: Iabcf5cb2653f0b747727b2c92a244e95ec1836f8
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2015-12-11 09:41:14 +00:00
Andy Shaw
1440c13c8c Check if the file is writable even while QT_BOOTSTRAPPED
QConfFile::isWritable() has the extra effect that it will try and
create the path where the file should be if it does not already
exist. So this cannot be omitted as 'qmake -set' may be used in a
situation where the path does not yet exist.

Change-Id: I0113644259f78d090a0687c44cf60d400be9c859
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-11 09:41:05 +00:00
Andy Shaw
faf4865b80 Use unique shortcuts for the different actions
Change-Id: Ibc143ffac83dfb30facc9e93651e5f18550ab612
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2015-12-11 09:40:55 +00:00
Maurice Kalinowski
cf6d671a11 winrt: Use Windows 10 features when available
OpenFileMappingFromApp has been added for Windows 10. Using it,
QSharedMemory autotests succeed without any failure.

Change-Id: I5a4fbec004f121f41909ae13f3db02c384810645
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-12-11 07:39:18 +00:00
Oswald Buddenhagen
604ef6d4a7 automatically put TESTDATA into RESOURCES on android/ios/winrt
QFINDTESTDATA is already prepared to find it there.

Change-Id: I467392786ce6bcfbf1bd0b6079f60c9df06834b1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-12-11 07:39:06 +00:00
Giuseppe D'Angelo
4a318a6182 QJsonObject::(const_)iterator: add pointer typedef
Otherwise they're unusable with std::algorithms or anything else
that requires iterator_traits.

Change-Id: Ia29c1e7c1778844e37d43eaa8aef2871afe3c991
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-12-11 00:43:33 +00:00
Tor Arne Vestbø
2e8ff4ba1b Fix broken QIOSContext setup due to missing 0-initialization of EAGLContext
Change-Id: Ia4dbb2e3b055a7899c4a3e02698c5776ea7f73ea
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-12-10 22:29:47 +00:00
Giuseppe D'Angelo
824af4aac9 QFileDialog test: make the right subwidget visible
It makes little sense to give focus to a hidden widget; in order
to make the treeview visible, we need to set the view mode to Detail.

Change-Id: I453111e83593a790a656651b603a9c9b1a78dd9d
Task-number: QTBUG-7690
Reviewed-by: Jan Blumschein <jan@jan-blumschein.de>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-12-10 22:26:01 +00:00
Tor Arne Vestbø
56f6252e72 xcb: compare to previous state when sending geometry and expose events
By calculating the previous geometry and passing it on when calling
handleGeometryChange we can detect cases where setGeometry() on a
QWindow didn't result in the expected geometry. The new (actual)
geometry is delivered as a resize event.

This also allows us to only send expose events when the size of the
window has actually changed (instead of also sending when the window
has just moved).

Due to the async delivery of geometry changes on the xcb platform we
need to avoid using QWindowPrivate's cached state of the geometry, as
that will result in duplicate resize events when events are not flushed
in between two system resize events coming in with the same size.

Change-Id: I3d4abe4a1095dd96e6e354288d5b646c623c30dd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-12-10 17:27:00 +00:00
Giuseppe D'Angelo
40c927e733 XCB: prevent a fp division by zero
For certain devices vci->resolution is zero, which causes a SIGFPE
if FE_INVALID exceptions are enabled. Try to prevent that.

Task-number: QTBUG-42717
Change-Id: I388735f5dfb6218496787dbb74cf0c0f43cc928f
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-12-10 17:07:56 +00:00
Giuseppe D'Angelo
0d54b0f4dd QFileSystemModel: do not unwatch directories if removal fails
... otherwise we would not detect subsequent file/directories added
into the non-removed one.

Change-Id: I43018dfb9a9c6c0399190800da3f0d572ec5d8d8
Task-number: QTBUG-49307
Reviewed-by: David Faure <david.faure@kdab.com>
2015-12-10 17:07:48 +00:00
Liang Qi
f0c75bb050 QPlatformTheme: added TabButtonFont and GroupBoxTitleFont
Which is needed by Qt Labs Controls.

Change-Id: I2f91a1cbe8218170f894189b56f3fef77207eaec
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2015-12-10 17:06:50 +00:00
Rainer Keller
1641a9ae43 Remove additional copyright notice
Change-Id: I181579d755a79e2e0a26ff2de119d9642183a2ca
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
(cherry picked from commit 2766215c9e)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-12-10 13:57:16 +00:00
Florian Bruhin
2223d4a368 doc: Remove wrong statement about cache filenames.
The cache actually generates paths like "http/data8/f/lr9un1so.d".

Change-Id: Ie564494a241c3d1c87b2f0f17b42bd0349948640
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-12-10 13:42:37 +00:00
Florian Bruhin
ca3933f90d Add missing \since to QSslCipher QString overload.
This was added in 5.3 in 30d199a76c.

Change-Id: I35a209fcfe417cb14605c4db19a3d2e85b67ee49
Reviewed-by: Michał Dutkiewicz
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-10 13:42:31 +00:00
Konstantin Ritt
c79396fc4a configureapp: Print FontConfig in "Third Party Libraries" section
...just like in config.summary

Change-Id: Idb34cdd39f706d7a7e75dfc0388d0a1fdb1f2317
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-10 11:33:00 +00:00
Konstantin Ritt
8e07227f82 configureapp: Add missing empty line between paragraphs
Change-Id: I0f6424471d64976a6c93876e18da3c77000d6390
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-10 11:32:54 +00:00
Konstantin Ritt
784167fb51 Fix swapped descriptions for [-no]-optimized-tools
Change-Id: I5953b83ec2b4adee953caea0cb1e39d54b78bebb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-10 11:32:48 +00:00
J-P Nurmi
b8922c35ba Register QPA Menu, Dialog & SysTray enums & flags
This allows QML Menu, Dialog & SystemTrayIcon to use the same enums
without having to duplicate them.

Change-Id: I1401583d3ae2ef07cdc795d2765fba07c9b30f2f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-12-09 19:00:03 +00:00
Topi Reinio
e8c7f77854 Doc: Online style: CSS fixes for image alignment
- Remove duplicated rules
    - Add a rule for class centerAlign
    - Remove width restriction from paragraphs in table cells

These fixes enable proper horizontal center-align of images in
table cells.

Change-Id: I68a4863fe642a552260dfd6dbbb5d9675a8d2b4d
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
2015-12-09 13:54:27 +00:00
Edward Welbourne
ea8a92c9c9 Clarify what time-zone "transitions" are.
Change-Id: Idad5b841c3c693e2040ca606894187988615c9b0
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2015-12-09 12:55:32 +00:00
Maurice Kalinowski
0ea3d630b1 winrt: Store exit code in pid file
We have to call Exit() to successfully close an application as done in
25dcc90d79. Unfortunately Exit() always
sets the exit code to 1 and this cannot be changed programmatically.

Hence write the exit code into the pid file which is created when
launched via winrtrunner. winrtrunner then fetches the content and
passes the exit code to its callee. This implies that the pidFile is
not deleted by the app itself anymore.

Task-number: QTBUG-38654
Change-Id: Ib9b6ae4a0d61c9bf7e530e984aae3ad6204c39a0
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-09 12:41:27 +00:00
Timur Pocheptsov
7d2c87311e QProcessPrivate::startProcess - fix invalid encodedProgramName (OS X)
CFBundleCopyExecutableURL returns different URLs (can be absolute or relative)
for the same bundle (caching) - and this results in an
invalid encodedProgramName (in case we try to start the same process twice),
for example, if we start: QProcess p; p.start("nestedDir/nested.app")
twice, the second time we'll have an error trying to start something like
nestedDir/nested.app/_and_here_absolute_url.

Change-Id: I8ac42e20fe3b9fe8b80d5b5c663672e77d88269d
Task-number: QTBUG-49837
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2015-12-09 12:29:13 +00:00
Christian Stromme
bf4b281099 Add generic g++ spec for arm devices.
A minimal device spec that can be used to build for arm devices.

Change-Id: I4c9949d8cc59ad534fc7617034f6beb40d6a987e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-09 12:18:36 +00:00
Christian Stromme
6e6f27b6ec Use CROSS_COMPILE when setting PKG_CONFIG.
If CROSS_COMPILE is set on a Debian multiarch platform, then PKG_CONFIG
should be set the same way as the other cross compilation tools.

Change-Id: Id359a6bbdcbf8a136a0268a82301fc086a2adcfe
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-09 12:18:32 +00:00
Giuseppe D'Angelo
b4d3f9bd82 Check for any existing file in XCOMPOSEFILE.
Before this change, it was checked if the path ends with "Compose", which was
an invalid assumption as the file can have any name (see [1])

This replaces the check with a check for any existing file (which wasn't
checked before).

[1] http://www.x.org/releases/X11R7.7/doc/man/man5/Compose.5.xhtml

Done-with: Florian Bruhin <git@the-compiler.org>
Task-number: QTBUG-41557
Change-Id: If4fb58d4c1ed695f2d611236abfe97964b548678
Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
2015-12-09 11:47:22 +00:00
Topi Reinio
b64c11f464 Doc: Online template: dynamically load footer content
Add a line to load footer content from the global style folder.

Change-Id: If57f13c2301e6145a26b3a4d04c7cb4695fe55fe
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2015-12-09 11:47:49 +00:00
Friedemann Kleint
b880b7e1ac Standarddialogs example: Adapt layout for fullscreen platforms.
Insert a group box depending on style hints.

Change-Id: I1b49dc31d5bd32c92d88f95be0683d5223329c11
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-09 10:22:55 +00:00
Friedemann Kleint
fcedf8998e fortuneserver/fortuneclient: Fix layout for WinRT.
Use the new API QStyleHints::showIsMaximized().

Change-Id: I1342b3c29ef4ccfcf635a32d403f9aa7ce0cb4e4
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-09 10:19:48 +00:00
Friedemann Kleint
893f2ade85 Fix debug operator for QRegion.
Use QDebugStateSaver, drop the multiline format, check for null, empty and
output rectangular regions as:

QRegion(0,0 252x188)

and complicated regions as:

QRegion(size=4, bounds=(0,0 278x262) - [(0,0 278x13), (0,13 13x188), (265,13 13x188), (0,201 278x61)])

Change-Id: I82b8f58af08f7128e6cf2c2c8b06c4684fc6a9c8
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-12-09 10:18:42 +00:00