Commit Graph

4380 Commits

Author SHA1 Message Date
Jason McDonald
b317fe2a60 Merge the two overloads of QButtonGroup::addButton().
This change is source-compatible, but binary-incompatible.

Task-number: QTBUG-25101
Change-Id: If67aec2ca8dd54ad9315f6497c2dafbbbc0b775f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-13 10:44:28 +02:00
Thorbjørn Lund Martsum
03dbba9a62 QLayoutItem - make controlTypes a virtual function.
Just implementing the ### Qt5 suggestion about making
controlTypes a virtual function.

Change-Id: Ic1db47fe488f089de965438e456e9b48e0b96f32
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-13 10:17:44 +02:00
Stephen Kelly
2f4b9b8e42 Fix unsigned comparison warning.
Change-Id: I8544f47177b68cf29ce9fbebb152ca73db6e219d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-04-13 08:34:06 +02:00
Aron Rosenberg
99be6a5c12 Fix compiling with XCode 4.3
XCode 4.3 moved the location of the SDK dir, so change the qmake
test to not use the old hardcoded location. Also change the test
to look for versions before 10.6 instead of later than 10.6 so 10.8+
gets detected correctly.

Change-Id: I1cb53a18c4b4f484d0d9de9c9d5e9641018f2502
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-13 08:34:04 +02:00
Konstantin Ritt
89e5740a95 QChar: documentation fixes
Change-Id: Ic4b58ab811e53cf175ebaf0a67c40c56678f0f35
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-13 08:34:00 +02:00
Qt4iOS
600943daef Added iOS compatibility.
Put MacOS-specific code in #ifdef blocks to disable compilation on iOS.

Change-Id: I02c99c62b8ceb468b8b58e3c4ef52ca8ae2495f1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-13 08:33:58 +02:00
Qt4iOS
affbbcd738 Added iOS compatibility.
Put MacOS-specific code in #ifdef blocks so that it is not compiled for
iOS. Add iOS implementation for MacOS-specific code, where possible.

Change-Id: I3664c76fcfa8d5497ad1db676b9331e4ae0dca0e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-13 08:33:56 +02:00
Qt4iOS
dcd893fbf7 Added iOS compatibility.
Modified OpenGL header inclusion block to support iOS GL include paths.
Removed ability to build for MacOS with GLES2, as no support on MacOS
for OpenGLES.

Change-Id: I2bcf302278545147632b23a86380fa3980ec10a4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-13 08:33:54 +02:00
Qt4iOS
75fb4efeae Added iOS compatibility.
Put MacOS-specific code into #ifdef blocks to enable compilation on iOS.

Change-Id: I0bb3846f457d1b3a56d99fe182b1718bc8429117
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-13 08:33:51 +02:00
Casper van Donderen
db094dfae1 QDoc: Fix infinite loop when finding items in ditamaps.
Change-Id: Ic033676e21a252db07543fccba0d2a41f4b52294
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-04-13 08:33:49 +02:00
Samuel Rødal
5bf5ace38c Prevent warning when using QPainter on a QGLWidget.
Prevents warning "QOpenGLContext::swapBuffers() called without
corresponding makeCurrent()".

Change-Id: I7e4f94df8654f899c25b3f41cbf4d007ca293f16
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-04-13 08:33:47 +02:00
Friedemann Kleint
fe0f72fa1a Implement modality in the Windows plugin.
Disable blocked windows and flash the active window if
a blocked one is activated (as in Qt 4).

Change-Id: I6b6d230f94a271ce2aa649e3f4e13ebd63e93da4
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-13 08:33:43 +02:00
Thiago Macieira
e07cadecc2 __builtin_unreachable was added to GCC in version 4.5, so fix macros
Change-Id: Ida63bb46f696ae9d60331d863bf1478415a08ff2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-04-13 08:33:40 +02:00
Hannu Lyytinen
2a5ade68fd Use the new udev based framework for detecting graphics cards.
Get rid of hard coded device node and support any number of graphics
cards.

Change-Id: I50f07fb1e6ea321a4ae751db8fb49ab439dce51e
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-13 08:33:40 +02:00
Hannu Lyytinen
5ab6a3270d Implement basic bits for device autodetection via udev.
The graphics cards and eventually the input devices need to be resolved
via udev. This commit adds a listener class and an abstract base class
for writing device specific handlers.

Change-Id: I62784c98bc7ad4bc1431d61cd5f13c8b48edf330
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-13 08:33:37 +02:00
Holger Hans Peter Freyther
01b54bcd84 device: Introduce hooks for the directfb plugin and use them
The EGL integration is vendor specific, add platform hooks to the
DirectFB plugin and implement them for the Broadcom 97425. The hook
interface is internal and there are no ABI/API gurantees.

Change-Id: I33359830c51f16895e771837fccb71e03c81cf18
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-13 08:33:37 +02:00
Olivier Goffart
d1329e43cb moc: fix compilation of signals returning pointers.
That was a regression introduced in 1c5db1aff

