Commit Graph

10633 Commits

Author SHA1 Message Date
Yoann Lopes
040fa04882 Added applicationState() to QGuiApplication.
We only had the QApplicationStateChangeEvent to know about the
application state. Added a function and a signal to offer a more
convenient way to query the current state.

Change-Id: I926aac0b3b53bd285df5825aff5b4c37ae863d03
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-09-02 16:26:21 +02:00
Thorbjørn Martsum
0bcfa3d5d9 QHeaderView - add maximum section size
When we auto resize it is handy to be able to limit the maximum
size (just like the minimum size).

[ChangeLog][QtWidgets][QHeaderView]A maximumSize for sections
has been introduced. The maximum section size is by default
the largest possible section size which in Qt 5.2 has been
limited to 1048575 pixels.

Task-number: QTBUG-4346

Change-Id: Ida9cbcc11bd5c4498e319df2e6379c69a7033c04
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-02 16:26:21 +02:00
David Faure
8f4b6f1cd1 item delegates: fix clicking on tristate checkboxes.
QCheckBox cycles through the 3 states, but item delegates didn't
do that.

Change-Id: Iad1e464341033ca357925fe8064f53bb584459f4
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-02 16:26:21 +02:00
Sergio Ahumada
0a3eb0fe44 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-09-02 16:26:21 +02:00
Tobias Hunger
cee7380c04 QStyleSheetStyle: Fix (!a != b)
The '!' binds to a, so the comparison is not what is expected.

Change-Id: I9192d16e901a9ba6dd13625be544cce6b2fd78c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-02 16:26:21 +02:00
Tobias Hunger
275c940340 QDoc: Fix (!a == b) bug
This is (!a) == b which is not what is intended here.

This exact bug was fixed in a couple of other instances of the QmlJSParser
(in QtCreator and Qt itself) by now.

Change-Id: I46a50153d7c349f21e0a888e2e3b4c4fa65c27c0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-02 16:26:21 +02:00
Kai Koehne
0ed30cbf09 Fix compilation with latest Mingw-w64 headers
Fix compilation with e.g. mingw-builds 4.8.1-rev4 package. The Mingw-W64
headers define SHSTOCKICONINFO only for vista and newer.

Task-number: QTBUG-33225
Change-Id: I30a62c642ae017c7eafb99b1efb06578fd61a12e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-02 15:41:20 +02:00
Leonard Lee
16f3c84e30 Remove the size limit of QByteArray information.
The information is explaining implementation details rather than
on how to use it effectively. The size limit of QByteArray may
vary depending on available memory.

Task-number: QTBUG-33037
Change-Id: I361316422ade3624a0c2864d93f87caeb654f4d7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-02 13:28:52 +02:00
Tobias Hunger
4b7cd57719 QDbus: Fix (!a == b) comparison
! binds to a, and that is wrong here.

Change-Id: I746d2b82bbd03635b3aa06abb0c5566f84a03128
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-02 13:07:44 +02:00
Morten Johan Sørvig
8fc97fdfc7 Revert Mac event loop changes.
"Make QGuiApplication::exec() run within NSApplicationMain()"
"Make Qt process native and timer events on Cocoa applications"
"Cocoa: Fix QFontDialog, QColorDialog auto-tests"

This reverts commits
1e14762b8d
e4b2a0b4ba
df7944e7d7

Change-Id: I80b65b5ee0297b090f807bd420664233dfc44f7b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-02 13:07:35 +02:00
Tobias Hunger
585758389c Graphicsview: Simplify code
order is either Ascending or Descending (0 or 1), so this comparison is
unnecessary.

Change-Id: Ieceacf18f1bf3c7a7555205a140b738daa92bd04
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-09-02 13:07:21 +02:00
Thiago Macieira
1b5848957b Fix last warning of qtbase with GCC.
qlistview.cpp:1836:6: error: unused parameter ‘step’ [-Werror=unused-parameter]

Change-Id: I8c2d16bd794204adafcf2dc049c04601506e7734
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-08-31 23:03:09 +02:00
Thiago Macieira
260a983052 Improve QBitArray's construction performance a little
Ask for an uninitialized byte array, since we're about to memset(3) it
anyway. And don't overwrite the initial byte either.

Change-Id: I2caa2ef395ad5684416e6cd336c0444de7787b5d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-31 23:03:03 +02:00
Thiago Macieira
e13e90fb55 Add a construction note on why QBitArray has a +1 everywhere
It took me several minutes reading the code to figure out why it was
there. It wasn't immediately obvious.

Change-Id: Ic36b3fd24ce84a1b08c73986d3b7ab8a5bfff133
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-31 23:02:59 +02:00
Thiago Macieira
873ae53d47 Fix corner-case counting of bits in QBitArray::count(bool)
This actually looks very wrong. First, it would try to read bits for
len == 0, which means it was actually reading the implicit NUL from
QByteArray (so valgrind would never catch the error).

Second, there was a corner case for testing the 8th bit (bit 7) in the
last byte. For len == 8 or 16 at the beginning of the last loop, it
would read bits[len / 8], which is again the implicit NUL from
QByteArray.

Compare to testBit (simplified):
    return d.constData()[1+(i>>3)] & (1 << (i & 7)) != 0;

Task-number: QTBUG-11625
Change-Id: Idb361163de596b629cab42f2367ddd09456c2a98
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
2013-08-31 23:02:54 +02:00
Thiago Macieira
b4de54fcef Remove workarounds to old GCC bugs we had encountered on IRIX
The check is bogus anyway. It was bogus when it was added. The bug is
not because of "GCC on IRIX", it's simply a GCC bug and was probably
tied to some GCC versions. It should have been reported and followed up.

I don't even remember what GCC versions we had on the IRIX machines
(plastkrakk, I can't remember the other two machine names). But I could
bet they were GCC 3.4 or 4.0.

Change-Id: I84ce4e1ad68bb0520b63c210f841e0c604dbd03a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-08-31 23:02:38 +02:00
Tobias Hunger
0f8d8f4127 QPainter: Fix (!a == b) bug
The ! binds to a only, which is most likely wrong here.

Change-Id: I4aa09407a8acc68f97bef474781193774e4a7597
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
2013-08-31 14:18:59 +02:00
Oswald Buddenhagen
a1133b215a add QProcess::nullDevice()
Change-Id: I15273fa3f3ba323a835350153f2a20404f12420b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-30 21:16:55 +02:00
Thorbjørn Martsum
2c916d47ef QTreeView - fix next focus when there is no current index
Before we went through non hidden indexes, but we never considered
the visual order. This patch fixes that issue.

Though it was wrong before, it probably never was a big problem
since it was unlikely that the tree (on logical index 0) was
swapped or hidden, but

658e42e77a

makes it more likely that problems with wrong focus could occur.

Change-Id: Ic7b6cd2df1f8638be1a7c9e6df27f428685869fc
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-30 21:07:46 +02:00
Konstantin Ritt
427037c75d [2/2] Update bundled HarfBuzz-NG sources up to 0.9.20
Change-Id: Ia8ef11fce9326ed708bf2972514b46b9d105ad9e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-30 20:26:03 +02:00
Konstantin Ritt
029b68ce92 [1/2] Update bundled HarfBuzz-NG sources up to 0.9.20
Change-Id: I8649bbe608cb2f79c721c900c03fd0139a8c0cd1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-30 20:24:43 +02:00
Tobias Hunger
fc9c5ffc5f Fix warning about class/struct mismatch
Clang does not like this:-)

Change-Id: I9c65025d99d31b5ef1314dadf90eef02d23eacb0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-08-30 20:24:35 +02:00
Friedemann Kleint
99362fb7f2 Windows XP file dialog: Fix appending the selected filter suffix.
The mechanism is triggered by always setting lpstrDefExt,

Task-number: QTBUG-33156

Change-Id: Ib3a49410a1ad78fb433a4e0803a0751ec8c2a51e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-30 15:25:04 +02:00
Friedemann Kleint
0ab3e290c4 Initialize variables to fix valgrind warning in pnghandler.
Conditional jump or move depends on uninitialised value(s)
==7986==    at 0x5B838E8: QPngHandlerPrivate::readPngImage(QImage*)
(qpnghandler.cpp:617)

Change-Id: Ie739ca1665ce600426e2816a6229145d814125cb
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2013-08-30 09:58:04 +02:00
Topi Reinio
5f8416ec65 Doc: Enable documentation for QScopedPointer's rvalue ref functions
Make the documented QScopedPointer functions that take rvalue
references visible in the documentation.

Task-number: QTBUG-32675
Change-Id: If65af91d9379a6c0486e43c33434cca8505fc5c3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-08-30 09:22:25 +02:00
Topi Reinio
0023774411 qdoc: Enable support for rvalue references in function signatures
qdoc interprets the double-ampersand in function parameters
using rvalue references (e.g. 'Type &&other') incorrectly
as a logical AND operator, resulting in a syntax error.

This change works around the issue by treating '&' the same
as '*', and defining Q_COMPILER_RVALUE_REFS for qdoc.

Task-number: QTBUG-32675
Change-Id: I499611f16f22c33ff5b878da0cd59d67ddf53d72
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-30 09:22:16 +02:00
Olivier Goffart
b49327145e QMetaMethod::invoke: compare the QMetaType id of the return types
Since Qt5, the QMetaObject do not contains the string name of the
builtin types, but only the QMetaType id. QMetaMethod::typeName
convert back from the id to the string. But if the type is aliased,
the string of the main type is returned.

This was the case for example for qint64 which is transformed to
"qlonglong".

This causes a regression in QMetaType::invoke when trying to invoke a
method which return an aliased type, since the string comparison would
fail.

Fix the problem by also comparing the metatype id.

Changelog: QMetaMethod::invoke: Fix return of aliased meta type

Task-number: QTBUG-33222
Change-Id: Iec7b99dcbf7b23eb818de74f413e4451ce510ac4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-08-29 17:03:41 +02:00
Friedemann Kleint
e59a5f9fdc Windows: Fix compilation with MinGW-64, gcc 4.8.1
A definition for FILE_ID_128 was added.

Change-Id: Ifdfe5da1b15a90afdf5cf09d92838a04b1cf5c19
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-08-29 17:03:41 +02:00
Giuseppe D'Angelo
4ffa60e03a Update QLineEdit::placeholderText property documentation
eeb31ad10a changed the behavior
and allowed the placeholder text to stay visible even if the lineedit
has focus.

Task-number: QTBUG-33237
Change-Id: I733331be1d3225eb28390b21eb9a7e4971bfdc31
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-29 13:29:14 +02:00
Nico Vertriest
6264526659 Doc: minor language and layout edits
Task-number: QTBUG-31801

Change-Id: I99043ba5d1a417e093ae2e4bc7d2967ec9d095fc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-29 13:23:06 +02:00
Gabriel de Dietrich
df7944e7d7 Cocoa: Fix QFontDialog, QColorDialog auto-tests
The new Cocoa event dispatcher made apparent some deficiencies in the
way the dialog helpers were being hidden. In particular, we would not stop
a dialog helper's modal loop when closing the dialog, resulting in the
auto-tests hanging. Also, since the QApplication event loop is runnig with
[NSApp run] in the stack, the previous workarounds are no longer needed.

Task-number: QTBUG-24321
Change-Id: Ifba713c286638d78a699c319a15683d09714f06f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-08-29 12:44:24 +02:00
Gabriel de Dietrich
e4b2a0b4ba Make Qt process native and timer events on Cocoa applications
Since we don't spin any QEventLoop, we need to make sure events posted
by the window system interface are processed.

Change-Id: I0e7b541d86a7a14f2ecd3702e7cbdbdee9920859
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-29 12:44:14 +02:00
Gabriel de Dietrich
1e14762b8d Make QGuiApplication::exec() run within NSApplicationMain()
We follow the same pattern as for iOS and Windows ports, making
sure the user's main() runs in a platform friendly environment. In
this particular case, it means calling the user's main() during the
call of NSApplicationMain(), and calling the user's main() function
(renamed to qMain() as in Windows) after receiving
NSApplicationDidFinishLaunchingNotification. In practice, this means
that NSApp is running when qMain() is called, and therefore when
QCoreApplication::exec() is called.

For those command-line utilities running on QGuiApplication, or any
deriving class, and that do not provide a bundle, we override the main
bundle's dictionary and get NSApplicationMain() to run as usual.

Added cocoa/cocoamain "subdir" to build libqtcocoamain.a (together with
cocoa/cocoaplugin -- plugins/platforms/cocoa is made a subdirs project).
This library is linked against all GUI Qt apps and provides the actual
main() function. It also catches the launching NSApplication notifications,
and calls the user's qMain() function. Note that this will happen in the
same cases when the user's application will run with the Cocoa QPA plugin.

Launch related code in QCocoaApplicationDelegate is moved to libqtcocoamain,
QNSApplication is removed (but sendEvent: redirection still there), and
code in QCocoaEventDispatcher dealing with calling [NSApp run] and related
has been removed since it's become unreachable.

ChangeLog: [Qt for Mac] Make QGuiApplication::exec() run within NSApplicationMain()
Change-Id: I790e5138c29aac2e0215a9147d0148fece40ca22
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-08-29 12:44:07 +02:00
David Faure
ee9b9d9fd9 QFileDialog: add MIME Type filters
Currently just a convenience method for setNameFilters(), it uses
QMimeType to create a name filter from the glob patterns and
description defined in each MIME type.

In the longer term, this API could be used to do proper mimetype-based
filtering using QMimeDatabase::mimeTypeForFile() in the builtin
QFileDialog (aka "not native"), instead of only looking at globs via the
name filters.

Change-Id: I0edccf5f30c514481b47cd100d743d1ed7a24024
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-29 10:25:01 +02:00
David Faure
468b539935 Port uic to QCommandLineParser
Before:
=======
Qt User Interface Compiler version 5.2.0
Usage: uic [options] <uifile>

  -h, -help                 display this help and exit
  -v, -version              display version
  -d, -dependencies         display the dependencies
  -o <file>                 place the output into <file>
  -tr <func>                use func() for i18n
  -p, -no-protection        disable header protection
  -n, -no-implicit-includes disable generation of #include-directives
                            for forms generated by uic3
  -g <name>                 change generator

After:
======
Usage: uic [options] [uifile]
Qt User Interface Compiler version 5.2.0

Options:
  -h, --help                    Displays this help.
  -v, --version                 Displays version information.
  -d, --dependencies            Display the dependencies.
  -o, --output <file>           Place the output into <file>
  -p, --no-protection           Disable header protection.
  -n, --no-implicit-includes    Disable generation of #include-directives.
  --postfix <postfix>           Postfix to add to all generated classnames.
  --tr, --translate <function>  Use <function> for i18n.
  -g, --generator <java|cpp>    Select generator.

Arguments:
  [uifile]                      Input file (*.ui), otherwise stdin.

Notes:
* "-dependencies" etc. still work.
* -n option still has effect, but technically not only for ui3 files
* the fact that the <uifile> parameter is optional wasn't documented
* -postfix option was undocumented
* -translate alternative for -tr was undocumented
The last two points show the benefit of using QCommandLineParser.

Change-Id: Ie05cfb9bbe50f4ac2788aa7b6011b2daa1acde6a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-29 10:25:01 +02:00
David Faure
4774ff8eb1 Port rcc to QCommandLineParser.
Before:
=======
Qt resource compiler
Usage: rcc  [options] <inputs>

Options:
  -o file              write output to file rather than stdout
  -name name           create an external initialization function with name
  -threshold level     threshold to consider compressing files
  -compress level      compress input files by level
  -root path           prefix resource access path with root path
  -no-compress         disable all compression
  -binary              output a binary file for use as a dynamic resource
  -namespace           turn off namespace macros
  -project             Output a resource file containing all
                       files from the current directory
  -version             display version
  -help                display this information

Undocumented: -verbose and -list !

After:
======
Usage: rcc [options] inputs
Qt Resource Compiler version 5.2.0

Options:
  -h, --help          Displays this help.
  -v, --version       Displays version information.
  -o, --output <file> Write output to <file> rather than stdout.
  --name <name>       Create an external initialization function with <name>.
  --root <path>       Prefix resource access path with root path.
  --compress <level>  Compress input files by <level>.
  --no-compress       Disable all compression.
  --threshold <level> Threshold to consider compressing files.
  --binary            Output a binary file for use as a dynamic resource.
  --namespace         Turn off namespace macros.
  --verbose           Enable verbose mode.
  --list              Only list the files, do not generate code.
  --project           Output a resource file containing all files from the current directory.

Arguments:
  inputs              Input files (*.qrc).

Change-Id: If20958afd6c01df5d0d755e13e8581bc1cb9af51
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-29 10:25:01 +02:00
John Layt
ad77048d1f QDateTime - Extend fromMSecsSinceEpoch API
Add convenience methods for fromMSecsSinceEpoch() and
fromTime_t() to enable direct creation of other time specs
than LocalTime without the overhead of unncessary conversions.

For example instead of:
  QDateTime dt = fromMSecsSinceEpoch(12345).toUtc();
the following saves two conversions:
  QDateTime dt = fromMSecsSinceEpoch(12345, Qt:UTC);

This will improve the performance of the new QTimeZone class.

[ChangeLog][QtCore][QDateTime] Added convenience methods for
fromMSecsSinceEpoch() and fromTime_t() to take time spec to be used in
returned datetime.

Change-Id: I133635bfe3d35ee496a287257e13b2d600225a38
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-08-29 00:32:08 +02:00
Sergio Ahumada
3b3a9fe53f Merge remote-tracking branch 'origin/release' into stable
Change-Id: I815757e33b6c0b1e702c8e386e8e30307f78e318
2013-08-28 20:36:12 +02:00
John Layt
13c16bbd06 QDateTime - Improve and expose Qt::OffsetFromUtc
The Qt::OffsetFromUtc TimeSpec was made public in Qt 4.4 but the access
methods were never made public in the apidox effectively meaning the
feature was never used.  The implementation was also incomplete and
inconsistent.

This change cleans up the implementation and exports new public API for
using the TimeSpec using new method names consistent with the new
QTimeZone support.

This change increases the QDataStream Version number for Qt 5.2 to 15.

The behavior of one constructor has changed slightly to be consistent
with the rest of the feature, but this behavior was never documented.

[ChangeLog][QtCore][QDateTime] Fully implement support for Qt::TimeSpec
of Qt::OffsetFromUTC, added new methods for offsetFromUTC(),
toTimeSpec(), and toOffsetFromUTC().

Task-number: QTBUG-26161
Task-number: QTBUG-29666

Change-Id: If3cc7fc9778ca2b831644408ae749448d5975a3a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-08-28 19:08:14 +02:00
Robin Burchell
80cb575953 Remove Maliit input context.
Maliit upstream has its own IC which is more advanced than this one, as well as
being supported.

Change-Id: I4b820fc7f39468e53c113699c4c43c75d490f65b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
2013-08-28 17:01:40 +02:00
Yoann Lopes
e94c221655 Android: added ApplicationState capability.
The application state is tied to the QtActivity lifecycle.
Mapping of states between Android and Qt is as follows:
 onResume --> ApplicationActive
 onPause  --> ApplicationInactive
 onStop   --> ApplicationSuspended

Change-Id: Iefef08d6c7a7fde28fba1f4886882458cda6a0c0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-28 17:00:15 +02:00
Thorbjørn Martsum
fd871694e7 QButtonGroup - add buttonToggled signals
QButtonGroup emits signals on clicked, pressed and released for
buttons in the group, but for some (insuffienct) reason it did
not emit anything for toggle (the only signal that it didn't emit
anything for).

This patch changes that, by adding handling of that signal to
QButtonGroup.

Task-number: QTBUG-14857

Change-Id: I88bcd7b060b78c7ff05ea1adf7baaddfe6d463be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-08-28 12:15:43 +02:00
David Faure
e8e7128188 Add QCommandLineParser to the bootstrap lib
Change-Id: I861758746eca954cf074893b0241fd66c2ff39d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-28 12:15:43 +02:00
Giuseppe D'Angelo
a79e42b8f4 Enable DWM transparency for OpenGL windows under Windows
Starting with Windows Vista, we can control the compositing window
manager using the DWM APIs. This allows us to make truly transparent
OpenGL windows.

We also have to detect and listen if compositing is enabled, otherwise
enabling transparency will cause glitches all over the place.

This (partially) fixes
Task-number: QTBUG-28214

Change-Id: I0fe1ec7adec8181b788c32de03c59142731d9e7f
Done-with: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-28 09:33:46 +02:00
Giuseppe D'Angelo
198d2f6d3e Activate Qt::WidgetWithChildrenShortcut shortcuts in MDI subwindows
If a MDI subwindow is focused and an ancestor has a QShortCut set
with the Qt::WidgetWithChildrenShortcut flag, it should trigger,
as MDI subwindows are not top-level widgets.

Task-number: QTBUG-32788
Change-Id: I7ec76d493b827ae6678209a56015ab6b432c1ed9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-28 00:59:40 +02:00
Frederik Gladhorn
190fa97c83 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	examples/widgets/doc/src/addressbook-fr.qdoc

Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
2013-08-27 22:51:09 +02:00
Stephen Kelly
db87c9ead2 Don't compare const_iterator with iterator.
Commit 93ffb81df6 introduced this bug. As
it is in the header, it affects downstreams.

Change-Id: I02e86927e648153ca7c0b66ac945a7f99cc4cd89
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-27 22:32:35 +02:00
Friedemann Kleint
78d7192338 Close menu on 2nd click on QMenuBar.
Task-number: QTBUG-32807
Change-Id: I0c3c25c6acf92bc30c1bcfc09003209b572ec777
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-27 19:12:06 +02:00
Konstantin Ritt
9ece604d9b Add stripped version of HarfBuzz-NG 0.9.19 sources to 3rdparty
Change-Id: I06fbf58131ebce51ce95921d8dfd65dd3d3e236f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-27 18:04:28 +02:00
Konstantin Ritt
79e77a58a6 Make it possible to build HarfBuzz-NG in Qt
Change-Id: Ib956adb0ab7bcfba3ce73acf7c19bda815d6eb73
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-27 18:04:23 +02:00
Sean Harmer
a70c0ad1d1 Add operator[] to QVectorND classes
Change-Id: Ia786d4fab64da974bb60f24c05325925d42a1e70
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-08-27 17:50:40 +02:00
Yoann Lopes
5971e09187 Use custom class for storing distance fields instead of QImage.
Distance fields are stored using a one-byte alpha component per pixel, a
format that QImage doesn't currently support. The Indexed8 format was used
instead, limiting what could be done with the QImage.
This patch introduces a new private class, QDistanceField, with a similar
API to QImage and using the Alpha8 pixel format. Unlike QImage which
aligns scanlines on a 4-byte boundary, QDistanceField tightly packs
scanlines together.

Task-number: QTBUG-30908
Task-number: QTBUG-32861
Change-Id: Ic273259ea07dfbd2b81a6358c0ca11a2330eb749
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-27 16:03:11 +02:00
Eskil Abrahamsen Blomfeldt
f3a53eae80 Revert "Fix compilation for Android ARMv5"
This reverts commit 9fa1bdeeb2 which
is no longer needed because the Android NDK now contains a
toolchain without the bug for which it was a work-around.

Task-number: QTBUG-31051
Change-Id: I601ba2fccb927ee7e818644de4474700e2eec8f1
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-08-27 16:00:47 +02:00
Mitch Curtis
507f1889e2 Add QJsonValue::toInt().
It's a nice feature to have.

MSVC also complains about using doubles to create enum values, so
the ugly workaround is:

enumValue = MyEnum(qRound(json["myEnumValue"].toDouble()));

[ChangeLog][QtCore][QJsonValue]Added QJsonValue::toInt().

Change-Id: I1a200b912abf66b2e96390b1980caff26cfa2685
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-27 08:01:29 +02:00
Thorbjørn Martsum
f73518e732 QMessageBox - move informative+details text to new layout function
Controlling the layout from different functions is not easy, so
lets move it to the setupLayout function.

Change-Id: I3120a2e98b2f8425befa135595d4ad7ce1b8ca56
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-08-27 05:56:09 +02:00
Thiago Macieira
77e8ff66f0 Move the creation of QElapsedTimer out of the inner function in QMutex
Makes it possible for QElapsedTimer to be non-POD.

Change-Id: I5ffc59c7a93c187a4a814e6959f8383fa8d4cc44
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-08-27 03:51:31 +02:00
Thiago Macieira
b0b5ade8d3 Don't try to detect the CPUID instruction if we're compiling for Pentium
If we're compiling for Pentium or better CPUs, then we know that the
CPUID instruction is present (I think it was introduced in late 486s,
actually). So don't try to detect it. Simply assume it's there and then
execute it.

This means that if you compile Qt for Pentium (or higher) and run it on
an i386 or i486, you'll get a SIGILL (or whatever your OS produces for
an #UD processor exception). If the CPU detection code even got run --
SIGILL might happen for any other instructions found along the way.

Change-Id: Iacd4a94a51363a609a61fc2bfd2e218fb290272d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-27 03:50:50 +02:00
Christian Strømme
ac611399fe JNI Convenience: Make single argument ctors explicit.
Change-Id: I330e4acf9b944fc72066b608653edd4686620b7e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-08-26 23:52:59 +02:00
Christian Strømme
ca0ec4043f JNI Convenience: Print exceptions in debug mode.
The exception message might contain valuable information about what went
wrong, so we should print the message.

Change-Id: I50c986d4c18cf6115017fcc92363c946be45024d
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-08-26 23:52:40 +02:00
Christian Strømme
1db13907d9 JNI Convenience: Make it possible to copy QJNIObjects.
Change-Id: I692242147d5f908381ea9d3b393b3c591385efd4
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-08-26 23:52:27 +02:00
Christian Strømme
0ccb75b5fc JNI Convenience: Use isSameObject() when comparing jobjects.
Comparing the value of two jobjects are not safe, as it's not guaranteed
that two jobjects that is referencing the same object,
will have the same value. To make things worse two jobjects might have
the same value even though they reference two different objects...

Change-Id: I997ea8abfb8c687c342b261bba3848cbbd741633
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-08-26 23:52:15 +02:00
Eskil Abrahamsen Blomfeldt
fa8786c397 Android: Fix crash when hitting Back button to quit
On Android, it's possible to reach the condition when window == 0
if you hit the Back key, since the previous bail-out is disabled
for this case. To avoid a null-pointer dereference, an extra
check is required.

Change-Id: Ic898cd82dd6e52c24505dd2248c98efcefc15b1c
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-08-26 23:52:03 +02:00
Thorbjørn Lund Martsum
934f062203 QAIV - Fix scollbars with ScrollPerPixel to scroll 1 pixel.
The documentation says that we scroll one pixel

Quote:
"QAbstractItemView::ScrollPerPixel  (value 1)"
"The view will scroll the contents one pixel at a time."

However until now Qt has tried to be smarter than the
documentation, but is actually getting in the way of the user,
where a manual set value to setSingleStep will continuingly
be overwritten (on e.g resize).

This patch ensures the behavior described in the documentation
for the vertical headers - and leaves the control to the user.

[ChangeLog][QtWidgets][QAbstractItemView]  QTBUG-7232 - In ItemViews
scrollbars will now by default only scroll 1 pixel when scrollMode
is set to scrollPerPixel. That is it will (when scrollMode is
scrollPerPixel) do what is stated in the documentation, and no
longer automatically adjust the scrollbars singleStep. The user
can now control that value.

Task-number: QTBUG-7232

Change-Id: I8a61d3100be65d0c4ee32aad58caed019aa2669c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-26 09:40:59 +02:00
Martin Smith
94dca6d10c qdoc: Fixed the relative link to installdir problem
Instead of using the fake "outputdir" to force qdoc
to generate a relative path to the actual output dir,
it now uses the value of HTML.outputsubdir, or just
"html" if HTML.outputsubdir is not specified.

Task-number: QTBUG-32580
Change-Id: I45c79a788e102213e6d343a7ed108a3d17d94759
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-26 08:53:32 +02:00
David Faure
404598b613 Long live QCommandLineParser!
The QCommandLineParser class provides a means for handling the command line options.

QCoreApplication provides the command-line arguments as a simple list of strings.
QCommandLineParser provides the ability to define a set of options, parse the
command-line arguments, and store which options have actually been used, as
well as option values.

Done-with: Laszlo Papp <lpapp@kde.org>

Change-Id: Ic7bebc10b3f8d8dd06ad0f4bb897c51d566e3b7c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 21:33:39 +02:00
Thiago Macieira
1411a6f1ac Remove use of QFlag in the SQL drivers
It's not clear why they were added, but they aren't needed anymore.

Change-Id: I1d919deefdbd6a71fa255eeac1a8543c33ba390d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-24 17:41:38 +02:00
Thorbjørn Martsum
c35b55f076 QLinkedList - fix insert with iterator when the list is shared.
Before a call to erase on a shared instance would imply that the
item was inserted into the shared data (i.e all instances)

Change-Id: I655ccf04b1ad9bf82e6bfade58929538fa7df000
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 15:36:30 +02:00
Thorbjørn Martsum
97f867212f QList - fix insert with iterator on shared instance
This patch ensures correct detach when insert with an iterator is
called on a shared instance (i.e same behavior as QVector)

Change-Id: Id660eacd3cc7b633456dfa989997bbad747e1df2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 15:36:30 +02:00
Thorbjørn Martsum
ea25495703 QLinkedList - fix erase with iterator when the list is shared.
Before a call to erase on a shared instance would imply that the
item was removed from the shared data (i.e all instances)

This patch improves the behavior to detach and erase the item
specified by the iterator (i.e same behavior as QVector)

Change-Id: Ib3cfb5363c86b400886c80b75b0c20ca854ce801
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 15:36:30 +02:00
Thorbjørn Martsum
5fc13cc06a QList - fix QList::erase when the list is shared
Before calls to erase on a shared instance would in release mode
imply that items were removed from the shared data (i.e all instances).
In debug mode it would assert.

This patch improves the behavior to detach and erase items
specified by the iterator(s) (i.e same behavior as QVector)

Change-Id: I89b69446cb1ffd43a98402b7ab1ec9a59bceb8e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 15:36:30 +02:00
Thorbjørn Martsum
a5c7a9032e QMap - fix erase with iterator when the map is shared
Before a call to erase on a shared instance would imply that the
item was removed from the shared data (i.e all instances)

This patch improves the behavior to detach and erase the item
specified by the iterator (i.e same behavior as QVector)

Change-Id: Ia44db84fc1388d92308bf0d2b32539ac4d53850b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 15:36:30 +02:00
Thorbjørn Martsum
93ffb81df6 QHash/QSet - fix QHash::erase when the hash is shared
Before a call to erase on a shared instance would imply that the
item was removed from the shared data (i.e all instances)

This patch improves the behavior to detach and erase the item
specified by the iterator (i.e same behavior as QVector)

Since QSet uses QHash it improves QSet the same way.

Change-Id: I850b1efcf7bdfc85ceddb23128b048af95f75063
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 15:36:30 +02:00
David Faure
dacf9961da QThreadPool: fix counting of waiting threads
QTBUG-21051 has a testcase where activeThreadCount() could actually
end up at -1 (converted to an autotest in this commit).
The reason was: start() calls tryStart() which returns false due to
too many active threads (reserveThread() causes this), so it calls
enqueueTask() - which actually wakes up the waiting thread, but
it didn't decrement the number of waiting threads.

Note that tryStart() is "if I can grab a waiting thread, enqueue task and wake it"
while start(), in case tryStart() fails, wants to "enqueue, and then if I can grab
a waiting thread, wake it". This is why enqueue shouldn't wake; waking must happen
only if we can grab a thread (d->waitingThreads > 0).

Task-number: QTBUG-21051
Change-Id: I3d98337103031c9bdf0bf365295f245be0c66aa7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-24 13:09:46 +02:00
Thiago Macieira
64a1448d87 Update Linux interface getting to make fewer syscalls
Each time we call if_nametoindex, if_indextoname or somesuch, the libc
needs to open a socket, make an ioctl, and close the socket. Since we've
got most of the information we need anyway in the data from
getifaddrs(3), let's just use it

Change-Id: I572c212a27c4b9ffe57980b36f75bb04e6d5cf29
Reviewed-by: Jonas Gastal <gastal@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-08-24 00:06:07 +02:00
Thiago Macieira
362ea2dede Soft-deprecate obscure feature on property getters returning pointers
moc actually generates the right code for getters returning a pointer
to the type in question, or a reference to the type (a reference, one
would assume, does not require code changes). However, the same
extension is not valid for the setter: it can't receive the new value
by pointer.

Therefore, let's soft-deprecate the feature by removing its existence
from the documentation.

Task-number: QTBUG-33091
Change-Id: I27844213e051ec7fafeb4744089a0653aea6f1f3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-23 21:39:41 +02:00
Thiago Macieira
ca772b2f2f Ensure the docs for QOpenGLFunctions_ES2 are generated
qdoc runs the preprocessor, so it probably skipped the definition for
this class.

Change-Id: I10933134d0c20131dd25e15bee914ebfac358b10
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-08-23 18:39:53 +02:00
Friedemann Kleint
f738a4a5d5 Do not recreate window if it is moved to a virtual sibling screen.
Task-number: QTBUG-32681
Task-number: QTBUG-33062
Change-Id: Id37627231b7a129c398d90d3f01ded6bd5171088
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-23 18:39:53 +02:00
Christian Kandeler
5774f3c944 Fix name of configure flag in QSettings documentation.
It's "-sysconfdir", with one hyphen.

Change-Id: I62ddece98ee23989ae8d1881feb375e30d872190
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-23 14:23:42 +02:00
Daiwei Li
79570157e3 Return 1.0 for devicePixelRatio in QCocoaWindow if no valid window
If m_window is invalid, devicePixelRatio returns 0, which leads to
adverse effects in other parts of the code. For example,
qquickshadereffectsource.cpp will get stuck in an infinite loop
trying to multiply 0 by 2.

Task-number: QTBUG-32975

Change-Id: Ie3db86f1f459df018ebce67bcb4226f6cffe854e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-08-23 11:48:00 +02:00
Friedemann Kleint
9194fc00a6 Windows: Keep monitors when system is locked.
Prevent windows from being recreated due to screen changes which
can cause GL widgets to stop updating among other things.

EnumMonitors returns only one temporary monitor named "WinDisc"
when locked. Do not remove monitors when that happens.

Task-number: QTBUG-33062
Change-Id: Ia2247bb04b3e10f99f594245f84238b5f9044f70
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-23 11:48:00 +02:00
Nico Vertriest
6d0d5a2ade Doc: added excludedirs to qdocconf example.
Corrected style issues pointed out in review.

Task-number: QTBUG-31801