Example:
  signals: int *someSignal();
would produce this code:
   int* _t0 = int*();
which does not compile

So have special handling for pointer to change it to '= 0'

Change-Id: Ie695e15e309d15c3cfd5c5a69ac8bf6d61ae9915
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-13 08:33:34 +02:00
Thiago Macieira
53112c5167 Remove Q_CORE_EXPORT from the simple QFlag and QIncompatibleFlag
Change-Id: I0302238e817fc7d3b4682c5cc4f9cb51d181a7d2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-04-13 08:33:31 +02:00
Thiago Macieira
84e45c646d Move QFlags to qflags.h
This is a verbatim copy of the source code.

Change-Id: I1f7efc75cad1ba05dda31d8ccfd091ae9ae40fd5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-04-13 08:33:28 +02:00
Friedemann Kleint
54fe4324d8 Fix compiler warning in evdevmouse plugin.
Change-Id: I3b203b485079ff2cc96044789b06525ab2cde448
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-13 08:32:51 +02:00
Friedemann Kleint
e9ab2dabf9 Fix MinGW warning about qDebug() formats.
Change-Id: I927d17240a7cc7b88814601b0711aa46ca166ff9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-13 08:32:37 +02:00
Stephen Kelly
aec8bac313 Style: Don't put an else after a return.
Change-Id: I41d031d92489e5539f293c30a6257310f2a1c657
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-04-13 01:44:02 +02:00
Thiago Macieira
4953093873 Re-add the Qt 4 compatibility methods for QUrl encoded query items
I forgot to re-add those when I re-added the non-encoded (QString)
forms.

Change-Id: I9d635d40106273177df2c332f09d66415efc15a3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 23:01:57 +02:00
Thiago Macieira
4d79312f1c Ensure proper handling of empty-but-present URL components
The new QUrl is able to distinguish a URL component that is empty from
one that is absent. The previous one already had that capability for
the port, fragment and query, and the new one extends that to the username,
password and path. The path did not need this handling because its
delimiter from the authority it part of the path.

For example, a URL with no username is one where it's set to QString()
(null). A URL like "http://:kde@kde.org" is understood as an
empty-but-present username, for which toString(RemovePassword) will
return "http://@kde.org", keeping the empty-but-present username.

Change-Id: I2d97a7656f3f1099e3cf400b199e68e4c480d924
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-12 23:01:37 +02:00
Sergey Gusarov
8e943bbf5d Apply Qt config option "-no-largefile" to SQLite make process
This patch fixes compilation error if there is no
64 bit support in compiler.

Task-number: QTBUG-15395
Change-Id: Ife4afb05491d36af93bf4ad3ba8fa227710655f0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-12 21:26:42 +02:00
Bjoern Breitmeyer
71cfddeecc fixed compiling of QDnsRunner for wince and windows desktop
ce only has the utf16 variant desktop has all variants
of the DnsQuery call. Unified it to the utf16 variant.

Change-Id: Ic126c3f53da71c85a41a5c24c85970335700bcf0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-12 18:55:04 +02:00
Shane Kearns
3c0fdefc31 Fix autotest failures in QAbstractNetworkCache
The cache expiration calculation was previously removed to avoid
calculating it every time an object is fetched from the cache.
This is because the expiration date is calculated from max-age or
expires headers when the object is added to the cache.

However this broke the case where the server only provides a
last-modified header. In this case, the expiration date needs
to be checked at fetch time in order to add the warning if the
object is >24h old.

Change-Id: Iad381da0f91c27ac603abbaa94f268700ad2297f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-12 18:49:14 +02:00
Shane Kearns
17412400dc Add OS version detection for windows 8
Based on consumer preview, the internal version is 6.2

Change-Id: I9d6ff6c7614f46a20d489e8a8f4aefeb60c547f6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-12 18:48:57 +02:00
Yan Shapochnik
dae4bd8489 Fix possible crash issue when testing the state of a QAccessibleMenuItem
The owner widget of a QAccessibleMenuItem may be NULL. Checking for a valid pointer before dereferncing.

Port of Qt 4 patch.

Change-Id: Ic3149ccc5d6ae0ebc83dae58163ae2f60397fd28
(cherry picked from commit 3f526366af14f6c640dd52cd089b00776ab06731)
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-04-12 18:27:51 +02:00
Robin Burchell
5aa8e5a81c Remove QPaintBufferSignalProxy and QPaintBufferResource.
Nothing seems to use these...

Change-Id: I58b3e5f8536e43b3076da0a86d9093a6e11b947a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 17:22:19 +02:00
Girish Ramakrishnan
40a1e8eccf Remove hasDirtyFromPreviousSync from backingstore.
It's always false (used to be some qws specific variable).

Change-Id: I3dc185dba4c778797f180410ce8d293336ecfd9c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 15:39:05 +02:00
Girish Ramakrishnan
a5dccb0ece Move QSurface destructor to qsurface.cpp
fa0407bdb5 moved all QSurface code to
a separate except the destructor.