Change-Id: Ibbc4e5f8dcd8ca129ae945b5e62b15daed47d86d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-23 11:48:00 +02:00
Tor Arne Vestbø
56083adbea iOS: Make the event dispatcher properly emit aboutToBlock() and awake()
This approach follows the same one used by the Cocoa event dispatcher.

Change-Id: I2813b09beae07d90477c9ca506924058ace13f34
Reviewed-by: Ian Dean <ian@mediator-software.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-23 11:28:48 +02:00
Tor Arne Vestbø
321cc1f277 Share named time-interval constants in CoreFoundation event dispatcher
Change-Id: Ie9ae40e3f7e2631c461ad01b6e5a4640c0b773c9
Reviewed-by: Ian Dean <ian@mediator-software.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-23 11:28:48 +02:00
Tor Arne Vestbø
c0e5f31ad8 iOS: Wrap CFRunLoopSource in C++ class for easier code legibility
Change-Id: If34953b171676f0246c2fb5e60c59f59350863ec
Reviewed-by: Ian Dean <ian@mediator-software.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-23 11:28:48 +02:00
Tor Arne Vestbø
29c1567ee4 Rename QIOSEventDispatcher to QEventDispatcherCoreFoundation
Now that it lives in QPlatformSupport, will be fleshed out more, and
might be used on OSX at some point in time. Still iOS specific, as
none of the iOS API usages have been ifdef'ed.

Change-Id: Ib7fde6403ef2dfef175a6f306a85d58027569a30
Reviewed-by: Ian Dean <ian@mediator-software.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-23 11:28:48 +02:00
Tor Arne Vestbø
4ab5870699 iOS: Determine render buffer resize based on CA layer, not Qt window
We resize the render-buffer based on the CALayer of the UIView that's
backing the QPlatformWindow, so the logic in defaultFramebufferObject()
to determine if a resize is needed should be based on the relationship
between the render buffer-and the CALayer, not the render-buffer and
the QPlatformWindow.

There is still an issue of the QPlatformWindow and its UIView/CALayer
not being in sync, but that's a separate issue.

Change-Id: I84f617d07ec64fea0d027473e9720523eeae0c7a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-23 11:28:48 +02:00
Nico Vertriest
3e7c77cfae Doc: minimal qdocconf file with comments
Task-number: QTBUG-31801

Change-Id: Ia94989b066ab2cd4d6dbf64261b5d9b4207db12a
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-23 09:35:36 +02:00
Uli Schlachter
bd00b51c47 XCB: Fix race with the event thread
The XCB backend runs a thread which gets events out of the XCB event
queue and feeds it to the main thread via another queue. This queue is
protected by a mutex.

However, when the event thread exits, it cleans up after itself and
frees all remaining entries in the queue. This code messed with the
event queue without acquiring the needed mutex and left behind a list
full of stale pointers.

Fix this and protect the freeing with the correct mutex and clear the event
queue afterwards.

Change-Id: Ie49cf6241b76be86d8cebbc931f7226a3f6a14e5
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-23 09:16:41 +02:00
Andy Shaw
1baf293548 Move SnapToDefaultButton from QPlatformDialogHelper to QPlatformTheme
Since QPlatformTheme covers all dialogs whereas QPlatformDialogHelper is
really only for the native dialogs then the SnapToDefaultButton hint is
moved as it has relevance for all dialogs

Task-number: QTBUG-32631

Change-Id: I1dce0bb4abcd4cfd39c4a199a33fc7078176ab4b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-23 08:42:35 +02:00
Takumi Asaki
1f8c179c6c Doc: Add Q_OS_ANDROID macro
Change-Id: If428f0b7c1540e809f756f426a6d222acea5d310
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-23 01:54:38 +02:00
Rafael Roquetto
9de6d1a74f BB10: Do not send deactivate event twice
On BB10, NAVIGATOR_WINDOW_INACTIVE is called before
NAVIGATOR_WINDOW_INVISIBLE, already triggering handleWindowGroupDeactivated()

Change-Id: I7d82c0220fe8dc8e87bfa2b31af6085c7d1d6cee
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2013-08-22 23:36:40 +02:00
Rafael Roquetto
4994300fe7 Playbook: Fix rendering when thumbnailed/minimized
On Playbook, rendering should happen when the application is thumbnailed,
therefore we need to send a window activated event to resume rendering once
the thumbnail is restored from the minimized state.

Change-Id: I0fa5da483dc101e25f718e52859a66edfe5c66c7
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2013-08-22 23:36:40 +02:00
BogDan Vatra
b4252802b3 Switch back to thumb for android armeabi.
Add workaround for gcc 4.8 compile bug.

Change-Id: Ie7a81ec25a79764989bbd9eb43dd5a8fbf442dfc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-22 21:34:35 +02:00
Gabriel de Dietrich
68563cdabd Cocoa: Fix memory leak in event dispatcher
We retain each modal NSWindow as long as its modal session is running,
and we should release it every time that modal session ends.

Task-number: QTBUG-32728
Change-Id: Ia30c9c2d15be1350e7150a0d3c2f530a2fe4f38b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-08-22 19:14:03 +02:00
Gabriel de Dietrich
10e23c84d5 Style: Remove useless background paint for menu scroller
This would also cause an extra paint in QQuickStyleItem, resulting
in the frame being erased for those styles not having a frame width
set (e.g., fusion and GTK).

Change-Id: I7a9371c540cd31fd9f1400a51c4ec57582996dd2
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-08-22 19:14:03 +02:00
Gabriel de Dietrich
2af8feee92 Cocoa: Bring back old exposure behavior on Mac OS X 10.6
Task-number: QTBUG-31864
Change-Id: Ife2429b2d6b845e5ccca31a03e66351a3ff5ba4b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-08-22 19:14:03 +02:00
J-P Nurmi
61948f84da Fix scrollbar appearance on Win8
Task-number: QTBUG-26503
Change-Id: Id74821e005483d05450467fcaea672bbf35113bc
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-08-22 19:14:03 +02:00
Mitch Curtis
c7c3a78075 Add json/savegame example.
There wasn't any example documentation besides json.html, which doesn't
actually describe usage of the various QJson* classes.

This also makes each QJson* class page link back to json.html.

Change-Id: If5ad6493d2728df0cec7bdbbc5790f0b755f816c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-22 19:14:03 +02:00
Frederik Gladhorn
3abecf2ee9 Accessibility for Android
This enables both modes for TalkBack,
explore-by-touch and the normal swiping mode.

It is partially inspired by the BarGraphView example
of the Google/Android Eyes-Free project.

Note that for any accessibility to work you'll need
a device with api level 16 at least.
Using reflection we should be able to dynamically pick up
the classes if we have the high enough api level.

Change-Id: I11b93bead451483782a1711434d45c8f9a35996f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-22 18:45:24 +02:00
Frederik Gladhorn
59b6a67b94 Remove rowColumnExtents from QAccessibleTableCellInterface
The API is broken and available in individual functions.
Don't make it more complicated than necessary to implement
the interfaces for new widgets.

Change-Id: Ie408c369ef05b2b8e7ac666b25153d090fcf3aae
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-08-22 18:45:24 +02:00
Richard Moe Gustavsen
ce16e70985 iOS: Activate window on touchesEnded instead of touchesBegan
Since we await giving focus to a focus object until a press
release, it also makes sense to await activating a window until
a press release, since they both have to do with focus. By doing
so, the input panel now stays open if the user selects a line edit
in one window when a line edit in another window still has focus. We
also avoid activating a window in case of a touch cancel (e.g as
a result of the user flicking or triggering a gesture).

Change-Id: Ic00c4be69c257fceb10ce2d5a81cb490ea93710f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-08-22 18:45:24 +02:00
Friedemann Kleint
4e04302672 Check for window handle in QBackingStore::flush().
Task-number: QTBUG-33062

Change-Id: Iab4ccc3a2a855ee7f6964659b53b3401af436212
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-08-22 16:44:37 +02:00
Martin Smith
e4df7fc75a qdoc: Fix the qdoc \include command
qdoc's \include command now works as expected.
This command is only for including a file that
contains qdoc comments that contain qdoc commands
to be processed by qdoc. The file to be included
should have the .qdocinc suffix, although qdoc
will accept any suffix now. The file must be in
one of the directories specified by the sourcedirs
variable in the qdocconf file.

Task-number: QTBUG-33046
Change-Id: I45ea08932b4218aae369469968117fb5132f764b
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-22 16:11:29 +02:00
Martin Smith
d9b5cead97 qdoc: Make example file names unique
To avoid duplicate files for examples, the files
are named this way. Suppose you have an example
called mandelbrot. The example is in a subdirectory
named mandelbrot, and there is a \example command
somewhere like this:

\example mandelbrot

In this case, the mandelbrot example is in the QtCore
module. Then the name of the example page will be:

"qtcore-mandelbrot-example"

...and the names of the example files will be:

"qtcore-mandelbrot-main-cpp.html"
"qtcore-mandelbrot-mandelbrot-pro.html"
"qtcore-mandelbrot-mandelbrotwidget-cpp.html"
"qtcore-mandelbrot-mandelbrotwidget-h.html"
"qtcore-mandelbrot-renderthread-cpp.html"
"qtcore-mandelbrot-renderthread-h.html"

Task-number: QTBUG-32580
Change-Id: Ic4445fd65b679523d6d94a8b0c19289d049ef0b0
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-22 16:11:29 +02:00
Mitch Curtis
5b4c0d4b0b Fix typo in qkeysequence.cpp code comment.
Change-Id: I833c4da7363d7ae5dcfa5a901dadc0e327080e40
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-22 16:11:29 +02:00
Olivier Goffart
8a96679493 moc generated code should compile with QT_NO_KEYWORDS
Don't use the 'emit' keyword in the moc generated code for properties
with MEMBER

Task-number: QTBUG-33094
Change-Id: I5a0950e9c7a0dee347a6a6c79098e3e7d4776014
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-22 16:03:28 +02:00
Olivier Goffart
2bd40c53ef moc: Fix related objects containing itself
This may happen when we have namespaces and the qualified name is used
to scope an enum.

Task-number: QTBUG-32933
Change-Id: Ic4923bbfb138387bae1e3694172661ace8342089
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-22 16:03:28 +02:00
Peter Hartmann
4f7e0fc632 HTTP socket engine: support newer HTTP proxies
After sending authentication, we need to revert all states to be able
to read the HTTP header again. Before, we would not try to read an
HTTP header after sending authentication.

Change-Id: Id4b95eda9881a37bcfbae0570756bb3e4918a568
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns.qt@gmail.com>
2013-08-22 12:37:30 +02:00
Tor Arne Vestbø
c15a8cc283 Don't use qt_mac_get_fixed_pitch() to resolve fixed pitch fonts on OSX
The call was resulting in inifinite recursion on OSX 10.9 when Qt was
built against the 10.7 SDK, as qt_mac_get_fixed_pitch uses QFontMetrics
to resolve the pitch, and we would end up in the font resolver again
when asking for the metrics.

The CoreText font-database already takes care of resolving whether or
not a font family is fixed-pitch, so the code is likely a leftover
from the ATSUI-days, and can be removed.

Task-number: QTBUG-31803
Change-Id: I37c90fa637927eb4adc16c0fd556c4c46c456034
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
(cherry picked from commit bd9a023a41)
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2013-08-22 09:22:09 +02:00
Olivier Goffart
c20b358703 moc: Issue a warning instead of an error when macro argument mismatch
moc's C++ is not 100% accurate, so better process the invalid macro with
a warning rather than an error.

Such errors occurred in the QSKIP macro with variadic arguments since
that macro is defined conditionally.
It is also causing problem in boost header (cf task QTBUG-29331)

Task-number: QTBUG-29331
Change-Id: Ice6a01b675286540d6470c8e36920b7efd39b540
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-22 07:11:33 +02:00
Thorbjørn Martsum
e7168ff9fe QMessageBox - merge some mac and non-mac code
I have not located any significant behavior changes in this,
and it is annoying having too much similar code in different
branches.

The main change is a removal of Qt::AlignLeft, but
the icon Label should be in its own column.

Change-Id: Iaf07fc503075e61e2af1a93d5fc9e6e34a24451d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-08-22 06:47:19 +02:00
Thorbjørn Martsum
5ba72276c4 QMessageBox - move layout handling
This patch moves some layout handling to a new function.
That will be helpful later since we can re-use the new function.

Change-Id: I4cc846f9958d9530ec2b07292093b94bd27ee055
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-08-22 06:47:05 +02:00
Thiago Macieira
065cff8311 Define Q_PROCESSOR_X86 to the x86 family
They are:
 3      Intel 80386 or equivalent
 4      Intel 80486 or equivalent
 5      Intel Pentium, Pentium MMX, AMD K6 and a few others
 6      everything since the Intel Pentium Pro and AMD Athlon

By necessity, this means all 64-bit builds have a family of 6. That
matches the family number that the CPUID instruction produces.

Change-Id: I5dc7344976f8da65938f44310b89ade4fe3f1a28
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-22 02:04:39 +02:00
Thiago Macieira
c374f4441a Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-08-22 02:04:39 +02:00
David Faure
85b24bb2de QThreadPool: fix data races in activeThreadCount()
Rather than trying to make it lock-free (which requires double-bookkeeping of
4 atomic ints!), just lock the mutex before calling it.
tst_bench_qthreadpool shows no difference whatsoever between the two
solutions, I get 0.005 msecs per iteration in startRunnables().

Of course looping over calls to activeThreadCount() is a bit slower,
from 0.0002 msecs per iteration to 0.00027 msecs, i.e. 35% more.
But polling activeThreadCount() from the app is a really wrong thing to
do anyway, this benchmark was just for my own curiosity about the
price of a mutex in a function that sums up 4 ints.
What matters is start() performance, which is unchanged (0.00007 msecs
is just noise compared to a 0.005 total, that's 1.4%).

Change-Id: I993444eef8bc68eff9badd581fae3626dfd1cc6d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-21 23:50:59 +02:00
David Faure
1de1470189 QUrl: Use decoded mode by default for individual getters/setters.
This fixes the wrong value for path() and fileName() when a
path or file name actually contains a '%'.

userInfo() and authority() are not individual getters, they combine
two or more fields, so full decoding isn't possible (e.g. username
containing a ':').

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery]QUrl now
defaults to decoded mode in the getters and setters for userName,
password, host, topLevelDomain, path and fileName. This means a '%'
in one of those fields is now returned (or set) as '%' rather than "%25".
In the unlikely case where the former behavior was expected, pass PrettyDecoded
to the getter and TolerantMode to the setter.

Change-Id: Iaeecbde9c269882e79f08b29ff8c661157c41743
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 23:50:44 +02:00
David Faure
f874a5dd8b QUrl: fix host(FullyDecoded), it shouldn't trigger EncodeUnicode.
Change-Id: I9a62d5eb8b099b659cfcfc591c983b3d73ca9569
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 23:50:33 +02:00
David Faure
37dc44d499 QThreadPool: fix typos
Task-number: QTBUG-31919
Change-Id: I2718566595622895f182191b5693e91c1ab1e7d0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 23:50:10 +02:00
Friedemann Kleint
95e880bd9d Windows: Handle Qt::ForeignWindow.
Task-number: QTBUG-33079

Change-Id: Iec2ddfe07b07b3a921098c7147f26aff316bf6e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-21 23:00:32 +02:00
Giuseppe D'Angelo
4fbe3eb2a8 Mark qFuzzy* and qIsNull as Q_REQUIRED_RESULT
Calling them and not using the return value makes no sense.
And it's even worse -- in autotests people might call those
functions without wrapping them in QVERIFY(), effectively
not testing anything.

Change-Id: I2c90d1c85963ff1f35f00653d536a9252c2fcc48
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-21 21:23:16 +02:00
Thorbjørn Lund Martsum
7523bbb0c0 QComboBox - only react on a mouse-release if we had a mousepress
In delegates we get into trouble with calling showPopup in
setEditorData (edit by double click) - and that is not reasonable.
The user has requested edit - and therefore it is natural to save
a click for the user and show the popup at once.

However that fails since we have the mouse down and as soon as we
release the mouse we will call hidePopup.

This patch ensures that the mouseReleaseEvent, that caused the
problem is only considered if we have had a mousePressEvent.

Change-Id: Ibe031fcb9ad2158f6969e41127bbb5f651b9cae6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 21:08:08 +02:00
David Faure
943ae90744 QHash: fix compilation with gcc-4.2.1 (Mac OS X)
The anonymous union isn't supported and can be replaced with a reinterpret_cast.

Change-Id: Ic76a31f36e61d910db16312d7a6c4bdc728aa825
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-21 21:08:01 +02:00
Friedemann Kleint
bc4ce284ad Windows: Generate expose events for layered transient children.
Layered (translucent/non-opaque) windows do not receive WM_PAINT,
expose events need to be generated. Improve
6800728d09 to handle transient
children as well.

Task-number: QTBUG-17548
Change-Id: Id113604512692dfbea1f2b10d0db3068213cf599
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-21 16:39:55 +02:00
Stephen Kelly
8074693425 CMake: Allow specifying a TARGET in invocations of macros.
Forward-port of 9ce60ff509c4ff27fe861fc5b2080f50897a68c4 (Qt4Macros:
Allow specifying a TARGET in invokations of macros., 2013-02-26)
from cmake.git.

This causes the INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS to be
used from the specified target when running moc.