Change-Id: I2bf426a0b70cbffafae7aca8dd5550192f762aeb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 15:37:15 +02:00
Girish Ramakrishnan
e583ce4103 remove references to qws from backingstore
The backingstore code is already hard to read as-is. Let's
simplify things by removing qws code.

Change-Id: Ibefd3ea17d29970d1f7348461959fdc5b01c1f42
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 15:36:36 +02:00
Girish Ramakrishnan
93c960876a Remove redundant platformNativeInterface()
platformNativeInterface() is already defined in QGuiApplication.

Change-Id: Ice720fb6f7e4b01c4627219d66a5a3c8980a79a5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 15:36:10 +02:00
Girish Ramakrishnan
dd2429551e Remove QWidget::setWindowHandle
It's unused. The window (QWidgetWindow) is created and managed implicitly
by QWidget.

Change-Id: I28ee3f120a99c877f318e1abd7d73c9f3e542d03
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 15:35:41 +02:00
Jason McDonald
0b2a10dce5 Remove a Qt 5 to-do comment that will not be addressed.
Task-number: QTBUG-25102
Change-Id: I3fe1878adcf17cb95209df271d062e126e32a8fd
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 15:33:33 +02:00
Jason McDonald
0734979976 Remove Qt 5 to-do comment that will not be addressed.
Task-number: QTBUG-25093
Change-Id: Ib78cffe06f721371ff5c16e24db3abae6dcd4984
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 15:33:23 +02:00
Girish Ramakrishnan
b53ea69731 qss: fix parsing of icon style hints
Use cssIconValueToIcon (see 5a0eb4e768) to
retrieve the QIcon value from the css parser.

Task-number: QTBUG-25120
Change-Id: Ie7c6691514a4b35d416ca09ccf7966689de831c1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-12 15:31:15 +02:00
Giuseppe D'Angelo
5c9ba41f71 QRegularExpression: optimize global match
PCRE doesn't like illegal Unicode sequences (it's explicitely
documented in pcreunicode(3) that they trigger undefined behaviour,
and the program may crash). Therefore, we always let PCRE check
the validity of both the pattern and the subject string.

However, when performing global matching, the subject string
can be checked only once: subsequent matches can safely skip the check
and avoid a huge performance hit of scanning the whole subject
string for each match (!).

This patch implements that behaviour internally -- it's still
not possible for the user to skip the sanity check. On large
subject strings, this gives a terrific performance benefit.

Change-Id: Ia44cf18782e07966c9cd6ec4ccfef081ed131763
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-12 15:12:23 +02:00
John Brooks
56ff31f0c1 Support more scaling factors for JPEG decompression
Since libjpeg 7, decompression scaling factors of [1,16]/8 have
been supported. Upscaling is slower, but using the entire range
of downscaling factors is significantly faster for sizes between
the power-of-two factors.

Time to decompress a 5184x3456 image and scale to 1900x1200,
slightly less than 3/8ths, changes from 251ms to 203ms.

libjpeg versions prior to 7 will round up to the next largest
factor they support, and continue to work as before.

Change-Id: I00a0655df2ef057e739927a643bfe0b0cabd5602
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: aavit <qt_aavit@ovi.com>
2012-04-12 15:12:20 +02:00
Alberto Mardegan
011b88a7b3 Compute overshoot condition before snap points
Snap points are not needed if the overshoot condition is met; therefore,
move the overshoot handling before the computation of snap points.

Change-Id: I37556b10c1b1124eaed53b0f2a330085acf70776
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-12 15:11:10 +02:00
Alberto Mardegan
0ac0191111 Fix QScroller diagonal scrolling
Compute the time needed for the scrolling operation before computing the
movement on the X and Y components. This ensures (except when
overshooting or snapping to snap points) that the scrolling on the X and
Y components takes the same time. That is, scrolling occurs always along
a straight line.

Task-number: QTBUG-23227
Change-Id: Ic3b78b8611dbcbf19711c3dd96485a0d53accaed
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-12 15:11:05 +02:00
Kevin Krammer
4fac40f8b0 Refactor navigator event handling
Separate PPS based navigator event notification handling and implementation
of the actual event handling.

Like the similar refactoring for screen events, this will allow to reuse the
same event handler class for BPS driven event processing.

Change-Id: I29d4a082cb01ff7943b7822ea9aa8ad622fda593
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-04-12 15:00:33 +02:00
Casper van Donderen
7ed1ab9076 QDoc: Generate missing image error.
Change-Id: I98faf3b3422fa0a7ebd3f65c7ba64e6dc31bad86
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-04-12 14:33:38 +02:00
Robin Burchell
6b39f614d1 Remove 'using' of QPaintEngineEx methods from QRasterPaintEngine.
drawEllipse() and the drawPolygon() overloads are all reimplemented, so there is
no point having this here.

Change-Id: I343cea0dd0fff2ed6a27be2a19459056e929f9d8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 14:33:09 +02:00
Robin Burchell
2573e9c81d Remove unused QIntRect.
I can't find any uses of this anywhere, in either Qt 4 or Qt 5.

Change-Id: Ibf747b57b4afdd81e11631e87a80dcab5ac12f69
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-12 14:33:09 +02:00
Jason McDonald
94519a441c Address Qt 5 to-do comments related to QFileSystemModel.
- QFileSystemModel::rmdir() and QFileSystemModel::remove() changed to
  non-const -- they don't change the object, but they do change the
  file system, and the Qt way is to be non-const if having side-effects
  on external entities.
- The comment on incompatibility between entryList and QFileInfo will
  not be fixed as doing so is likely to break existing code.
- The comment on removing the internal resolvedSymLinks variable has
  been removed, as the variable is still used.

Task-number: QTBUG-25088
Change-Id: I20456e4d116076403d9c4d4692ee05c178a1ed17
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 10:41:29 +02:00
Jason McDonald
4f929e01e0 Address Qt 5 to-do comment for QColorDialog.
- change customColor() to return QColor instead of QRgb.
- change setCustomColor() and setStandardColor() to take
  a QColor instead of QRgb.
- add missing standardColor() getter method.

Task-number: QTBUG-25087
Change-Id: Ic6adb2031ef47f5e9b15fa3560a5322e6847c0bb
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 10:40:23 +02:00
Konstantin Ritt
1035c93245 make QStringList::sort() to take a Qt::CaseSensitivity param
Task-number: QTBUG-12892

Change-Id: I402e6fb12ff24ac26c5a8103bf81547946f9cc58
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 10:39:22 +02:00
Andreas Aardal Hanssen
a9cda51517 Fixes a regression; missing cursor blink when input mask is set.
I can't say for sure why q*linecontrol passes an empty rect to
the updateNeeded() signal when an input mask is set; presumably
the empty rect at some point has meant "full update", but there
are a few problems with this. Surely a full update is wrong,
even if the semantics have been lost in translation somewhere
(likely the qlinecontrol refactoring). This fix ensures
that empty rects from updateNeeded() are interpreted as a request
to update the whole widget. A further improvement would be to
ensure the line control doesn't request a full update when an
input mask is set. The cursor is usually wider when a mask is
set but because of QLineEdit::paintEvent()'s implementation,
there is currently a mismatch between the cursor width as seen
by q*linecontrol and what is actually drawn, which causes
rendering artifacts if updateNeeded() sends the cursorRect().

Since QLineEdit and Q*LineControl aren't actively developed, it's
best to keep this fix minimal, although the performance cost of
updating the whole line edit when an input mask is set is
unfortunate.

Task-number: QTBUG-7174
Change-Id: Ie51e015d760915e07b0220b770f04fc958d93a12
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-12 04:35:22 +02:00
Girish Ramakrishnan
c7da50ef8c Suppress warnings caused by ignoring chdir retval
Using g++ 4.6.1, we get warnings like below:
qprocess_unix.cpp:1376:69: warning: ignoring return value of
‘int chdir(const char*)’, declared with attribute warn_unused_result [-Wunused-result]

g++ is pretty adamant and prints the warning even if you explicitly
ignore using (void). So, just check for error and print a warning.

Change-Id: Ifd6f3b6bb9e17d44aa235815b06a762131ca8751
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-12 04:33:57 +02:00
Bradley T. Hughes
4800a94c94 Cocoa: use specified window modality in native print dialogs
Don't pick the modality type based on the presences of a parent widget,
use QWidget::windowModality() instead. If modality hasn't been
specified, then use presence of the parent to chose an appropriate
modality type.

Change-Id: Ib39c166ba3293174c55748f63222367e3e1c56bc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-12 04:15:35 +02:00
Bhooshan Supe
3a4ed33140 Remove input plugins hard libudev dependency
libudev extends the base functionality of these plugins but should not
be mandatory as it is missing on many embedded devices that still
actually require input devices (keyboard and/or mouse and/or
touchscreen) support

Change-Id: Ieeb949f1af5e774578f689a63f47a8c48f546ac1
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-12 04:15:32 +02:00
Jason McDonald
ee5bd5349b Remove Qt 5 to-do comment that will not be addressed.
The suggested behavioural change had the potential to break existing
code, so the change won't be made for Qt 5.

Task-number: QTBUG-25119
Change-Id: Ie03271d12b21a800c998e073eeb9ca1cd03ffe19
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 04:15:21 +02:00
Christoph Schleifenbaum
5a2ef8ebdd Cocoa: Proper handling of mDelegate
mDelegate keeps the pointer to a QNSFontPanelDelegate, which reacts
on the NSFontPanel used by this dialog helper. It has to be created
before it can be used. On a read-only access, this has been fixed to
return a default-constructed value (like QFont()). For writing access
(like setting the font) the delegate was already created.

The same applies to mDelegate to QNSColorPanelDelegate respective.