Change-Id: I868a35ade3c6b059e64d226291cf2046709d86d4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 16:39:55 +02:00
Stephen Kelly
ee50096830 Populate INTERFACE_LINK_LIBRARIES property in the cmake files.
This is new in CMake 2.8.12 and replaces the old properties
matching IMPORTED_INTERFACE_LINK_LIBRARIES_<CONFIG>.

Change-Id: I5d4c454972f2535f6792e95718c73d80c56ac24c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 16:39:55 +02:00
Friedemann Kleint
4ef8144dd6 QWidget: Apply window opacity set before show.
Task-number: QTBUG-33078

Change-Id: Id9111f223a9dc58c88b072c52e36d42db450573a
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-21 16:39:55 +02:00
Shawn Rutledge
f7ebb8d4c6 QXcbBackingStore: don't crash in flush() if no platformWindow
Task-number: QTBUG-32681
Change-Id: Iec7204985867a8d65cea393ba6ab66d328a5e7b2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-21 16:39:55 +02:00
Tor Arne Vestbø
bd9a023a41 Don't use qt_mac_get_fixed_pitch() to resolve fixed pitch fonts on OSX
The call was resulting in inifinite recursion on OSX 10.9 when Qt was
built against the 10.7 SDK, as qt_mac_get_fixed_pitch uses QFontMetrics
to resolve the pitch, and we would end up in the font resolver again
when asking for the metrics.

The CoreText font-database already takes care of resolving whether or
not a font family is fixed-pitch, so the code is likely a leftover
from the ATSUI-days, and can be removed.

Task-number: QTBUG-31803
Change-Id: I37c90fa637927eb4adc16c0fd556c4c46c456034
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-21 16:39:55 +02:00
Eskil Abrahamsen Blomfeldt
ecbd3a70e4 Android: Remove EGL_BAD_SURFACE warning on suspension
When suspending the app we would destroy the surface twice,
causing libEGL to output a warning on the second attempt.
We would also destroy the surface before all references were
released which is not 100% nice. We don't need to call the
super class implementation at all, since we are managing
the EGL surface ourselves.

Change-Id: Ie1ab2ea8561d0018b5f16ac8cdf3296313a0a92c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-08-21 16:39:55 +02:00
Andreas Holzammer
5680484476 [QNX]Fix transparencies
It is not guaranteed that buffers are cleared when they
are allocated. So don't use a buffer for the root window,
and clear buffers for the actual content.

Change-Id: I42939baec03fa05968c83bbf2739ab8d1d70c8be
Reviewed-by: Matt Hoosier <matt.hoosier@garmin.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-08-21 16:39:55 +02:00
Mitch Curtis
9d0b190f4b Construct a valid QTime when creating timestamps for iBase SQL driver.
0e62fc73c9 requires this.

Task-number: QTBUG-29261

Change-Id: Idd8b630c72d0fd1c255695a8c2c22f9fe32767ee
Reviewed-by: John Layt <jlayt@kde.org>
2013-08-21 16:39:55 +02:00
John Layt
6be9cb2068 QDateTime - Use the copy constructor in addDays/Months/Years
Currently the QDateTime::addDays/Months/Years methods copy all the
d member variables themselves, but this is bad practice as it means 3
more places where we have to get the copy code correct.  Instead use
the copy constructor to do what it's meant to.  This saves more changes
when we add proper OffsetFromUTC and TimeZone support.

Change-Id: Ie2641d0cb58405335206edcce2e2db30702b78bf
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 14:25:07 +02:00
Leonard Lee
35fd077c80 Specify maximum array size for QByteArray.
Task-number: QTBUG-33037
Change-Id: I3f39b1498fc70614402fca2281ffbd1a6ec4cf3f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 13:27:47 +02:00
Eskil Abrahamsen Blomfeldt
c8b0c428d2 Android: Add default values for min and target SDKs
The minimum SDK version supported should be set to 9, since this
is required by Qt. We also set the target SDK version to 14, since
this will remove certain compatibility features, like the overflow
button in the action bar.

Task-number: QTBUG-30860
Change-Id: Iddd0eba2e802d03c5fe6e9b5da626808bbbad71d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-08-21 11:45:08 +02:00
Friedemann Kleint
a4d4e18c31 XCB: Suppress warnings about unhandled client messages.
Introduced by the tray icon refactoring
d8090022f6 among other things.

Task-number: QTBUG-33068
Change-Id: I7c536c68acc2fae39ca30afb401500d0dc8701b1
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-21 11:13:56 +02:00
Frederik Gladhorn
c8ca300e49 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	qmake/doc/src/qmake-manual.qdoc
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/src.pro

Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
2013-08-21 11:03:18 +02:00
Jerome Pasion
31c96d34d2 Doc: Renamed list of example page to "Item Views Example".
Previous name caused a conflict with another page with the same name.
This page will replace the one in qtdoc.

Task-number: QTBUG-32580
Change-Id: Ifda8841feaab4def6c16972a027947f75ccb7739
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-21 01:20:01 +02:00
David Edmundson
725bdc3fd2 Fetch StandardKey shortcuts from QPlatformTheme
This allows platforms to dynamically alter their keyboard
shortcuts, for example if they are user-configurable on that
platform. Current behavior remains the same.

QEvent previously used the hardcoded values in QKeySequencePrivate so
this was modified to use QKeySequence::keyBindings().

In order to keep the speed of QEvent's former binary search, we moved
this code to QPlatformTheme::keyBindings(), making it faster for all
keyBinding lookups.

As we now need to search by StandardKey instead of by shortcut the list
is reordered and a test is changed to reflect that.

Change-Id: Iefb402fbbe8768be2208ce036f3c2deed72dcc6c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-20 22:22:21 +02:00
Rohan Garg
e2322c885f Extend QStyle API with a SH_Splitter_OpaqueResize styleHint
Currently the default for QSplitter::opaqueResize is hard coded,
which is less than ideal. Instead this should be provided as a
style hint via QStyle so as to give a more uniform look to all
applications.

Change-Id: I5711811f7b672e36aafcd292ed320308570a0390
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-20 20:09:20 +02:00
Stephen Kelly
692bee634e Add missing PLUGIN_CLASS_NAME
Change-Id: Ic2d59ac9194d6756c9f978fb1c13baf3fa7009b7
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-08-20 20:09:20 +02:00
Konstantin Ritt
227e9a40cf Get rid of HB dependency in FT font engine
Instead of loading HB face in QFreetypeFace::getFace(), defer allocation
until the first FT font engine for that face gets initialized;
then, QFreetypeFace "reparents" and manages the loaded HB face.

Change-Id: I2ac8ead4c6ed25d341af9c9cf0c34dfb979f8390
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-20 20:09:20 +02:00
Mitch Curtis
8b540f68a8 Tidy up QJsonObject documentation.
Change-Id: I445e0573c3c4fdb86ef535299a4eb299e225c15d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-20 15:31:22 +02:00
Nico Vertriest
1e47a9594c Doc: qtgui configuration file with comments
Task-number: QTBUG-31801

Change-Id: I225edf67f586cc5822269c643020d5666465712d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-20 14:35:15 +02:00
Friedemann Kleint
54f1d7e2e4 Use correct mask constant in the Windows event dispatcher.
Mask out QS_TOUCH, QS_POINTER when running a VS2012-compiled binary
on pre-Windows 8 systems.

Task-number: QTBUG-32257
Task-number: QTBUG-28513
Task-number: QTBUG-29097
Task-number: QTBUG-29435
Change-Id: I33ce3a659a234cb04d3b5ae9d668d193d681be7f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-20 10:22:45 +02:00
Friedemann Kleint
882e01a94f Revert "Disable precision timers when running MSVC2012 code on pre-Windows 8."
This reverts commit aa1b4c0943.

It turns out that the bug is caused by a different mask constant
in Windows 8 which should not take effect in pre-Windows 8.

Change-Id: I1ad502262dae42856c07d48ee3bc9dc032ab379b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-20 10:22:39 +02:00
Friedemann Kleint
eb2ae61cb4 Windows: Add hit test handling for non-client areas.
Suppress resize cursor for fixed size windows.

Task-number: QTBUG-32663
Change-Id: I9579bb13d494fe21e5db7b75d01a3cf1b693c7f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-19 21:56:12 +02:00
Eskil Abrahamsen Blomfeldt
05ddae12d1 Android: Fix orientation change on Android 4.3
In Android 4.3, we will get a new native window pointer for the
same surface (the old surface has not been destroyed), whereas
before we would get the same pointer, thus hitting the
"sameNativeWindow" branch. This revealed some bugs in the
surfaceChanged code path when the old surface had not been
destroyed. This path is now taken both when there's no old surface
(the app has been suspended in the mean time) and when the
orientation changes.

To handle the second case, we need to make sure:
1. We update the static pointer
2. We update the pointers in the platform windows
3. We don't add a second reference to the static data for
windows
4. We schedule an update of the window size

Task-number: QTBUG-32878
Change-Id: I47257615f9ba820315fc98d7a804e52223f430bf
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-19 16:52:21 +02:00
Frederik Gladhorn
6a040d5c81 Fix potential division by zero
Since it's possible to call the function on an
empty model, return failure in that case.

Change-Id: I0a0eabe917da3e6294bdd616a85579f6dc894ec8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-08-19 14:24:28 +02:00
Jocelyn Turcotte
7495b59dbd xcb: Fix TouchPointPressed being sent multiple times.
XI2 sends events for individual touch points, but QTouchEvent
sends all of them with a stationary state if they didn't change.
If a touch pressed event is received, and the next XI2 event
is about a different touch point, we wouldn't update the state
of the previously pressed touch point.

Change-Id: I1ebcbea1cea54872064ef7710e2aac7b0b41cd70
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-19 14:24:28 +02:00
Sze Howe Koh
b314b2b844 Rename template parameter: "I" -> "II"
C99 defines the "I" macro in complex.h. qobjectdefs_impl.h can be
indirectly included in user code, which raises the possibility of a name
clash if the user's compiler supports C99 and the user includes
complex.h

Change-Id: Ie79ec7baf2d49a34b66a01556c7e57324303dc04
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-18 14:55:33 +02:00
Martin Jones
c210668346 Fix mouse test event in window warning message.
The tests use local coordinates, but window->geometry() gives the
global position on the window, i.e. offset by the size of the
decoration.

Change-Id: Id63ffd7e160b77ddb0f5563d8c3c65c36ad45e89
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-18 07:52:54 +02:00
Frederik Gladhorn
d20f003f36 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-08-17 16:50:09 +02:00
Jonas Gastal
49af23e776 Add documentation about reconnect attempts.
Task-number: QTBUG-18082
Change-Id: I3cf667bcd9929d1fc3e8d3c5f9d4e612dddd181e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-17 14:34:43 +02:00
Sergio Ahumada
b1b1cec687 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Id404864b00962efd9f9eaea33437ae3924a17000
2013-08-16 20:52:46 +02:00
Shawn Rutledge
6281acaf8f XI2 touch support: must call deviceForId to create the device
After change 4dbf574b7a touch worked
only if XI2_DEBUG is turned on.  That is because it creates the
QTouchDevice and calls QWindowSystemInterface::registerTouchDevice,
which must be done at startup so we can receive events.

Change-Id: I9446d72bc702fbd819bf26bcdc2a3d657180f642
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-16 16:23:17 +02:00
Kai Koehne
07502898e9 ANGLE: Fix MSVC compiler warning
We don't use exceptions anyway, so we can safely ignore this warning.

Task-number: QTBUG-32833

Change-Id: Id78cb99770f37a076de3a95721ba40795a8a7b57
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-08-16 16:04:49 +02:00
Frederik Gladhorn
e727855476 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-08-16 16:02:19 +02:00
Uli Schlachter
ac5c64fccd XCB: Ignore _NET_WM_PING on the root window
With a _NET_WM_PING message, a window manager can check if an
application still works or if it froze. The WM sends such a message to
the application window and the application sends the message back to the
root window.

Since change Ia04268b0 / commit d8090022f "Move the X11 system tray code
from widgets into XCB-plugin.", Qt selects StructureNotifyMask on the
root window. Due to this, we now also receive replies to _NET_WM_PING
and treat them like a _NET_WM_PING request.

This caused an endless loop as soon as any _NET_WM_PING was seen where
Qt would send a _NET_WM_PING to itself and handle it again and again.

Fix this by ignoring _NET_WM_PING messages that are sent to the root
window. According to EWMH, such messages can only be replies to
_NET_WM_PING and GTK does this, too.

Task-number: QTBUG-32957
Change-Id: I1b0aa682f99b17d633baacc14b18b3adca7a1aba
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-16 15:54:30 +02:00
J-P Nurmi
2468db75c0 qpushbutton_p.h: add missing include guard
Change-Id: I255550e7235dcc8d2170f97e08752c2cb7cea624
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-08-16 15:50:38 +02:00
Corentin Jabot
0d8ba7e349 QThreadPool - Add method clear() to remove queued QRunnable.
QThreadPool::clear() method removes all queued QRunnable.

When a large number of long-running tasks are queud in a
QThreadPool its destruction, which calls waitForDone(), can
be quite long.
QThreadPool:clear() removes (and deletes when appropriate)
all QRunnable that have yet to be started from the queue
enabling a faster interruption.

Change-Id: Ie5d6028ad3cfe7e439d1db068c8d0936ff818db9
Reviewed-by: David Faure <david.faure@kdab.com>
2013-08-16 15:43:53 +02:00
Thorbjørn Martsum
8b86443e36 QVector - optimize removeLast (and takeLast + pop_back)
In our benchmarks this makes removeLast more than twice as fast.
(That is on my core I7 laptop with gcc on linux).

It changes the alloc test to be an assert rather than an if.

Change-Id: Id55195b9b7880e54a89be4dd9d6228d94aff23c7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-16 12:31:52 +02:00
Sergio Ahumada
af30fa0f34 Merge "Merge branch 'release' into stable" into refs/staging/stable 2013-08-16 10:21:53 +02:00
Kai Koehne
7f305ef09e Don't use deprecated qInstallMsgHandler in testlib
We kept using qInstallMsgHandler in testlib to not break test cases using
it too. However, this breaks tests using qInstallMessageHandler ...

ChangeLog: QTestLib: Test cases have to use qInstallMessageHandler instead
of the (deprecated) qInstallMsgHandler
Task-number: QTBUG-32391

Change-Id: I3bd95d9b0a48749243a5dd3e074df8ebcbc07dce
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-08-16 09:58:50 +02:00
Frederik Gladhorn
9b093871a6 Fix xlint unchecked warning (java)
This patch fixes the warning uncoverd by the -Xlint:unchecked option
by parametrising the generics with wildcards.

src/org/qtproject/qt5/android/QtActivityDelegate.java:315:
warning: [unchecked] unchecked call to getMethod(String,Class<?>...) as a member of the raw type Class
                    Method m = initClass.getMethod("setActivity", Activity.class, Object.class);

Change-Id: I665e9dfd6d64c92a491d68c838ad02bde275d604
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-16 09:22:44 +02:00
Thorbjørn Martsum
f633bc7f7f QHeaderView - reduce memory usage
Though the worst case memory usage was improved in
b800d8b94a the best case usage changed.

Since best case is the same as worst case in Qt5, we should
use as little as possible, which this patch ensures.

We reduce the memory usage from 3 to 2 ints per section - which is
half of worst case in Qt4. There seems to be no bigger cost in
performance doing that. The recalcSectionStartPos is still very fast.

This patch limits the maximum section size to (2^20) ~ 1.000.000 pixels.

This alleviates
Task-number: QTBUG-32325

Change-Id: I9b7530030a31b4e35cf1ca9e32c6b936f5ea9790
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-16 05:34:18 +02:00
Ryohei Ikegami
592c8bffd6 Add Wacom tablet support for Cocoa
Task-number: QTBUG-25867
Change-Id: I48178b8913224ac8e907d42f57620947df12e930
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-16 05:20:38 +02:00
Konstantin Ritt
f3ffebe5f8 initCharAttributes() micro-optimization
Change-Id: Id8e275c9b4ae0a9855b8ba8917824c79cde5a919
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 20:47:47 +02:00
Konstantin Ritt
a15b56b0c1 Fix possible crash due to integer overflow
QFontEngineMulti::stringToCMap() stores the fallback engine index
in a glyph index'es high byte, which means the maximum fallback engine index
it can store is 255, so limit the number of tries we're doing to this value.
Otherwise we could end up with `fontEngineMulti->engine(glyph >> 24) == 0`
after successful stringToCMap() call.

Task-number: QTBUG-30412

Change-Id: I06907a39186fd207f3ce4b732a1a54e615744082
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 20:47:38 +02:00
Sergio Ahumada
26e3de575f Merge branch 'release' into stable
Conflicts:
	src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp

Change-Id: I1a92b0c0dc1f7bad947a54fdd3ea7cfd6a5a7694
2013-08-15 18:32:20 +02:00
Oswald Buddenhagen
a6eb28d3f6 add configure -extprefix option
this adds the possibility to put the actual qt installation outside the
sysroot it is configured for. this makes it possible to install an
x-built qt without "polluting" the sysroot, which makes it possible to
have read-only sysroots, and multiple qt builds for one sysroot.

-prefix is the location within the sysroot as seen by the target itself,
and gets "burned" into QLibraryInfo in QtCore.
-extprefix is the location in the host file system and gets "burned"
into QLibraryInfo in qmake. if it is not specified, it defaults to the
sysrootified prefix, which is the previous behavior.