Change-Id: I36b89c16d98db9275aa31d399fe094b1d56d800d
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-12 04:15:10 +02:00
James Turner
3918386779 Fix ownership / lifetime of QCocoaNativeInterface
Change-Id: I21dd1e3186e0dbbc60294f807de0db6aad8b9eee
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-12 04:15:07 +02:00
Thiago Macieira
3127f23e3a Fix warning introduced in "Adjust a double leading slash..."
Change-Id: Id89fd3983123c0ba302c493b54437dd75e419e01
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-12 03:18:44 +02:00
Jason McDonald
113af57061 Make QBoxLayout::insertItem() public.
This commit addresses a Qt 5 to-do comment in the code.  The method was
already protected (so could already be made public by sub-classing),
and already has documentation in qboxlayout.cpp.

Task-number: QTBUG-25098
Change-Id: I5b51d34be8180becb63b8ad291879620f265bbec
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-12 01:58:12 +02:00
Thiago Macieira
1b7e9dba75 Change the component formatting enum values so the default is zero
By having the default value equal to zero, we follow the principle of
least surprise. For example, if we had
      url.path()
and we refactored to
      url.path(QUrl::DecodeSpaces)

Then instead of ensuring spaces are decoded, we make spaces the only
thing encoded (unicode, delimiters and reserved characters are
encoded).

Besides, modifying the default can only be used to encode something
that wasn't encoded previously, so having the enums as Encode makes
more sense.

As a side-effect, toEncoded() does not support any extra encoding
options.

Change-Id: I2624ec446e65c2d979e9ca2f81bd3db22b00bb13
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:32:26 +02:00
Thiago Macieira
997ac954ab Allow {} to remain decoded in URLs in the path and query
This allows things like http://example.com/{1234-5678}?id={abcd-ef01}.
But do not allow it in other parts of the URL. I could allow it in the
fragment, but in the username and password it would be too ugly.

In order to do that, make DecodeReserved use two bits and have
PrettyDecoded set only one of them. That way, toString(PrettyDecoded)
can be distinguished from toString(PrettyDecoded | DecodeReserved),
just as path(PrettyDecoded) can be distinguished from
path(PrettyDecoded & ~DecodeDelimiters).

Also, take the opportunity to avoid decoding the reserved characters
in the query. Keep them encoded as they should be.

Change-Id: I1604a0c8015c6b03dc2fbf49ea9d1dbed96fc186
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:32:18 +02:00
Thiago Macieira
a01c662d37 Introduce QUrl::DecodeReserved and reorder the enums
DecodeReserved applies to all characters between 0x21 and 0x7E that
aren't unreserved, a delimiter, or the percent sign itself.

Change-Id: Ie64bddb6b814dfa3bb8380e3aa24de1bb3645a65
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:32:04 +02:00
Thiago Macieira
0441b2d4c3 Merge QUrl::DecodeAllDelimiters and QUrl::DecodeUnambiguousDelimiters
There's little value in having the DecodeUnambiguousDelimiters option
since neither QUrl nor QUrlQuery can return values that are ambiguous
in that particular context, ever.