Task-number: QTBUG-26680
Change-Id: Ia43833c4e27733159afeb8c8b9b2d981378d0cd1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-15 18:02:42 +02:00
Oswald Buddenhagen
3e283402e1 TR_EXCLUDE tools including bootstrap lib
there is no point in scanning any of it.

qdoc already excludes itself (and will hopefully move out of qtbase
soon), so not adding it here.

Change-Id: I84356c0988be386de331bb7879b3ebd2108526a2
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-15 18:02:42 +02:00
Oswald Buddenhagen
ca513feb03 don't include qconfig.cpp into moc and uic
whatever it was used for is long gone.

Change-Id: Ifab7ae7968b1ab65982b1a6414274b3502bbc3d0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-15 18:02:42 +02:00
Lars Knoll
12905fa30f Cut away 2/3 of the startup time on Linux
Optimize the parser of the X11 compose tables. Parsing these was
responsible for over 90% of the startup time in Qt 5.1.

Change-Id: Ifddc3f30828791e51a755f92791c26ffe43a9cd3
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 15:54:12 +02:00
Irfan Omair
4e38c2aab3 update the viewport after changing the background
Task-number: QTBUG-4359

Change-Id: I218e6a8b3b64e1b518338efb18e8a7eb95ecf2c7
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-15 13:46:51 +02:00
J-P Nurmi
bff78163f6 QHeaderView::paintSection(): fix visible index handling
Sections may be hidden => QStyleOptionHeader::position must reflect the
state seen on the screen. Otherwise styles will give wrong visual
results.

Task-number: QTBUG-32203
Change-Id: I7ef86496be092bf6f52ec45f757b501f38c3a431
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-15 11:37:27 +02:00
J-P Nurmi
751989df5c Replace QWheelEvent::Phase with revised Qt::ScrollPhase
Change-Id: I4d8e7d48497d0d96a297191976c0d99feb67b538
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-15 10:02:36 +02:00
Richard Moe Gustavsen
bab29dd76c Cocoa: bugfix mouse wheel + modifier keys not working
To avoid using modifier keys when releasing a two-finger
mouse wheel flick on a trackpad, we listen to event
phases. But for a normal mouse, a separate phase
NSEventPhaseNone is given. Ensure that we still send
modifier keys when that state is reported.

Task-number: QTBUG-32098
Change-Id: Ib840dd661b7842ae49127e5a8d42e3666ae2da4e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-15 08:57:01 +02:00
Ryohei Ikegami
8e13a9792a Change QNSView convertFromEvent: arguemnts to QPointF
Change QNSView convertFromEvent: toWindowPoint: andScreenPoint:
arguments from QPoint to QPointF.

QWindowSystemInterface event handlers already use QPointF and
QPointF is needed for tablet support
(https://codereview.qt-project.org/#change,62740).

Change-Id: I6e5b2f19777fe24ae34e9e85028772e4be0a94f6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-15 03:50:52 +02:00
Thiago Macieira
37215efeea Ensure that bootstrapped users of QCryptographicHash only use SHA-1
This reduces code size quite considerably in the bootstrapped tools.

Change-Id: I7475650b1936e93afcf327cb4def2f7763609179
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-15 01:30:54 +02:00
Thiago Macieira
d5ed6936be Don't compile MD4, MD5, SHA-2 and SHA-3 into qmake
We just need one digest algorithm, any algorithm, to generate a
somewhat unique identifier. SHA-1 will suffice.

Change-Id: I3cb26bf866d616df3ef32feace10934f19daa1a6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-15 01:30:54 +02:00
Daiwei Li
3e4c9cb3d6 Cocoa: Set window title after setting window flags if window has border
A QWindow should keep its title after removing and restoring the
frame, so set it if we are setting window flags that include a frame.

Task-number: QTBUG-32978

Change-Id: I0fe1b651eac05a210b06ec4f7f6fb78f2536834d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-15 01:30:54 +02:00
Gatis Paeglis
1044f23dee Fix QKeyEvent::isAutoRepeat on Mac
Task-number: QTBUG-21500
Change-Id: Ifed85ddcdecd30453207728b0f376baa2abf6e66
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-14 23:23:06 +02:00
Konstantin Ritt
fe3c34c259 Don't allocate QGlyphLayout data, when possible
...and operate directly on a passed array pointers,
without having to copy the input and output data.

Calling QFontEngine:: stringToCMap()/recalcAdvances() with
partially-constructed QGlyphLayout is completely safe
iff `glyphs` and `advances_?` members were initialized.

Also get rid of QGlyphLayoutInstance that was used just in a single place
and never was really needed.

Change-Id: I48fab246fd69fc869f948220a553c3574d93c772
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-14 22:47:19 +02:00
Konstantin Ritt
cb7921a433 QLocale: Minor code dde-uplication
Change-Id: Ie48111a8f76798eb706d6a4036c7965d32ed542b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-14 22:47:10 +02:00
Konstantin Ritt
2e0a4b13ad [2/2] Implement Unicode Normalization Form Quick Check (NF QC)
Use QuickCheck data from DerivedNormalizationProps.txt to check
if the input text is already in the desired Normalization Form.
\sa http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms

Using NF QC makes a significant boost to most operations that rely on
normalized input data, i.e. file path conversions on Mac, where "native"
form is a decomposed Unicode string.

Change-Id: I292a9da479c6beed730528fc7000c45bf1befc34
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-14 22:46:58 +02:00
Gatis Paeglis
5b32132762 Fix escaped compose key parsing
This patch fixes the issue when the escape '\' character was
interpreted as a compose value.

On the whole en_US.UTF-8 Compose file it only affects the following
sequences:

<dead_diaeresis> <space>      : "\""   quotedbl # REVERSE SOLIDUS
<Multi_key> <slash> <slash>   : "\\"   backslash # REVERSE SOLIDUS
<Multi_key> <slash> <less>    : "\\"   backslash # REVERSE SOLIDUS
<Multi_key> <less> <slash>    : "\\"   backslash # REVERSE SOLIDUS

By coincidence the last 3 sequences were working even before this fix.

Task-number: QTBUG-32972
Change-Id: Ia4fc2156d982cf2918d0d1be6ee07706cfbfd091
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-14 19:41:11 +02:00
Frederik Gladhorn
5c23199d4e Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	configure
	mkspecs/macx-xcode/Info.plist.app
	mkspecs/macx-xcode/Info.plist.lib
	qmake/doc/qmake.qdocconf
	src/corelib/global/qglobal.h
	tests/auto/other/exceptionsafety/exceptionsafety.pro
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp

Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
2013-08-14 09:06:31 +02:00
Christian Strømme
c8d9b17367 Fix crash in QProcess::waitForStarted() on Unix.
Invoking waitForStarted() on a QProcess before or after an unsuccessful
call to start() (e.g., with an empty command), would execute FD_SET with
an invalid file descriptor and cause the process to abort.
The bug can be reliably reproduced on OSX.

Task-number: QTBUG-32958
Change-Id: Id25b7781168489281645e21571361ca1a71d43e3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-13 19:48:15 +02:00
Gabriel de Dietrich
8c3b31182c Cocoa: Allow to hide menu items in menubar
Task-number: QTBUG-32899

Change-Id: I423ac2d636306303d39e973f19032c9004957095
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-08-13 19:48:15 +02:00
Ivan Komissarov
252bad7c58 Add useful signals to QTabBar and QTabWidget
In this patch we introduce tabBarClicked and tabBarDoubleClicked to get
a finer grained information on the user interaction with the tab bar.

Done-with: kevin.ottens@kdab.com

Change-Id: I7be76a556ca09186e98f2e076fe2512d6c5e6773
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-13 19:28:31 +02:00
hjk
90cdac0617 RCC: Mention -list command line option in -help output
Change-Id: I98066aba55f5ac699efc210360a60871042f4083
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-13 17:24:31 +02:00
Frederik Gladhorn
0e3ede3d17 Fix ShortcutOverrid for Qt Quick
The tryShortcutOverride function needs to be called with the
focus object. The same logic is in QGuiApplication::notify.
Applications with QGuiApplication would therefore handle
ShortcutOverride correctly where QApplication would not allow the
override.

ChangeLog: Fixed ShortcutOverrid for QtQuickControls.
Now it is possible to assign a shortcut such as "b" and still type "b" in text inputs.

Task-number: QTBUG-32928

Change-Id: I4f4ab82fd11f45174a4483a01bbbe8143dfe0724
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-13 16:53:42 +02:00
Balazs Domjan
0819c48e1b Fix QDialog position shift bug after resize.
On Linux (XCB), resizing a dialog shifts its position. The fix corrigates
the geometry of the dialog to the right values.

Task-number: QTBUG-32473
Change-Id: I6d38539a3ebc3b95eacc7f13a76f83fc9e4d821c
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-13 16:44:06 +02:00
Stephen Kelly
45e5a6ff7c Reset the QItemSelectionModel when its model is reset.
Change-Id: I12af41adb18a2ecf8825b23d5715766dcae55436
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-13 16:34:06 +02:00
Martin Smith
91e86688fc qdoc: Clarify documentation of member functions
When implementing a custom subclass of QAbstractItemModel,
if the custom model will use MIME types other than the
default internal MIME type, the mimeTypes() member must be
reimplemented to return the list of allowed MIME types. If
mimeTypes() is reimplemented, mimeData(), canDropMimeData(),
and dropMimeData() must also be reimplemented to use the
allowed MIME types.

Task-number: QTBUG-32362
Change-Id: Iee5cf5d2dbed8a6c1f7ab47a7a4b9b03e80e8e59
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-13 12:30:05 +02:00
Simon Hausmann
9b7fc15edf Implement support for global whatsthis on Windows
Task-Number: QTBUG-32835

Change-Id: Ifee10d815ce0037c96eda574ab9e1af67ff6bd78
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-08-13 12:22:54 +02:00
Mitch Curtis
aec0a21f7e Add more key names to QKeySequence.
So that, for example,

qDebug() << QKeySequence(Qt::Key_Cancel).toString();

prints "Cancel" instead of "ᡀ".

Task-number: QTBUG-953

Change-Id: Ib17fc314fd018355e6a1826d26fce85fdcbbe0c8
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-13 12:18:01 +02:00
Tor Arne Vestbø
327a87cfe4 iOS: Set PLUGIN_CLASS_NAME for platform plugin
Change-Id: Ic8c5181d753925de0d8cd5fcb5e1347429ff5ba3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-13 01:38:54 +02:00
Konstantin Ritt
4b0dfef236 Fix Undefined Behavior due to delete new[]
This didn't crash just because a simple type was used.
On other platforms/compilers it may eat your cat or whatever.

Change-Id: Ica2631e4e8ad20ff3a7f4cab60ec8487b6fa70ec
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-12 23:06:02 +02:00
Konstantin Ritt
2af5567f3e Update QLocale locale database up to CLDR 23.1
This only added Kosovo [XK] territory and few valid locales for it.

Change-Id: Ia0b47041ed5cd1303b5bc233f2502a3725c74da9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-12 23:05:59 +02:00
Matt Broadstone
ade0d8361c add QScopedPointerDeleteLater, a custom deleter for QObjects
This is a custom deleter for QObjects that are participating in an event
loop (e.g. waiting for signals to complete a task), which need to be
deleted using deleteLater() rather than just delete.

Change-Id: I3084ea28a6829a299c7400006c617fc23cf15160
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-12 19:41:05 +02:00
Oswald Buddenhagen
684028a640 don't put QLibraryInfo and QSettings into bootstrap lib
it's not necessary. it was an artifact of a misguided approach to making
qdoc aware of the qt installation dirs.

Change-Id: I5ff363c8400d17698bf715e70b904aa69f71f0d8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-12 19:01:38 +02:00
Oswald Buddenhagen
f6a067e0ba un-confuse lupdate: use #if 0 consistently
it's no good idea to #if 0 the opening brace but comment out the closing
one.

Change-Id: I6f9ca8f14f0dc82fb22df85de547564336ed0476
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-08-12 19:01:33 +02:00
Oswald Buddenhagen
3b0e6df642 un-confuse lupdate: remove excess brace in dead code
Change-Id: I7b81121b559f18446c4e546ad4f00cb4a592ca7f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-12 19:01:29 +02:00
Oswald Buddenhagen
629bf43f16 un-confuse lupdate: make #ifdef'd braces symmetrical
as a side effect, this also de-duplicates the code, which is good in its
own right.

Change-Id: I504cb518276fdf610639c3337e3842570b97815f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: John Layt <jlayt@kde.org>
2013-08-12 19:01:24 +02:00
Gabriel de Dietrich
79ccb4fcb5 Make QCoreWlan plugin compile on 10.9
We take the path of least resistence and keep the old API code for 10.6 while
updating the code for 10.7 and newer. This means we have some code duplication.
It also means that we only compile the 10.6 code for QCoreWlanEngine when the
deploymen target is 10.6.

The 10.6 version file should be removed once we drop support for Snow Leopard.

Change-Id: If4702b155bcdb7522800bf99a4dd37d4efed803a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
2013-08-12 11:08:06 +02:00
Martin Smith
b3a56454c3 qdoc: Let default output subdir be html
When you want qdoc to output the docs in a
single output subdirectory, you would add
these lines to your qdocconf file:

HTML.nosubdirs            = "true"
HTML.outputsubdir         = "html"

The name of the output subdir can be anything.
But if you leave out the second line, qdoc now
defaults to using "html" as the single output
subdir.

Task-number: QTBUG-32580
Change-Id: Ibfb2a0c578515ef934e816b2d7a516b64f0f9dcf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-12 09:10:15 +02:00
Jonathan Liu
4a195b020e Do not use QWindowsFileDialogHelper for Windows Server 2003
Windows Server 2003 is based on Windows XP and should use
QWindowsXpFileDialogHelper as it does not support the CLSID-based
IFileDialog interfaces that are available from Windows Vista onwards.

Change-Id: Idd973f9ec4c98d1f2fb7e835de64532edeccfc72
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-11 06:04:13 +02:00
J-P Nurmi
865b43dbf3 QScrollBar: handle QWheelEvent::Phase for transient scrollbars
Transient scrollbars should become and stay visible when touching the
pad with two fingers.

Change-Id: Ic36ba56019f484cedb2404550551ebe68ea6f285
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-10 11:39:53 +02:00
Jake Petroules
cd17b500a8 Remove OS X unsupported warning.
No other platform has such a warning and it really is not important.

Change-Id: Ib85a536b6fcf9d7f15cd8b0779db7f6cfaec339a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-10 02:20:21 +02:00
Thiago Macieira
73251f22f3 Add a Qt-API style QStandardPaths::setTestModeEnabled
QStandardPaths::enableTestMode has a verb in the imperative ("enable")
as the core word in the name. That indicates an action. The function
should not have had a parameter.

Instead, add a Qt-style setXXXEnabled function.

[ChangeLog][QtCore][QStandardPaths] QStandardPaths::enableTestMode is
deprecated and is replaced by QStandardPaths::setTestModeEnabled.

Change-Id: Ib26ad72d7c635890d2cb22ae9d44cbda08a6f17c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-09 21:25:24 +02:00
Jan Arve Saether
490bf800e6 Avoid a potential crash in unignoredChildren
This doesn't actually fix the source of the problem, but its harmless.
This was reproduced with tst_qcolumnview and voiceover enabled

Task-number: QTBUG-32440

Change-Id: Iad27884e1ca9194f911271c16908ef358e4b1875
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-09 20:24:29 +02:00
Stephen Kelly
dcd10c004f Forward the correct compilers to the actual cmake tests.
This was missing from commit 87db2fdef (Use the compilers used
by Qt for the CMake tests., 2013-07-19)

Task-number: QTQAINFRA-609

Change-Id: Ief1f0ed11d9f6268c636dc739fbf7945c5dee2c8
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-08-09 16:28:34 +02:00
Nico Vertriest
7ae0dd75ab Doc: a minimal qdocconf file with comments
Task-number: QTBUG-31801

Change-Id: I3aa91c961ba5b3d4e7c69560673757120a850d42
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-08-09 16:28:34 +02:00
Sergio Ahumada
08d91d4b8e Merge "Merge branch 'release' into stable" into refs/staging/stable 2013-08-09 16:28:34 +02:00
J-P Nurmi
652d51eda6 Cocoa: support QWheelEvent::Phase
The started & ended phases are required for implementing correctly
behaving transient scrollbars (ie. they become and stay visible when
touching the pad with two fingers).

Change-Id: I718d991ba6fd7e949cf9790f3bae285000fce576
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-09 13:39:42 +02:00
Alexey Chernov
071c48a5ff Return EGLNativeWindowType instead of window number in winId()
QEglFSWindow::winId() method was changed to return EGLNativeWindowType
EGL window handle instead of static window number as it recommends in
documentation.

QPlatformWindow documentation reads: "The platform
specific window handle can be retrieved by the winId function." and
also for winId() method itself: "Reimplement in subclasses to return
a handle to the native window".

Task-number: QTBUG-32564
Change-Id: I634c5b4d966b6aebde72518a2c39717d1b39af08
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-08-09 13:38:14 +02:00
Sergio Ahumada
6a56fd3069 Merge branch 'release' into stable
Change-Id: I5e94c4f01564df633c9925561ebb0b553bd31a2e
2013-08-09 12:38:19 +02:00
Jerome Pasion
a1527fd8e6 Doc: Removed extra "\group events" page in Qt GUI.
The group page is in Qt Core already.

Task-number: QTBUG-32580
Change-Id: If9c4b40bad96c138dd8fe98e71378f73269c66e4
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-09 11:02:44 +02:00
J-P Nurmi
9dfe4b0e68 Introduce QWheelEvent::Phase (Begin, Changed, Ended)
Some platforms (read: OS X) send wheel events without delta to indicate
that scrolling is about to start or has ended. Currently, Qt simply
ignores wheel events that have no delta. This change introduces a new
QWheelEvent attribute that specifies the phase, and makes it possible
to receive the special wheel events in started/ended phases. These
events are required for implementing correctly behaving transient
scrollbars.

Change-Id: Ib8ce0d9ce9be63b2ad60aa7b0aaa1f12ef6cad09
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-08 15:09:40 +02:00
Martin Gräßlin
d916ed12b3 Pass Xcb errors through the native event filter
So far only the xcb plugin is able to handle xcb errors and there is no
way for an application to get access to the errors even if the app is
using xcb directly.

This means Qt is filtering out all xcb errors which are relevant to the
app and at the same time the xcb plugin is getting spammed with errors
it did not cause and which are logged with a qWarning.

By passing the error event through the native event filter an app can
filter out all errors it knows to have caused.

Change-Id: I158deee2e1c71630f2b1d77174f1091532851b3d
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-08 15:09:40 +02:00
Jerome Pasion
3ead44fcac Doc: Get QDoc to not display the \qtvariable if it is empty.
Change-Id: I5cd2cff23b56180e7bfec7cae84104a16f47fc79
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-08 12:55:48 +02:00
Fabian Bumberger
f5841521a4 QNX: Enable rendering on different displays using OpenGL
Change-Id: Ife9c090cff732aba42a5cbc04640721e8fdde69d
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-08-08 12:55:48 +02:00
Friedemann Kleint
bff5100177 Add clearButton-property to QLineEdit.
Based on addAction-API.

Change-Id: Ie6c3d2d728b23a85cdd80428c92ee8208ae0a65c
Done-with: Kevin.Ottens@kdab.com
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-08 12:55:48 +02:00
Eskil Abrahamsen Blomfeldt
1142dde83e Android: Fix QCoreApplication::applicationDirPath()
Disable the code path which queries /proc/<pid>/exe for the
current executable path, as from a Q_OS_ANDROID perspective,
this executable will be the Dalvik binary. Instead we
get the application directory via the fallback, by
looking in argv[0], since this is set to the location of the
application binary.

Task-number: QTBUG-32852
Change-Id: Ib93050f41cbd47aaf71284e8bfa6a3247131d978
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-08-08 12:49:45 +02:00
Andy Shaw
3e078cf36d Don't release the printer after using it to change a property
The printer should not be released after changing a property on it as it
is still needed by QPrinter elsewhere. It is released as appropriate
automatically already.

Task-number: QTBUG-32831

Change-Id: Idb2d98b25b62f343015a0a0fb3c9a0d506546132
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-08 12:43:35 +02:00
Nico Vertriest
c54aafad36 Doc: preliminary review of qdoc-manual.qdoc
- syntax
- grammar
- writing guidelines
- spelling
- added contents for \\note

Task-number: QTBUG-31801
Change-Id: I9df1af270acd7fbad39048a47b883f3002e168e4
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2013-08-08 09:48:49 +02:00
Gatis Paeglis
58a4bf2c99 [Mac] Fix modifier reporting issue in the key events
This issue was introduced when porting key handling code from Qt4 to Qt5.
To conform to the implementation of QKeyEvent::modifiers() we have to invert
modifier state logic before sending them as QKeyEvents.

Task-number: QTBUG-31332
Change-Id: I3bb41169f8ab2a4b0a13a224bb461d2792d3a65f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-08-08 09:44:12 +02:00
Albert Astals Cid
23214c815e Revert c3f485c525
It has been discovered it changes the behavior of qdbuscpp2xml
resulting in builds of some apps breaking. Even if the
behavior is more correct, such behavior change in a stable branch is
not acceptable

Change-Id: I1d79104ebf11c3f48c84f109be2926af96cddae7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-08 09:22:29 +02:00
Martin Smith
bc87acaa1f qdoc: Restore support for output in one directory
The basic functionality is working. Add these lines
to qt-html-templates-offline.qdocconf, or add them
to the online version:

HTML.nosubdirs            = "true"
HTML.outputsubdir         = "html"

Before it opens a .html file for writing, it tests
whether the file alread exists. If so, it writes an
error message, e.g.:

...platform-notes.qdoc:140: error: HTML file already exists;
overwriting .../doc/html/platform-notes-windows.html

There are currently nearly 100 files being overwritten for Qt5.

Task-number: QTBUG-32580
Change-Id: I02b103fd00b9d1e624665ac518d571acc791be9d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-08 08:58:07 +02:00
J-P Nurmi
737abb8a5e QComboBox: fix item activation via completer
Task-number: QTBUG-31146
Change-Id: I64291f397d80bf934152f63e629810540abf466e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2013-08-08 05:58:31 +02:00
David Faure
097942d328 Doc: exclude snippets subdir.
This fixes the qdoc warning:
doc/snippets/code/src_corelib_tools_qcommandlineparser.cpp:85: warning: Hostile character 0x24 in C++ source
and doesn't lead to any loss in the generated documentation.

Snippets are not "source files" for qdoc, they are included by source files.

Change-Id: Ica0169813d71994ff258bf7c48f2fd387d33d772
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-07 23:58:21 +02:00
Samuel Gaist
0b62a5d3c9 Add offset reading support in pnghandler
This patch adds the offset reading that matches the offset writing in
writeImage

Task-number: QTBUG-32674
Change-Id: I264ba41163e59638d7219e0a8913f9d455830883
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2013-08-07 23:46:29 +02:00
J-P Nurmi
cffd1633b2 Fix QCompleter::activated(QModelIndex)
When falling back to the completion prefix, make sure to also pass an
invalid index to activated().

Change-Id: I6b282a01c95492466890632b77837bcc96eb038a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2013-08-07 18:21:23 +02:00
Paul Olav Tvete
feacbdb746 Android: Get SSL root certificates from TrustManager
On Android, when not using Ministro, we cannot read certificates
from the file system, so we have to get them through Java APIs instead.

Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
(cherry picked from commit 591584d9a9)

Task-Number: QTBUG-32508
Change-Id: Ia157e28bc3b2c141e3444d628e7a7c59eca39db0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-07 17:28:19 +02:00
Thorbjørn Lund Martsum
658e42e77a QTreeView - allow users to control data in the treestructure
This patch allows to set which logical index the tree is in.

Before the tree always displayed data from the logical index 0,
but it is actually more likely that the user wants to have data
from visual index 0 (which can be done by special value -1).

There is nothing special about logical index 0, and not being
able to change the tree-data is just annoying.

Change-Id: Ib070ce93343a0d2fbac3ad5a42cb4359401ac87c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-07 14:01:23 +02:00
Martin Gräßlin
45ab9d0c33 Export getTimestamp to the native interface
The functionality to get the current x11 timestamp is also needed by
applications which need to interact with the X11 directly. With XCB
it is not possible to inspect the event queue and by that an
application is not able to retrieve the current timestamp using the
property change pattern and waiting for the matching event.

Change-Id: Ie7ba78ecbe509ed3a902c702266917f65bf5ad07
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-07 13:49:43 +02:00
Dario Freddi
5885b8f775 qobject: Do not destroy slot objects inside a lock
This prevents deadlocks in case the destructor re-enters.
(Example: a functor containing a QSharedPointer of a QObject)
This also fixes a leaked slot object in disconnectHelper.

Change-Id: Ia939790e3b54e64067b99540974306b4808a77f2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-07 12:42:45 +02:00
Gabriel de Dietrich
4881f9db7c Mac Style: Fix 1-pixel text offset in combo box
Change-Id: Ie1bb2b300d6897659f4652c22884f1bd611cd3c4
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-08-07 12:39:07 +02:00
Shawn Rutledge
488f7a31ff Don't crash if the QWindow's screen is temporarily invalid
It can happen during the transition between screens when one screen
is disconnected that the window doesn't have a screen.

Task-number: QTBUG-32681
Change-Id: I066855a2ffe80f0680a3044e73f4f491c2c0eb5c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-08-07 12:15:15 +02:00
Thiago Macieira
dae087b30f Avoid one extra if_indextoname per address in QNetworkInterface
Given an IPv6 address associated with a network interface, there's a
fairly high chance (of 100%) that any scope ID found is that of the
interface.

Change-Id: Id7315473f39b68ee4c169207168dc2e60fd7d570
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Jonas Gastal <gastal@intel.com>
2013-08-06 19:47:45 +02:00
Thiago Macieira
7a3653887c Remove unused socket from QNetworkInterface Unix code
This must be a relic from old code, before I split out the code that
uses getifaddrs from the code that doesn't.

Change-Id: Ia1265da6921c7c7a3dc97315d98fed50b3d2fe1c
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Jonas Gastal <gastal@intel.com>
2013-08-06 19:47:14 +02:00
Jan Arne Petersen
fe375dc3d0 eglfs: Implement nativeResourceForWindow
Add support to request EglDisplay resource for a window. This is
supported in other platform plugins, like kms and xcb and is required by
wayland-egl based QtWayland compositors.

Change-Id: If3f8c625682915c9671e820974e810763c3c8b66
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-06 15:53:07 +02:00
Jan Arne Petersen
47d27c3a53 eglfs: Implement nativeResourceFunctionForContext
Add support for a get_egl_context NativeResourceForContextFunction to
the eglfs platform plugin.

Change-Id: I155952797f340dd00ab9864852add4b44d841042
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-06 15:52:52 +02:00
Eskil Abrahamsen Blomfeldt
608a9c12ae Enable qsrand() on builds without thread-safe posix
The #ifdef clause in qsrand() needs to be the same as in
qrand(). Otherwise, we will store the seed in thread-local
storage in qsrand(), never passing it into srand(), and then
we'll use regular rand() because the rand_r() function
is missing, thus always using a random seed of 1 in all
applications.

Task-number: QTBUG-32781
Change-Id: I00240a1954ae746b87b031f3a0470a6cbe747571
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-06 11:40:38 +02:00
Frederik Gladhorn
521f2163b1 Fix typos
Change-Id: I27cbcd8c59bdc34493931f341341cc25b4aba9e7
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-08-06 11:08:49 +02:00
Samuel Rødal
3a0071e286 Added automatic input device discovery to kms plugin.
Similar to what the EGLFS plugin does, to avoid having to explicitly
specify which device to use for keyboard and mouse.

Change-Id: I00502be8c767487490f3fd36fb06d3eb56548ada
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-06 11:00:23 +02:00
Samuel Rødal
785edaa09d Made EGLFS handle multiple surfaces with more grace.
Prevents crashing when some menu or similar is shown, although the
visual result might not be ideal.

Task-number: QTBUG-29729
Change-Id: Ia840b3ec17f5ef30ee58150bd2f807ca5e72cc12
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-06 11:00:23 +02:00
Pier Luigi Fiorini
888bfb09da Find primary GPU only
Some systems may have multiple DRM devices attached to a single seat and we are
not guaranteed to pick up the primary GPU. With this flag we can control how
DRM devices are detected and consider only the primary GPU.

This is very useful for the kms plugin or QtCompositors running on kms in order
to use the right DRM device.

Change-Id: I8b91e78f148b25aaa4e40724e39e0ed0918ca100
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-06 11:00:23 +02:00
Friedemann Kleint
9ce12cc8de Add side widgets to QLineEdit via QAction.
Add QLineEdit::addAction() overloads,
allowing for a variable number of icons or user-defined
widgets.

Change-Id: Id298f18c2f47cc998170357e65cc6098df851aab
Done-with: Kevin.Ottens@kdab.com
Reviewed-by: Thomas Zander <zander@kde.org>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-06 08:19:38 +02:00
Liang Qi
c207724c9b OSX: Make QSslSocket compile on 10.9
CSSM_DATA_PTR was deprecated in 10.7. Replace SecCertificateGetData
with SecCertificateCopyData.

Task-number: QTBUG-32715
Change-Id: I762687370689b5b5c032567240667631b1ffde98
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-06 08:10:27 +02:00
Thiago Macieira
586ab8edb5 Fix clang detection of thread_local variables
The "0" must have been added because there was no __has_feature for
the feature back in the day. Now it exists.

Change-Id: I50f0544ae82a8be54a8d26da400e31c1906dad9e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-06 01:59:04 +02:00
Andreas Aardal Hanssen
8fce4e97ba Fix double transform for items ignoring parent transformations.
Previously, the topmost untransformable's scene transform, which
includes the item's position and local transformation, was used to
determine the item's anchoring position. This position was then
passed on to be multiplied by the item's transform again. This
works fine for toplevel untransformable items that don't have any
transform set at all, but those who do would have their transforms
applied twice - one to determine the anchoring position, and again
to transform the item itself. Since only translation transformations
can affect the first operation (the anchoring pos), this bug only
applies to items that set ItemIgnoresTransformations and use a
local transform that includes translation.

Task-number: QTBUG-21618
Change-Id: I772d52d59dfd9f242d0140632a87e9c68dfe0ea1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-08-05 20:15:53 +02:00
Eskil Abrahamsen Blomfeldt
c52bec9438 Ensure that output is world readable on Android
On Android, we need to be able to get access to the output
file remotely, so we make it world-readable.

Task-number: QTBUG-32079
Change-Id: I0a53a952d03339c0f1a1316f38bd206075589bde
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Simo Fält <simo.falt@digia.com>
2013-08-05 14:53:12 +02:00
Mitch Curtis
c0f51fb1d0 Fix typo in Model/View Programming documentation.
Change-Id: I88f49a894a8c1e88a4cdb559fdc426f01e113f80
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-05 10:56:03 +02:00
Robin Burchell
812e23cea2 Bypass eglMakeCurrent where possible.
This has the possibility to be very slow on some GPUs. A nicer alternative would
have been to fix this in QOpenGLContext, but with makeCurrent and updateContext
having been merged in Qt 5, makeCurrent is required every frame call, and thus
cannot be fixed there.

Change-Id: Ib17dbb3a1e4e89c60dfd4f12a55eeff353f9075f
Done-with: Carsten Munk <carsten.munk@jollamobile.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-08-05 05:52:53 +02:00
Thiago Macieira
c615dcc441 QUrl: do not decode "#" in fragments
For some time, we've assumed that the URL specification had a mistake in
that it didn't allow the "#" character to appear decoded in the
fragment. We've gotten away with it so far.

However, turns out that the CoreFoundation NSURL class doesn't like it.
So we have to be stricter.

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no
longer decodes %23 found in the fragment to "#" in the output of
toString(QUrl::FullyEncoded) or toEncoded()

Task-number: QTBUG-31945
Change-Id: If5e0fb37bae84710986c9ca89bd69ec98437cd63
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:48:35 +02:00
Thiago Macieira
7b964c77fa Make sure that QUrl::FullyDecoded mode uses U+FFFD for bad UTF-8
It's a good practice to always replace bad UTF-8 sequences with the
replacement character. It could be considered a security issue too.

Change-Id: I9e7d72e4c4102cdb8334449b5e7f882228a9048f
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:48:13 +02:00
Thiago Macieira
1fa5ea7a6a Remove fully-decoded QUrl user info and authority sections
Those sections contain more than one components of a URL, separated by
delimiters. For that reason, QUrl::FullyDecoded and QUrl::DecodedMode do
not make sense, since they would cause the returned value to be
ambiguous and/or fail to parse again.

In fact, there was a comment in the test saying "look how it becomes
ambiguous".

Those modes are already forbidden in the setters and getters of the full
URL (setUrl(), url(), toString() and toEncoded()).

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no
longer supports QUrl::FullyDecoded mode in authority() and userInfo(),
nor QUrl::DecodedMode in setAuthority() and setUserInfo().

Change-Id: I538f7981a9f5a09f07d3879d31ccf6f0c8bfd940
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:48:05 +02:00
Thiago Macieira
6aa15690ff QUrl: remove temporary code
The setting of EncodeDelimiters was temporary until we could remove the
old qt_urlRecode "decode all" mode (not the FullyDecoded mode, that
stays).

Change-Id: Ic07ebe4bb7fc72351b65bfb4619b71206cc8c0cd
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:47:59 +02:00
Thiago Macieira
d5f05557ba Doc: update the QUrl and QUrlQuery documentation
Just minor fixes and changes in wording, to support the new
understanding of the percent-encoded characters.

Change-Id: I77ec10e41f32292d705e4aa8197b9ddce5bef6d2
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:47:52 +02:00
Thiago Macieira
2ff719de8f QUrlQuery: update our understanding of delimiters
This commit is similar to the previous commit that changed the behavior
of QUrl, but now to QUrlQuery.

We can now remove a section of qt_urlDecode, which is no longer used:
there's no "decode everything" mode anymore.

Task-number: QTBUG-31660
Change-Id: I66cfbfd290eeba5b04688cd5ffd615dd57cc6309
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:47:46 +02:00
Thiago Macieira
993bbb4d4b QUrl: update our understanding of the encoding of delimiters
The longer explanation can be found in the comment in qurl.cpp. The
short version is as follows:

Up to now, we considered that every character could be replaced with
its percent-encoding equivalent and vice-versa, so long as the parsing
of the URL did not change. For example, x:/path+path and
x:/path%2Bpath were the same. However, to do this and yet be compliant
with most URL uses in the real world, we had to add exceptions:
 - "/" and "%2F" were not the same in the path, despite the delimiter
   being behind (rationale was the complex definition of path)
 - "+" and "%2B" were not the same in the query, so we ended up not
   transforming any sub-delim in the query at all

Now, we change our understanding based on the following line from
RFC 3986 section 2.2:
   URIs that differ in the replacement of a reserved character with
   its corresponding percent-encoded octet are not equivalent.

From now on, QUrl will not replace any sub-delim or gen-delim
("reserved character"), except where such a character could not exist
in the first place. This simplifies the code and removes all
exceptions.

As a side-effect, this has also changed the behaviour of the "{" and
"}" characters, which we previously allowed to remain decoded.

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no
longer considers all delimiter characters equivalent to their
percent-encoded forms. Now, both classes always keep all delimiters
exactly as they were in the original URL text.

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no
longer decodes %7B and %7D to "{" and "}" in the output of toString()

Task-number: QTBUG-31660
Change-Id: Iba0b5b31b269635ac2d0adb2bb0dfb74c139e08c
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:47:33 +02:00
Daiwei Li
bbf19fb295 Fix ignoring closeEvents on OSX for QtQuick.
The QCloseEvent's accepted state should not be inverted for the
QWindowSystemInterfacePrivate::CloseEvent. To make Widgets work
with this change, pass whether the close was accepted from close_helper
to the QCloseEvent generated by QGuiApplication.

Task-number: QTBUG-28965

Change-Id: If384b0355776b93df02dff2ab78b5647903200e7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Josh Faust <jfaust@suitabletech.com>
2013-08-03 21:51:38 +02:00
David Faure
672fcbe9c6 QMimeDatabase: Fix handling of duplicate mimetype definitions (2/2).
7721c3d27c fixed the case where two similar definitions are in the same
directory. This commit fixes the case where two similar definitions are
in different directories, both in the search path (GenericDataLocation).

If the file extension gives us the same mimetype twice, there's no conflict,
i.e. no reason to fallback to determination from contents.

Change-Id: I72c56004b6d5e88964159e53ec160ce8b06c2264
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-03 14:44:12 +02:00
David Faure
be8974633c Doc: porting from QDesktopServices::DataLocation to QStandardPaths
Change-Id: Ifd96db46cc8d0170b136a9e3154ed37ebe6ad830
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-08-03 10:31:47 +02:00
Jorgen Lind
03285044a0 Add how to create a udev rule for the evdev plugins
Change-Id: Icd7a192701958673fe216f40ddab710f5f63a8b8
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-02 21:00:23 +02:00
Samuli Piippo
bb05c4129e Fix CapsLock handling in EvdevKeyboard plugin
CapsLock was incorrectly handled in EvdevKeyboard, which led non-letter
keys to be masked with Qt::ShiftModifier. The default builtin keymap
is modified to have IsLetter flags for correct keys.

Task-number: QTBUG-32560

Change-Id: I561bbad7bcffe1f4c4bbed7bf72106b689e57fe0
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-08-02 21:00:23 +02:00
Shawn Rutledge
c6e32b740c OSX: do not force a plain window to be on the same level as its parent
2af0a778f464980594c36098e4a8ba4448edfd29 the fix for QTBUG-27410
caused this Designer bug.  Doing the automatic level escalation only
for "special" windows and avoiding it for plain Qt::Window type
windows is one way of fixing the Designer problem.

Task-number: QTBUG-31779
Change-Id: I1da5454f31111f36480fac3b53be6d5f0ce40047
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-02 18:20:09 +02:00
Venu
1ff8ed1bf5 Doc: Corrected the example path in the tutorial
Task-number: QTBUG-32688

Change-Id: I12c264f29bc1d49322c60debdec3758859f62fa8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-02 14:40:32 +02:00
Jerome Pasion
0a796cfddf Doc: Setting module pages' \qtvariable.
Argument to \qtvariable is the QT variable needed for linking to the
module.

Task-number: QTBUG-32172
Change-Id: I181c0cfaf9529f3aea741cdaee0f20d6cd0e2d2f
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-02 13:35:45 +02:00
Jerome Pasion
e4f99e0285 Doc: Added \qtvariable command to QDoc.
Specifies the QT variable needed in the .pro file.
The argument of the command is the qmake QT variable.

To use, add "\qtvariable <value>" to a QDoc comment
which contains the \module command.
QDoc will then associate the class with the QT variable.

Only supported for C++ classes at the moment.
Part of work done for QTBUG-32172

Task-number: QTBUG-32172
Change-Id: Ia8eea30fcfc771191c23a5f5994a48732959ea49
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-02 13:35:37 +02:00
Àlex Fiestas
0ace311213 Added SH_Widget_Animate in QStyle
Added SH_Widget_Animate in QStyle styleHint, and use it to determine
whether widgets should be animated or not.

In this patch QTabBar, QColumnView,QTreeView and QWidgetAnimator are
patched to obey the new Hint.

Change-Id: Iefdbddc52c7843f6653dbfb5462125942489b4d9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-02 10:44:39 +02:00
Gatis Paeglis
b59c257a04 Fix stuck modifier issue in the non-xcb_xkb code path
Since updating the xkb_state throght core events is more
tricky (opposed to the xcb-xkb code path) where we have
to use xkb_state_update_key, we need to make sure that our
local state is in sync with the X server's state.

The local state was getting out of sync if key was pressed
down in a Qt application and released in other X client (by
changing the focus to another window with a mouse, for
example).

Task-number: QTBUG-32660
Change-Id: I662bf5aad3ab0e8591109994e746d85ff61ad6ef
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-02 08:19:59 +02:00
Liang Qi
25fc7a3068 Cocoa: emit currentFontChanged signal in font dialog helper
* changeFont is a delegate method of NSFontManager.
* exec() will not be called in Qt Quick.

Task-number: QTBUG-32450
Change-Id: I05e43ce84d28ff32c88d75bd6ee60653de6ca4f0
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-31 23:48:47 +02:00
Stephen Kelly
49869f2a7d Fix typo form->from
Change-Id: Ifa47cec0e454228d33c917c0baa6d0686955af5a
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-31 22:03:27 +02:00
Sérgio Martins
0ec917123f Fix build with QT_NO_CURSOR.
Just moved applyCursor() and defaultCursor() to a #ifndef block.

Change-Id: I14c21aa509395fb1bd72d389cfc46f0f34ab7649
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-31 15:04:58 +02:00
Sérgio Martins
c707bb4414 Don't run this code on WinCE, the variable will be unused.
Change-Id: Id472e6e18759227943a24aa723963671bdb52164
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-31 15:04:48 +02:00
Samuli Piippo
c837dbecdd eglfs: allow egl native window to be zero
Change the checking for created EGLNativeWindowType so that zero
is a valid value. This is the case e.g, with BeagleBoard, where
widget application cannot be run without this change.

Change-Id: I36c30091e1a5a0598ae3822d0be8dc4362779c0b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-31 14:42:13 +02:00
Gatis Paeglis
7654f71f80 Fix handling of non-latin1 shortcuts
This patch enables non-latin1 shortcut handling on Qt5/X11.

Task-number: QTBUG-32274
Change-Id: Ia084258b956128ffade8eddfbcb18af334d79a59
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-07-31 13:36:24 +02:00
Eskil Abrahamsen Blomfeldt
0bbc32a0cb Android: Fix crash when setting WA_NativeWindow
We don't support native widgets in Android, so we can get into a mess
when people set this widget attribute, since the FB compositor
will assume that all widgets have their own backing store. This adds
a capability flag to the QPlatformIntegration which allows the plugin
to disable the WA_NativeWindow feature.

Task-number: QTBUG-32685
Change-Id: Ic200487da4a297f71ab594cf7c90d1e1d53bacd3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-31 12:34:14 +02:00
Andy Shaw
22fbb5be6e Clear focus if the widget being deleted is the parent's focus child.
If a widget is deleted as a result of a window activation changed then
it is possible that the parent does not clear the focus because of the
activation change. If the focus child is actually part of an embedded
widget in the graphicsview then it needs to be handled explicitly in
this case too.

Change-Id: I3e7a2b963f175828de4c19283178560abca91235
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2013-07-31 10:46:41 +02:00
Stephen Kelly
d9ea4bb144 Mark qt5_use_modules as obsolete.
Forward-port of cb7f32f5b861fe115fa71f64500a5cbb0b643f1b (Mark
qt4_use_modules and qt4_automoc as obsolete., 2013-07-04) from
cmake.git.

Change-Id: I0c24408ef06bc93eb0e55108cf4eab2f8cbd19cb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-31 10:44:49 +02:00
Eskil Abrahamsen Blomfeldt
87a30db468 eglfs: Fix updates when resizing backing store
We would resize the backing store without resizing the viewport,
which would cause all subsequent blits of the backing store to the
screen to look broken.

Task-number: QTBUG-32146
Change-Id: I65bae051b7cfbbc61fc285e4baa74685d5639569
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-31 10:44:49 +02:00
Martin Smith
1d2941f978 qdoc: Ensure obsolete members file is written
In the case where the only obsolete members of a class
were actually non-members but just related functions,
the help file writer didn't include a reference to the
obsolete members file. This update fixes that bug.

Task-number: QTBUG-31379
Change-Id: I065da649bc12e3dcc81244939be0162599d54be9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-31 10:20:52 +02:00
Liang Qi
1613ec336d Cocoa: align font dialog helper with the color one
The reference color dialog helper change is
eeffcfbd89.

Change-Id: I35b505cce133adeed91df7c95b21f7c74c55cb53
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-31 10:20:52 +02:00
Andy Shaw
f29bbbde5f Check if the widgetItem is valid before accessing widget() on it
If a state was restored but not all the dockwidgets that were available
before are available at the time of restoration then when dragging a
dockwidget to where the unavailable one is expected to be would cause a
crash.

Change-Id: I829d93041b7950a3546ba4e6c3764b169f276315
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-31 08:24:18 +02:00
Simon Hausmann
3745b0ca12 Fix application font population on OS X
This patch fixes two issues that prevented the application font related tests
of tst_QFontDatabase from passing:

* The code for creating the font descriptor after the registration of an app font
  with file name using CTFontDescriptorCreateWithAttributes must create a dictionary
  with kCTFontURLAttribute as key and the CFURLRef pointing to the on-disk file as
  value. Unfortunately the code mixed up keys and values in the dictionary.

* Registration of app fonts within QFontDatabase itself on Windows and Fontconfig
  platforms works by QFontDatabase calling addApplicationFont on the platform db
  after calling populateFontDatabase(). It assumes that addApplicationFont on the
  platform db is capable of registering the font right away. This part was also
  missing from the Mac implementation and this patch implements it by moving the
  common registration code from a CTFontDescriptorRef out into a separate method,
  called from populateFontDatabase() as well as addApplicationFont().

Task-number: QTBUG-23062

Change-Id: Ide5e6bf277d99f3cab50ee0d4631cc3fba6d0d45
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-07-31 07:54:01 +02:00
Shawn Rutledge
e54ef7f23b xcb: mouse wheel does not focus a window
The window should react to the wheel event (e.g. scroll content)
but without becoming focused; this is the X11 convention.

Task-number: QTBUG-32517
Change-Id: I7e12425e5a6e1549b7f23dc318612a436c24d14b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-31 07:33:23 +02:00
Liang Qi
130f43c9c1 Gtk theme: emit currentFontChanged() in font dialog helper
There is no signal for it in gtk font selection. We should emit this
signal just before accept() was emitted.

Change-Id: Ie31d96b789436607b134c84dd77a4b9be9e9a550
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-07-30 22:49:44 +02:00
Albert Astals Cid
c3f485c525 Expose invokables that are not slots in the xml
Without it the invocations were working but were not listed on introspection

Change-Id: Ie62f7dc3577f52b6888ddebf0392fdf51f2845d5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-30 20:34:11 +02:00
Friedemann Kleint
8fd3d53a93 QByteArray: Remove some reinterpret_cast<>.
Fix warning: QByteArray(QByteArrayDataPtr dd) constructor warning
C4946: reinterpret_cast used between related classes: 'QArrayData'
and 'QTypedArrayData<T>'.

Task-number: QTBUG-32559
Change-Id: I06356902f79ed6bf784127ff0c3a97d3263a25da
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-07-30 20:34:11 +02:00
Gunnar Sletta
db13d9b8a1 Fix upload of glyphs when using RGB32 masks on OpenGL ES
OpenGL ES doesn't allow internal format to be different
from external format, so always do the conversion from
BGRA -> RGBA. We are anyway iterating over all the
pixels so the performance impact of this should be
minimal.

Change-Id: Ie891665ad66e31692b69db02d34be8d303a7d631
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-07-30 20:34:11 +02:00
Jerome Pasion
c6ccd27818 Doc: Unified the summary for C++ classes and QML types.
The placement of the header, since, inherits,
instantiates, and instantiated-by are now in a table.

For C++ classes:
    Header: #include <class name>
    Since: <version>
    Instantiated by: <QML type>
    Inherits: <parent class>
    Inherited by: <list of classes>

For QML types:
    To import: import <QML module>
    Since: <version>
    Inherited by:<list of QML types>
    Instantiates: <C++ class>
    Inherits: <parent QML type>
    Inherited by: <list of QML types>

This is only a part of the work being done for
QTBUG-32172.

Task-number: QTBUG-32172
Change-Id: Ia9d29e824ef7ab4052ea59c6397b5f8fd24022b9
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-30 17:38:47 +02:00
Nils Jeisecke
cf3e435299 Cocoa: Make sure that resizeEvent is invoked after calling resize
The QWindow::resizeEvent documentation states that resizeEvent
is invoked after the windowing system has acknowledged a
setGeometry() or resize() request.

The Cocoa plugin however did set the platform window geometry
immediately so that the qnsview's updateGeometry returned too
early.

Task-number: QTBUG-32706
Change-Id: I1f359ab368833d174ab6740f4467b0848c290f13
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-30 17:24:15 +02:00
Aurélien Gâteau
eea5b8bf8b Assign icons to actions of QLineEdit context menu
Icons are only set if they are valid.

Change-Id: If2398cdc977a3882e7738ef1bcf5519bd7053449
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
2013-07-30 16:29:31 +02:00
Aurélien Gâteau
d51ce5b270 Assign icons to actions of QTextEdit context menu
Icons are only set if they are valid.

Change-Id: I7637dec18b3066930455a2f6fd40d87097eb20f7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-30 16:29:08 +02:00
Friedemann Kleint
d8090022f6 Move the X11 system tray code from widgets into XCB-plugin.
- Add system tray tracker class to XCB plugin and
  provide functionality via invokable slots
  of the native interface.
- Remove XLib-dependency of widgets/utils.
- Reintroduce tracking of tray window destruction
  and recreation, which was removed in the XLib-code
  when porting it from Qt 4 to Qt 5.

This paves the way for implementing the tray icon
completely in terms of QPlatformSystemTrayIcon at some point
later.

Change-Id: Ia04268b0e2919c05874a3e9548930535332897c7
Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-30 15:08:31 +02:00
Friedemann Kleint
88f4baf089 Windows: Clear window under mouse in destruction of platform window.
Task-number: QTBUG-32042

Change-Id: I8aa5df84b7ca6deb47e0c3eff9a6a7d2c4793553
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-30 09:39:30 +02:00
Albert Astals Cid
5d192deed9 Fix crash on qdbus when return type is a raw dbus type
Assigning a -1 to type is going to make things crash since
it basically means unresolved and when you try to access the string data
go to a index that doesn't exist

So what I do is save the return type in rawReturnType if it is a raw
one and reassign the type to IsUnresolvedType | strings.enter(mm.rawReturnType)
instead of -1 when "saving" the metaobject

Task-number: QTBUG-32671

Change-Id: I67898dea8a1926eee80c16417e877ef4e22aa06b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-30 09:22:42 +02:00
Illya Kovalevskyy
f52e9b1172 Symbol for max number of arguments in QMetaMethod::invoke()
QMetaMethod::invoke(..) takes fixed number of arguments for execution.
Adding preprocessor macros which literaly equals this number would be
useful for writing some generic code.

Task-number: QTBUG-31821
Change-Id: Ia2faf291f3f7df44a47c3cf18f5cd587d37d7d2e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-30 03:18:47 +02:00
Thiago Macieira
2c285b893c Add a few more typedefs to QString, for STL compatibility
Task-number: QTBUG-22890

Change-Id: I457be6367e577dee30532383d10c519b2f2617b3
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-07-30 02:57:54 +02:00
Thiago Macieira
f9f72aa114 Add support for Q_OS_FREEBSD_KERNEL and document
Also clarify documentation for OSes with variants. Q_OS_ANDROID should
have been called Q_OS_LINUX_ANDROID and Q_OS_BLACKBERRY should have been
Q_OS_QNX_BLACKBERRY.

Task-number: QTBUG-15402
Change-Id: I3a34d52a1c0ebb8eb73284bdf198443c209a5fd4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-30 01:14:16 +02:00
Jake Petroules
fb25d6c7f6 Remove a left over cast that is now semantically incorrect.
CFPropertyListRef is a typedef for void*, which is why this code was
compiling OK prior to this change.

Change-Id: I78d65652a76721434056bd9f6d011917e2864125
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-30 01:14:16 +02:00
Richard Browne
9f8a724cda Work around msvc /clr LNK2005 errors with QList
This patch fixes a compatibility with Qt 5 and Microsoft C++ /clr mode.
The QList copy constructor defines a Cleanup class that causes LNK2005
errors. It is a compiler problem, but the patch is simple. The use of
QT_TRY/QT_RETHROW instead of a Cleanup class is more consistent with other
Qt code, so is arguably preferable even without the compiler bug.

Task-number: QTBUG-31949

Change-Id: I1acfbae1924f0a52ffb8d9722b52e01b61edd42e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-30 01:14:16 +02:00
Peter Seiderer
6c21f42657 Change QDBusPendingCallPrivate to full reference counting for deletion.
Fixes race between QDBusConnectionPrivate::processFinishedCall()
releasing the mutex before emitting signals (using various members of
QDBusPendingCallPrivate) and deletion of the QDBusPendingCallPrivate
object through QDBusPendingCall::d's destructor (a member of type
QExplicitlySharedDataPointer<QDBusPendingCallPrivate>) leeds to
segmentation fault with CrashTest example on slow/single core
arm cpu).