This option could be used to encode a character if, when placed
in a URL, it would need to be encoded. Such cases are hash (#) or
question marks (?) in the path component, or slashes (/) and at signs
(@) in the userinfo.

However, we don't need two enums for that, since there are no
other characters that can appear in either form. Still, leave two bits
for this enum. In the future, if we want to split the gen-delims from
the sub-delims, we are able to.

Change-Id: If5416b524680eb67dd4abbe7d072ca0ef7218506
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:31:59 +02:00
Thiago Macieira
ef288340da Fix the handling of ambiguous delimiters in the query part of a URL
This is the same fix as the previous commit did for the other
components of the URL. But we're also changing how we handle the "[]"
characters in a query: previously the handling was like for other
sub-delims; now, they're always decoded, assuming that the RFC had a
mistake and they were meant to be decoded.

Change-Id: If4b1c3df8f341cb114f2cc4860de22f8bf0be743
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:31:46 +02:00
Thiago Macieira
8d3cb11261 Make QUrl handle ambiguous delimiters correctly
Refactor the way that QUrl stores and returns the components of the
URL so that ambiguous delimiters (gen-delims that could change the
meaning of the parsing) are interpreted correctly. Previously, QUrl
called "unambiguous" the form found in a full URL, even though each
item in isolation could have more characters decoded.

Now, instead, store only the fully decoded form. To recreate the
compound forms (the full URL, as well as the user info and the
authority), we need to do more processing.

This commit applies to the user name, password, path and fragment
only. The scheme, host and port do not need this work because they are
special; the query is handled separately.

Change-Id: I5907ba9b8fe048fff23c128be95668c22820663a
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-11 23:31:41 +02:00
Shane Kearns
dc325aab18 Fix error reporting in QNetworkReplyHttpImplPrivate
When errors are detected synchronously in _q_startOperation,
they were not reported. This is because unlike the generic
QNetworkReplyImpl the function is called directly rather than
using a queued connection.
In order to report errors, use the _q_error and _q_finished slots
so that signals are emitted after returning to the event loop
i.e. after the application had a chance to connect the QNetworkReply

Change-Id: I8a7bbe79a934f4634fb4e0572ebb5479dfc5f489
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:20:10 +02:00
Shane Kearns
1a6b338e10 Add autotest interface to get session from QNAM
Change-Id: I7d8ea41299408377042a9f0d0a672e1a6fb57e7d
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:19:41 +02:00
Shane Kearns
b0c7f34c90 Check background requests are allowed before starting
If background requests are not allowed, don't even attempt to start
the network session, just fail the request immediately.

After this change, a QNAM with mixed requests queued should behave
as follows when background requests are disabled:
 - background requests at head of the queue fail
 - first foreground request starts the session and succeeds
 - remaining background requests fail
 - remaining foreground requests succeed

If policy is changed on the fly, then running background requests
are not aborted. However queued background requests won't be started.

Change-Id: Ic9aba1eb59ca41b166a08d2ed09418e1b6af6b60
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:19:35 +02:00
Shane Kearns
6957b8d1ed Define usagePolicies API in QNetworkSession
This allows the system to publish usage restrictions to applications
related to the network in use.
Currently there is only one restriction defined:
NoBackgroundTrafficPolicy, which means that non user initiated traffic
should be avoided (e.g. background downloads).
For example this policy could be applied to save battery or data transfer
charges.

Change-Id: I49e26c0f3650d2b92f4ec51981aae9435b717b49
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 22:19:21 +02:00
Shane Kearns
ad73c3505a Use NetworkSessionFailedError in QNetworkReply
Switched the error code.
Republish the error string from the bearer plugin if possible.

Change-Id: I9e4ac7a9914fbf2e87fe8fd3a5175deda6d933d2
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:18:48 +02:00
Shane Kearns
5017b2ee54 Define QNetworkReply::BackgroundRequestNotAllowedError
This error will be used when background network requests are not allowed
according to the current policy of the bearer plugin.
For example, to save power when battery is low on a portable device.

Change-Id: I866e115f8fdd046134da99ea895b7c1df0375f26
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:18:43 +02:00
Shane Kearns
fd98a8bd3c Define QNetworkReply::NetworkSessionFailed error
This is to replace the UnknownNetworkError which occurs when the
internal QNetworkSession fails to start (e.g. no usable WLAN available)

Change-Id: I2b14577c22e0acf8ff07be7e932f0dfe9ac89c33
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:18:37 +02:00
Shane Kearns
ade5adaab8 Set ConnectInBackground based on request
Set the QNetworkSession attribute to match the QNetworkRequest that
triggered it.
Currently if there are a mix of normal and background requests queued
and background connections are not allowed by policy:
 - background requests at the head of the queue should fail
 - first foreground request should successfully start a connection
 - remaining requests succeed regardless of background attribute

Change-Id: If0e3ec0b8a5096e3d7cd6df85884c6f53172d233
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:18:29 +02:00
Shane Kearns
2eccb18889 Define BackgroundRequestAttribute
This is so that the ConnectInBackground flag can be set on the
QNetworkSession internal to QNAM according to pending requests.

Change-Id: If0cc62f5117ed8febbbda7b7f6de62b11b274258
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-04-11 22:18:19 +02:00
Konstantin Ritt
9327bc87c3 fix QUtf8 codec to disallow codes in range [U+fdd0..U+fdef]
0xfdef-0xfdd0 is definitely 31 and not 15 :)
also fix all copy-pastes of this code (greping for '0xfdd0' helps ;)

Change-Id: I8f3bd4fd9d85f9de066f0f5df378b9188c12bd48
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
2012-04-11 19:14:43 +02:00
Jason McDonald
7ff5fb610c Update Qt 5 to-do comment in QDom.
The change discussed in the comment doesn't have to be done in a major
release if it isn't source-incompatible.

Task-number: QTBUG-25103
Change-Id: I50036ab13611871ede01b7b7a17ce4c325476b00
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 19:14:43 +02:00
Jason McDonald
0fc74370b2 Minimally resolve Qt 5 to-do's in QXmlSimpleReader
Task-number: QTBUG-25104
Change-Id: Ic5200e2671f60f314d68ef5b341073e04d690c00
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 19:14:43 +02:00
Jason McDonald
d6ad749e8f Remove Qt 5 to-do comments from qgraphicslayoutitem.h.
Neither of these comments will be actioned for Qt 5: the first because
would be source-incompatible with Qt 4, the second becuase it would be
a significant behavioural change.

Task-number: QTBUG-25090
Change-Id: I5f8f7cce3007c3188b2f0184138fa8e55a165654
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 19:14:43 +02:00
Julian de Bhal
5071bbf491 Minor doc fix - show -> hide in QWindow::hideEvent()
Change-Id: I91c5b7f7b688c4f99c6a364692fd96603a38c9bc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-11 19:14:43 +02:00
Friedemann Kleint
ce84af7c9b Propagate window state changes to QWidget.
Apply the state in QWidgetWindow and send an event to
the widget unless the code is triggered by
QWidget::setWindowState().

Change-Id: Ibf2f4e730384e41636841b9216eecfdff35b7bcb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 19:14:43 +02:00
Friedemann Kleint
54f718e552 XCB: Compress window state change events.
- Avoid sending Window State change events from
  WM_STATE/NET_WM_STATE changes irrelevant to Qt::WindowState.
- Introduce QFlags for the NetWmState getter and setter to
  avoid passing QVector<> around.

Change-Id: I74730928c7fffca0fa1cab3b90ded90b06304c06
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 19:14:43 +02:00
Bradley T. Hughes
9839474e19 QWidget: allow modal top-levels to have WA_DontShowOnScreen
If a modal top-level widget has WA_DontShowOnScreen set, we need to call
QGuiApplicationPrivate::showModalWindow() and hideModalWindow()
ourselves, since we will not be calling QWindow::setVisible() (which
would normally do the call for us).

Change-Id: I1b22dd177c5956a2290f3ee031c95ab50d88f153
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-11 16:18:15 +02:00
Bradley T. Hughes
ad1bd1563f Implement window modality in QtGui
QWindow already has windowModality() and setWindowModality() as part of
its API from commit 516f4e283b. Platform
plugins can use this already to setup modality hints on windows that
they create, but it's not enough to implement modality fully.

QGuiApplication gets a modalWindow() static method, which is similar to
QApplication::activeModalWidget() in that it returns the last modal
window to be shown.

The modal window "stack" moves from QApplicationPrivate to
QGuiApplicationPrivate. The enterModal*() and leaveModal*() functions in
QApplicationPrivate are removed and replaced by
QGuiApplicationPrivate::showModalWindow() and hideModalWindow(), which
are called by QWindow::setVisible() just before calling
QPlatformWindow::setVisible().

The virtual QGuiApplicationPrivate::isWindowBlocked() will tell us if a
window is blocked by a modal window (and tell which modal window for any
interested callers). The default implementation works on the QWindow
level. QApplicationPrivate reimplements isWindowBlocked() and adds popup
and WA_GroupLeader support.

QGuiApplication uses the state set from isWindowBlocked() to block
user-input events: mouse press, mouse move, mouse release, wheel, key
presses, key releases, enter/leave events, close events, and touch
begin, update, and end events.

Note also that the modality helper functions in QtWidgets and
QApplicationPrivate are left in place and working as they always have.
The behavior of QWidget in the presence of modal windows/dialogs should
not change.

Change-Id: I2c89e6026d40160387787a6e009ae1fdc12dfd69
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-11 16:17:59 +02:00
Lars Knoll
eff344ab8a Don't crash when comparing values containing empty arrays/objects
Task-number: QTBUG-25164

Change-Id: I1fa00e359ef3583b9a7136bb888cdf5e1c3e75ac
Reviewed-by: Jamey Hicks <jamey.hicks@nokia.com>
2012-04-11 16:09:06 +02:00
Martin Smith
1ec7843856 QDoc: Fix no-examples option.
This was accidentally removed in the big change regarding searching in
the internal QDoc tree.

Change-Id: I2496d7497d239f1ec5fbd01be6a918c1ef29fc95
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-04-11 16:08:14 +02:00
Martin Smith
b1addf36c1 qdoc: Fixed to report read-only QML properties correctly
Now the default for a QML property is writable. If qdoc
can't detect the actual read-only status, writable is
assumed. There were some cases where qdoc could not
determine the actual read-only/writable status for a
QML property. In these cases, qdoc reported read-only
because the default was read-only, which was not optimal.

Change-Id: I55aeb2bedcde92a414f4d48a8d995e5e9dbca5da
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-04-11 16:08:09 +02:00
Konstantin Ritt
3ddd768504 QChar: optimize some methods a bit for general case
by reordering and regrouping conditions so that they lead to result earlier
in most-common usecases (l.letters, spaces and puncts, u.letters, other);
there are no title cased letters in range [0..127] -> use this in isTitleCase();
test for 0xa0 (nbsp) early in isSpace() as it is quite common in HTML, etc.;
add early test to isNumber().

Change-Id: Ib415f34cb1212d9ccf8753de2d1beaece1aa2243
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-11 15:57:32 +02:00
Shane Kearns
7386ab17df Use windows API to update missing CA roots
Windows ships with a minimal set of CA roots.
When using windows API to verify a certificate, it will fetch the
root certificate from windows update (assuming it is part of the
Microsoft trust program).

As we are using openssl, this does not happen transparently.

If SSL errors occur which indicate a broken chain then attempt
to fix it using the windows API before emitting sslErrors.

If the system CA certs are not in use (a CA bundle has been set
on the socket or as the global configuration), then this is skipped.
This is so an application can continue to use its own cert bundle
rather than trusting the system certs.

Key usage is specified, so that windows will return not trusted
status if the root is not suitable for SSL (server auth or
client auth OID).