Task-number: QTBUG-27809
Change-Id: I3590d74d1cfa5816ede764b50b83a7008ec780ff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-29 22:28:58 +02:00
Peter Seiderer
72ecf5a7ec Remove QDBusPendingCallPrivate::autoDelete logic.
First step to fix race condition about deleting QDBusPendingCallPrivate.

In a multithreaded application on a slow/single core cpu the following
race (and segmentation fault) can occur:

First thread A is running:
A:  QDBusPendingReply<> reply = pi->asyncCallWithArgumentList(method, argumentList);

Then when the dbus answer arrives thread B will call:

B:  QDBusConnectionPrivate::processFinishedCall()
B:      ...
B:      locker.unlock()

and runs until here, go on with thread A:

A:  reply.waitForFinished();
A:    QDBusPendingCallPrivate::waitForFinished()
A:    {
A:        QMutexLocker locker(&mutex);
A:        if (replyMessage.type() != QDBusMessage::InvalidMessage)
A:            return;

which returns immediately (mutex acquired, replyMessage alread set), now
reply goes out of scope (destructor called) and QDBusPendingCall::d's
destructor of type QExplicitlySharedDataPointer<QDBusPendingCallPrivate>
deletes the reference counted object QDBusPendingCallPrivate.

Now thread B continues, still in processFinishedCall()

B:      if (call->watcherHelper)
B:          call->watcherHelper->emitSignals(msg, call->sentMessage);
B:
B:      if (msg.type() == QDBusMessage::ErrorMessage)
B:          emit connection->callWithCallbackFailed(QDBusError(msg),
B:              call->sentMessage);

accessing alread deleted object QDBusPendingCallPrivate via call->...

Fixed QDBusPendingCallPrivate deletion by proper reference counting
will be done in the next commit.

Task-number: QTBUG-27809
Change-Id: I15b3f0242471b62eaafadc763fb6a33339ff2fe1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-29 22:28:41 +02:00
Peter Seiderer
64e3bd481e Fix unprotected access to QDBusPendingCallPrivate::pending.
In QDBusConnectionPrivate::waitForFinished() pcall->pending was used
after the protection by pcall->mutex was released. A simultaneous
call to QDBusConnectionPrivate::processFinishedCall() was able
to reset pcall->pending to null before it was used for the
q_dbus_pending_call_block(pcall->pending) call.

Fixed by releasing (and setting to 0) of pcall->pending in
processFinishedCall() only in case no one is waiting yet, otherwise
release pcall->pending by the first thread waiting in waitForFinished().

There is still a race condition about deleting QDBusPendingCallPrivate
(too early) which will be fixed in the next two commits.

Task-number: QTBUG-27809
Change-Id: I040173810ad90653fe1bd1915f22d8dd70d47d8c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-29 22:28:12 +02:00
Bernd Weimer
cebac1ae2f Avoided zero devision in cube root approximation
Halley's method to get a better approximation is omitted, if it
would include a devision by zero (INFINITY/NaN is worse).

Change-Id: Ida09326e2b5892d7cb21bcb956631c289e5b56ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-29 19:29:15 +02:00
David Faure
4237faf580 Uic: remove unused option -3
Change-Id: I2ded3a3c90eea0ae37619ff39a8111a589c4573b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-29 19:10:25 +02:00
Peter Hartmann
af96c6fed9 QHttpMultiPart: fix data corruption in readData method
When readData() is called repeatedly, we need to keep track which
part of the multipart message we are currently reading from.
Hereby we also need to take the boundary size into account, and not
only the size of the multipart; otherwise we would skip a not
completely read part. This would then later lead to advancing the
read pointer by negative indexes and data loss.

Task-number: QTBUG-32534
Change-Id: Ibb6dff16adaf4ea67181d23d1d0c8459e33a0ed0
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-07-29 18:08:59 +02:00
Eskil Abrahamsen Blomfeldt
9eeb1bd4d4 Add workaround for GL on Android emulator
On the Android Emulator, the shaders will be compiled by a desktop
GL driver, since the GL driver in the emulator is just a thin
wrapper. The GL driver does not necessarily support the precision
qualifiers, which can cause applications to break. We detect this
at runtime in the platform plugin and set a workaround flag to

Task-number: QTBUG-32557
Change-Id: Ied00cfe8e804d1f7862697dd379a14f3bed3d980
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-29 17:58:30 +02:00
Frederik Gladhorn
32e6778bda Stop unconditional synth of mouse events on Android
Before this patch we always send mouse events for each
touch event that happens.
This is redundant (we already synthesize in
QGuiApplicatioin) and breaks some touch handling
in QtQuick2.

Change-Id: I4bc1686a7a46039901315619a0acdf2888ad6775
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-07-29 17:58:30 +02:00
Allan Sandfeld Jensen
de8567991f Fix fillRect on RGBA8888 images
The fill color was not correctly converted before being filled into
RGBA8888 images. This patch adds a function with convertion and
adds tests for it to tst_qpainter.

Change-Id: If8b0e6db38b2794a60301842e25f377eb7216796
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-29 16:10:53 +02:00
Paul Olav Tvete
591584d9a9 Android: Get SSL root certificates from TrustManager
On Android, when not using Ministro, we cannot read certificates
from the file system, so we have to get them through Java APIs instead.

Change-Id: I415329fcb45836735c1112dbe832214b3c73dc9a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-07-29 15:38:51 +02:00
Friedemann Kleint
71535ad6bc Build offscreen plugin only if freetype is available on Windows.
Task-number: QTBUG-29685

Change-Id: I0d80437d07ad7f9e11343bfa7afbdeb30583f8c5
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-07-29 15:38:51 +02:00
Michael Brüning
3693ada1a6 Fix text being cut off at the right side in print preview.
This patch now also copies the state of the QPainter returned from
QPaintEngine::painter for the first page of a print preview, as it is
done for all other pages of a preview in QPreviewPaintEngine::newPage().

Task-number: QTBUG-30621
Change-Id: I50001231c4006b9627ff80504618cbe0fa6d9f65
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-29 15:38:51 +02:00
Mitch Curtis
4f7727d861 Correct QHash::values() documentation.
Change-Id: Ia19bd0578591f77e5aee1c7e3e619ba97754f384
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-29 12:08:23 +02:00
Giuseppe D'Angelo
5b9006bbdb Implement move-ctor and move-assignment-op for QScopedPointer
It makes sense for a QScopedPointer to be movable, for instance
for allowing instances to be returned from a function.
Ownwership of the managed pointer is still tied to one (and one only)
QScopedPointer instance.

Moreover, a move assignment operator makes sense as well, as it
implementing the equivalent of

  this->reset(other.take());

only when other is a rvalue and not a lvalue (so either it's a temporary
or it's getting explicitly moved in with std::move).

This makes QScopedPointer API's a bit closer to std::unique_ptr's one.

Task-number: QTBUG-29754
Change-Id: If1ac0c688327a67af4ad5b7ad45b439b022ed1c6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-28 23:09:10 +02:00
Marcel Krems
64dd24ae07 Remove duplicated call to QGraphicsSceneMouseEvent::setButtons.
Task-number: QTBUG-8061
Change-Id: I1326d6b3d6c6b7c3f6dc383aa5fe66d5e1f0b229
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2013-07-28 18:24:42 +02:00
Sergio Ahumada
d013eb055c Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ic5a232260a6c8ee71f9ff91e820f54c36ab6b15a
2013-07-26 21:49:42 +02:00
Peter Hartmann
69b31f7b65 QNX: adapt SSL lib file name lookup heuristics
I.e. do not try to load file names that are not there anyhow. The
code would search for libcrypto.so.1.0.0 and libssl.so.1.0.0, while
on QNX the libs are called libcrypto.so and libssl.so, and there
are no symlinks with version numbers.

This saves ~ 45 ms in real apps (tested with Facebook, Twitter and
Foursquare), and ~ 24 ms at app startup in an isolated app without
GUI (difference maybe because threads are fighting for CPU or so).

Task-number: QTBUG-32548
Change-Id: I25869538bbfa3c2848541415e8361e0bd7a8fd50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-26 17:14:44 +02:00
Allan Sandfeld Jensen
9fabb548da EGLFS and MinimalEGL windows are not marked as OpenGL surfaces
Several QOpenGLContext methods fails incorrectly on QWindows from EGL or
MinimalEGL. This is happens because they are incorrectly marked as raster
surfaces instead of OpenGL surfaces.

Change-Id: Ic9b3859915a9049fce442216b01dce89521fa5ee
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-07-26 16:59:48 +02:00
Peter Hartmann
28ff65f4dc QNX: hardcode on-demand SSL root cert loading
The c_rehash'ed symlinks are always there on QNX, so no need to check
at every app start for the feature. This saves ~ 17ms at each app
start.

Task-number: QTBUG-32549
Change-Id: Ia9df60aba9d1bd70868b7004b847867a2128f600
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-07-26 09:52:29 +02:00
Friedemann Kleint
4b33461455 Fix updating of screens in QDesktopWidget.
Task-number: QTBUG-32567

Change-Id: Ib7442aed518427aa995cfc365ade6e6ffaf9c428
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-26 06:31:33 +02:00
David Faure
1aa4ad46e4 QUrl: add matches(url, options) method.
Change-Id: I534f494aecc48cc2accfcfcb692f35046250b493
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-07-26 04:47:18 +02:00
Friedemann Kleint
15b45c608f XCB: Readd support for -name command line argument.
Task-number: QTBUG-27349

Change-Id: I85390942927cd1c54f76fd7ddc0f3487c7205b57
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-25 15:09:51 +02:00
Friedemann Kleint
d7e37537d4 Reintroduce -geometry command line argument for X11/XCB.
Add parsing for the window geometry specification to
QGuiApplicationPrivate. Enable the argument under a different
name for the other platforms as well.

Task-number: QTBUG-27349
Change-Id: I973b2c69f5172f7d0bc983b8ba4b0d164649ef02
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-25 15:06:46 +02:00
Martin Smith
5ec0804583 qdoc: Don't try to output from index nodes
When qdoc traverses its internal node tree to generate
either the html docs or the help file, it no longer
traverses nodes that were added to the tree as the result
of reading an index file.

Task-number: QTBUG-32622
Change-Id: Iac63ac2ce177b15b85a2aa73850c45891cbbc624
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2013-07-25 12:23:22 +02:00
Uli Schlachter
ec2aa7d282 xcb: Fix minor leaks in XSettings code
If some of the X11 requests fail, QXcbXSettings::QXcbXSettings() prints a
warning and returns. These error paths all caused memory leaks.

Change-Id: Idfecf03dd412c35552c3bbbebdda9c039aeadc13
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-07-25 11:25:42 +02:00
Shawn Rutledge
03855decfc QPrintDialog OSX: don't crash if ApplicationModal and no parent
Task-number: QTBUG-32464
Change-Id: I5ee2741735255254c17555dfb977ce73941d3e22
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-07-25 05:43:35 +02:00
Sergio Ahumada
509ed01c85 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-07-24 15:09:38 +02:00
Kevin Ottens
288e50227d Add the RFC2822Date format
QDateTime can now be converted to strings compliant to RFC 2822.
Additionally, it supports RFC 850 and RFC 1036 during parsing.
By having them all together, all type of dates found in exchanged
messages on the internet (including USENET) get supported.

Change-Id: I771066c23f409d20b31b7d802f37852ea68ca2a0
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-07-24 15:02:35 +02:00
Bernd Weimer
828c034f1e BlackBerry: Rearmed socket notifiers after select
Socket notifiers that are registered with BPS are disabled by a call to
select. This solves the echoTest2 test case of QProcess.

Change-Id: Ic7f3f14433477b89eaad5ffbeb6c22a1b5c2e910
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-07-24 14:51:35 +02:00
Peter Hartmann
78f9f4b497 HTTP internals: do not access reply that was deleted already
... rather than crashing.

Task-number: QTBUG-32404
Change-Id: Ia2f938394fb451459564ef5966419f952b3e2d0e
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-07-24 14:30:41 +02:00
Topi Reinio
3f95ae8e2f Doc: Update documentation of Qt::HANDLE
Qt::HANDLE is always defined as 'void *' on Qt 5.0

Task-number: QTBUG-32469

Change-Id: I3f0f2b19e65d54c88604e1cb65b5791c456b3003
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-24 14:30:30 +02:00
Friedemann Kleint
77833b90c8 Fix crashes when invoking toVariant() on empty QJsonValue objects.
Change-Id: I51cd114e862c6fad564484e990348f324ad56ab9
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-07-24 10:56:07 +02:00
Friedemann Kleint
0edf1390ca Windows: Mark window margins as dirty when the theme changes.
Task-number: QTBUG-31523

Change-Id: Ibd8ed4e3fc5b6d1723f94dc32b3bf86b74e71020
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-24 10:55:59 +02:00
Shawn Rutledge
bd602a2dc4 QPrintDialog: document the modality on OS X and Windows
You can't programmatically close the dialog because it's modal.

Task-number: QTBUG-32464
Change-Id: I2f24581dc660a088b4e741fa4ee1518e27adea4a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-24 10:49:58 +02:00
Sergio Ahumada
366aba402f Bump Qt version to 5.1.2
Change-Id: Ibe3e6a37a874b75ea9a20e0a9ed8aa5f21bf6be2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-23 20:12:23 +02:00
Allan Sandfeld Jensen
36e6376755 Support RGBA image format
Support the byte-ordered RGBA format which is used by OpenGL, and many
endian neutral byte formats.

Task-number: QTBUG-32201
Change-Id: I77cffb4c30c69545fa96ded2f537b2ebd9351acb
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2013-07-23 16:30:06 +02:00
Friedemann Kleint
dd062f4d52 Bump QPA-API-version.
Changes f5dbc87637 (Use QUrl in QFileDialog API)
and c96a6ab627 (Pass argc, argv to platform
plugin) introduced changes to the plugin API.

Task-number: QTBUG-29396
Change-Id: I46ee22d16f045b69f141dc6c982017586efef662
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-07-23 16:30:06 +02:00
Martin Smith
3a36883394 qdoc: Improve format of obsolete members file
The link to the class reference page for the class that
contains the obsolete members is now embedded in the text
description of what the page contains. This change affects
both the obsolete members papge and the compatibility members
page. Without this change, the link to the class reference
page stands off on its own and makes it look like the class
itself is obsolete or maintained for compatibility with
previous versions. Since this is not the case, the link is
now embedded in the text description of the page.

Task-number: QTBUG-31379
Change-Id: Ic5f4554c8722ee193f2dfae9efd8adab98f32ca1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-23 16:30:06 +02:00
Martin Smith
eaac7960f8 doc: Ensure page name does not change
This fix ensures that the page name is
set only once. Also included are a few
internal documentation changes that
bring qdoc's internal terminology up
to date.

Task-number: QTBUG-31578
Change-Id: Ib52a5a9024533d5a695cee0055bf2bc4d9bc2af9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-23 13:53:09 +02:00
Frederik Gladhorn
084c5b3db7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp

Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
2013-07-23 11:18:11 +02:00
Sérgio Martins
f4a0d6d249 Move the declaration of QFileIconProviderPrivate to it's own file.
Needed to backport qtbase/46685f755b01288fd53c4483cb97a22c426a57f0
to Qt4.

We can't add new symbols in Qt4 to QFileIconProvider so we will make
the private class a friend of the QFileDialog.

Change-Id: I6bc5a2d127b09f20633e733a79de509c8c186c6c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-07-22 22:28:53 +02:00
Oswald Buddenhagen
08db2caf63 document that validity of exitCode() depends on exitStatus() == NormalExit
Change-Id: Ied16681f08c59de16ac365b9ae76c2eacf6bc29c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-07-22 19:52:06 +02:00
Shawn Rutledge
4dbf574b7a xcb: touchpad support
Relative touch devices tend to provide a moving point for one finger,
then when more points are pressed, the root_x/root_y stay stationary
while the Rel X/Y valuators provide info about the movements around
that point.  Synthesize moving touch points from those so that
gestures become possible.  Behavior is now similar to that on OS X.

Change-Id: I1c65fb04849d19f11c3bf166044f296d95c33da1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-07-22 13:21:35 +02:00
Shawn Rutledge
29fda24ca8 added maximumTouchPoints to QTouchDevice
This was missing information which the driver can provide.

Change-Id: I2574745635d6fdf608bc5617999aec46d9312c09
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-22 10:07:38 +02:00
Uli Schlachter
3ff441d305 xcb: Don't use Xlib's XBell() function
XBell() just sends a Bell request to the X11 server. This can be done
equally well (and with less ifdefs) through xcb's xcb_bell().

Change-Id: If41d955aa97acfe9e0a8b9fce05c11ebc146ce8e
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-22 08:12:59 +02:00