Testability:
 - to test, must delete the CA cert(s) from the "third party
   root certification authorities" section of the cert store
   using mmc.exe.
 - If the workaround of installing the windows XP cert bundle was
   performed, then you also need to delete certs from the "trusted
   root certification authorities" section.
   This is dangerous, be careful not to delete the required
   certificates which are documented on MS website
 - Naturally, modifying these areas of the cert store requires
   elevated privilege.

Task-number: QTBUG-24827
Change-Id: I5cfe71c8a10595731f6bbbbabaaefa3313496654
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-11 15:49:02 +02:00
Qt4iOS
62cda62c0c Modified project files to be iOS compatible.
Removed some MacOS source code files from iOS build. Use unix standard
paths for now (iOS-specific implementation will come later).

Change-Id: I8b2731b431b3a379a1ec4ec07d227e886209e3e9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-11 15:42:14 +02:00
Robin Burchell
7e74236477 Move QVectorPath::polygonFlags to its own class.
Who can say why it was put in QPaintEngineEx's header, but it certainly doesn't
belong there.

Change-Id: Ieb3b977affcf4b240f621d13b72bdc0e8f8138b9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 14:33:33 +02:00
Robin Burchell
517240096b Move QRectVectorPath into the .cpp of the only file actually using it.
Change-Id: I2778b5142ee574f44a9f9489a2752265c6a6c170
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 14:33:18 +02:00
Hannu Lyytinen
89f6997e80 Add support for QPlatformNativeInterface.
Initial bits to enable figuring out the EGL display and context.

Change-Id: I4b578e356dceb40b4456f0590d32c8df1f51fa53
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:42:37 +02:00
Hannu Lyytinen
0cd818aa7a Use correct framebuffer object.
KMS plugin deals with FBO IDs not equal to zero (the default FBO),
so return the correct ID.

Change-Id: I904fc0b8d732f856b4526bd7f73cc48c358c8441
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:41:20 +02:00
Hannu Lyytinen
38da61fdc0 Release the EGL context after initialization.
Threaded applications like qmlscene could not bind the EGL context if
the context is already bound in the other thread.

Change-Id: Ia75ef9e76ebff48aa2c9b348101ab2f388e18c5e
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:41:10 +02:00
Hannu Lyytinen
c343f710f4 Use the new plugin system in the KMS plugin.
Sync up the KMS QPA plugin with the plugin system changes.

Change-Id: Ifaa8be6f11aeb93acc63643c62ca15db4e9bc38f
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-04-11 12:40:56 +02:00
Jason McDonald
3f9a7f9557 Remove Qt5 to-do comment in qtexthtmlparser.cpp.
The comment relates to a change that is neither source- nor
binary-incompatible, so the change can be done in any minor release.

Task-number: QTBUG-25117
Change-Id: Ifba3ef53241f9bf2504c573066e4cfa5fbfe679e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-04-11 12:35:23 +02:00
Konstantin Ritt
f97db2555e unite QString::normalized() overloads
Change-Id: I27545e599a1831728e491a9fad1e52fa255535fc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-11 10:46:19 +02:00
Robin Burchell
7be255156f Deprecate qMemCopy/qMemSet in favour of their stdlib equivilents.
Just like qMalloc/qRealloc/qFree, there is absolutely no reason to wrap these
functions just to avoid an include, except to pay for it with worse runtime
performance.

On OS X, on byte sizes from 50 up to 1000, calling memset directly is 28-15%
faster(!) than adding an additional call to qMemSet. The advantage on sizes
above that is unmeasurable.

For qMemCopy, the benefits are a little more modest: 16-7%.

Change-Id: I98aa92bb765aea0448e3f20af42a039b369af0b3
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: John Brooks <john.brooks@dereferenced.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-11 10:46:19 +02:00
Girish Ramakrishnan
e60ca0de60 eglfs: rework hooks design
There are two problems with the current design:
1. if (hooks) hooks->foo() doesn't work in debug mode when no platform hook
   is defined. The problem doesn't arise in release mode because the compiler
   optimizes away the if (hooks) into a no-op since hooks is NULL when no
   platform hook is defined.
2. Adding a new hook requires changing every platform's hook implementation.

New approach:
1. Define QEglFSHooks as a class with virtual functions. A stub file provides
   the default implementation.
2. Platform hooks derive from above class and reimplement whatever is needed.

The filenames and variables have been changed to be more in line with the
Qt style.

Change-Id: I2eaaa5ad7c8b48a06361c4747d4f210c428c983f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 09:24:58 +02:00
Donald Carr
42f3bf772b Extend eglhooks to include hasCapability
Add BufferQueueingOpenGL to Raspberry PI's numerous capabilities

Change-Id: I1197c28a0c82df3ae2f6d5360791010e17373555
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 09:22:23 +02:00
Olivier Goffart
5dc506ad84 Mark QObject::disconnect overload const
Consistency with the non-static connect overload

Task-number: QTBUG-23622
Task-number: QTBUG-1772
Change-Id: Ic09df9cca1feaabb6b5cf335f04a0d6d4bbf011f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-11 08:46:48 +02:00