Commit Graph

11132 Commits

Author SHA1 Message Date
Marc Mutz
d0b419e355 QGraphicsItemAnimation: save some string data (text size -= 1K)
Also changed the 'step' range check to treat NaNs as invalid, too.

Change-Id: I993c5efffcf7140fba8f80a7db499cd2335867e0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-16 23:49:42 +02:00
John Layt
6a63554bf8 QDateTime - Fix toTimeSpec() for invalid datetimes
Check if the datetime is valid before converting it to a different time
spec.  If it is invalid then just change the spec to keep behavior
consistent with 5.1.

Task-number: QTBUG-34020
Change-Id: I6630ec1d50f810a2178ab3222bd32af018085f81
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-16 21:29:17 +02:00
Marcel Krems
24b817f20a Fix compilation with Clang and libc++ under Linux
src/plugins/platforms/xcb/qxcbsessionmanager.cpp:205:80: error: use of undeclared identifier 'ERANGE'
    while (getpwuid_r(geteuid(), &entry, buf.data(), buf.size(), &entryPtr) == ERANGE) {
src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp:173:28: error: use of undeclared identifier 'LC_CTYPE'
    char *name = setlocale(LC_CTYPE, (char *)0);

Change-Id: Ide6f3072e9158eef412973ce0a72babb41b695f0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-16 21:29:17 +02:00
Thiago Macieira
77adddae37 Move the Apple Clang specific features outside of the C++11 section
Those are not related to C++11, so move them to the Clang detection
block.

Change-Id: I80b298e1df5f74a865d743625895e0f01cb5fd6b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-16 19:34:46 +02:00
Kai Koehne
15ddb91bc7 Print non-default categories in default message handler
Change the default output of the logging framework to prefix messages
with a 'category: ' in case the category is not "default", so that e.g.

  QLoggingCategory cat("qt.core.codes.windows");
  qCWarning(cat) << "MultiByteToWideChar: Cannot convert multibyte text";

will print

  qt.core.codes.windows: MultiByteToWideChar: Cannot convert multibyte text

while output from qWarning etc will show unaltered output. This should
help users to discover categories, and to group output together.

Change-Id: Iac2e1514f7dc5671966c36a440a119c857564cfc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-16 17:10:15 +02:00
James Turner
42c8c7e9db Support APPLE VAO extension on Mac.
Since Mac lacks a compatibility profile, we often use the highest
supported compatible version, 2.1; this lacks vertex-array-object (VAO)
support in the API, but Apple provide a compatible extension. Extend
the helper object to detect this case and make VAO support work.

Change-Id: I75a74e048a0d188cec76bc5a4a9eafa4c9143740
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-10-16 17:10:15 +02:00
Andy Shaw
b271ddebfc Ensure that context menus show even if the window is not active on Mac
When using the mouse to show a context menu on Mac then even if the
window is not active then it will show the menu for native applications.
So this ensures that this is respected for context menus in Qt too.

Task-number: QTBUG-31497
Change-Id: Ibfcb4b893b0e31d4ce36926a83c9214d130d8fa2
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-10-16 17:10:15 +02:00
Shawn Rutledge
66e3e1f75b OS X: a dialog should always have an enabled titlebar close button
regardless of modality.

Task-number: QTBUG-28385
Task-number: QTCREATORBUG-9264
Change-Id: Iaa608f6e742686d4068547766ec596e37c696a07
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-16 17:10:15 +02:00
Kai Koehne
8f0654ceb8 Give an example how to configure categorized logging
Change-Id: I178bb6e75fba246932b318c2c0c5afd243575a92
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-16 17:10:15 +02:00
Gabriel de Dietrich
42f0a4f2c9 Cocoa: Deliver key event to top-level QWidgetWindow
Having several QWidgetWindow in our hierarchy translates as as many NSViews.
Clicking will make the NSView under the mouse cursor key, meaning it will
receive all the Cocoa key events. In order to make sure the QWidgets hierarchy
sees the key event "as usual," we climb the QWindow hierarchy in search for the
top-level QWidgetWindow. (Something similar is already being done in -[QNSView
becomeFirstResponder]).

Task-number: QTBUG-32914
Change-Id: Idc700309d202820de326d4e2990fad24d7b692ae
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-16 17:10:15 +02:00
BogDan Vatra
5f47ce0951 Remove unused include
Change-Id: I77bd22b3e0314686450343c5a52914d7f97298d3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-16 15:29:24 +02:00
Andy Shaw
1f01ac8323 Restore handling of bullets for lists with a font size of > 36 pixels
This patch partially reverts ad443dfb1d,
the test that was added is still there as it can be used to compare
against Chrome and to check that indenting works correctly.

The original behavior of clipping the bullets is correct because the
specified indent is where the text itself should be positioned, the bullet
uses the available space to the side of it. This is how other web browsers
handle the same situation.

Change-Id: I63440e037d8efec356459c09228ef4817ccb9cb6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-16 10:32:47 +02:00
Paul Olav Tvete
d4d96c375d Android: don't set autorepeat to true by default
When we don't know if a key event is caused by autorepeat, then
the safest assumption is that it is not.

Task-number: QTBUG-30793
Change-Id: Iea6aba164e299f0f2c772547b45df6a49639b7e9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-10-16 10:32:47 +02:00
Eskil Abrahamsen Blomfeldt
4be5d58203 Android: Make it possible to pass arguments via intent extras
Needed for autotest script, so that we can pass command line
arguments to Qt Test.

This can now be done by:

% adb shell am start \
            -e applicationArguments "argument1 argument2" \
            <INTENT>

Change-Id: I772209f66da055c6a0b01b709f36e33fdb5c2ed6
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-10-16 08:39:52 +02:00
Sze Howe Koh
fd82caf44f Doc: Expand thread technology comparisons
Additions/Changes:
- Add QML's WorkerScript type
- Add QFuture + QFutureWatcher
- Clarify differences between QtConcurrent::run() and the map/filter/
  reduce functions
- Reword table headings
- QThreadPool accepts a priority parameter too (although it's not OS-
  level, unlike QThread)

Rows removed from the table:
- QThread can be "reused" and "task oriented" too, depending on the
  program design. It's hard to convey this in a table though, so I just
  removed it.
- "High level" is ambiguous and doesn't really help readers choose a
  tool to use.

Task-number: QTBUG-33360
Change-Id: Idc5100eaf09033998c155572d44c6c0ad0ba9ef6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-16 04:13:32 +02:00
Matt Hoosier
6e4ea62b0a Fix wide-char use in Posix collator
Although the C++ language builds in the 'wchar_t' datatype, the
library functions such as wcscmp() which manipulate them are not
automatically available. For these, inclusion of the <cwhar> header
is still required.

This changeset fixes build breakage observed from failure to include
the requisite system header for accessing wcscmp() and other related
functions on non-GNU standard C++ library implementations.

Change-Id: I5b2f9148ea011004e5dd00cf41698339db172de8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-16 02:21:23 +02:00
Thiago Macieira
6c5e6a030d Fix loading of libresolv when the .so file (not .so.2) isn't installed
glibc is nice to us and provides a #define with the actual name. On most
Linux systems, the .so file is installed only if the glibc-devel package
is installed. For all of us Qt developers, it's installed. But for end
users, it might not be.

Change-Id: Id455371db91a074befd3bcd071f285c725d7e7e5
Reviewed-by: Ian Monroe <imonroe@kde.org>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-10-16 00:01:05 +02:00
Thiago Macieira
704616605b Remove compatibility support for sealed/override in C++/CLI
Those features have slightly different behavior as the C++11 keywords
that MSVC 2012 officially supports. When compiling in C++/CLI mode,
the "virtual" keyword must be present too.

We have not actually tested whether the official MSVC 2012 support for
C++/CLI still requires the virtual keyword. This is just going on the
assumption that C++/CLI follows the C++11 spec.

Task-number: QTBUG-34019
Change-Id: I148a443bfbff985033c555f5a9cfcd5be7f5f106
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-15 23:58:46 +02:00
Thiago Macieira
6cdc033c61 Use the fast operator+ (in the form of operator%)
QStringBuilder will precalculate the size of the string for us, which
avoids extra realloc() and moving data around.

Change-Id: I4e31964bb9bfffbe2083b3cb8c120e602160dfd8
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
2013-10-15 23:58:09 +02:00
John Layt
688b006cc8 QTimeZone - Fix finding Linux System Time Zone
Extract the correct length sub-string from the /etc/sysconfig/clock file

Change-Id: I37b4f625a51b172ed11ecefbd1b7dc562c5bb89d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 23:58:00 +02:00
Shawn Rutledge
0a19ee0aea set the title of the user time window not the application window
51c28cad67 resulted in setting the title
of the wrong window.

Task-number: QTBUG-34048
Change-Id: Ia22d563e0ba9b0e074ef79ae5169c1627369c70d
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-10-15 20:19:23 +02:00
Laszlo Agocs
b7d2882715 linuxfb: Do not crash with GL windows
We will show an error message saying no platform context is available
but the crash (due to GL windows having a null backingstore) is not
desirable.

Change-Id: Iba3a61bfc4eeeb89b4a0017a58c87a7dbd0895e7
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-10-15 20:18:20 +02:00
Jerome Pasion
b5d01a9dfc Doc: Adding "\keyword Signals and Slots" to "Signals & Slots" page.
-many articles link to the page using the "and" or the "&"
version, causing missing links.

Change-Id: I6447149befce169cfafff29164172290a7c15f0c
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-15 18:22:10 +02:00
Friedemann Kleint
8178a6cab1 Add missing operators QMargins -=,+= (int).
Task-number: QTBUG-34079

Change-Id: If61cc01ba70345b01f13072769d3a38f23e8cefc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 18:20:37 +02:00
Tasuku Suzuki
a3a1bd755f Fix build when fwrite() is declared with attribute warn_unused_result
Task-number: QTBUG-33921
Change-Id: I58dded1f54239e4c5cfd5f4f5c1655dbf879b2c8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 17:53:32 +02:00
Laszlo Agocs
52c8d9ffba linuxfb: Adapt to initialize() pattern
Migrate to the new 5.2 pattern: Prevent relying on the event
dispatcher in the constructor by performing initialization later
in initialize() instead.

Change-Id: Ifa6024affc35e995d6e33a63fa813da9df0c491b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-15 13:17:48 +02:00
Kai Koehne
0008a6f400 Fix compilation of ANGLE on MinGW
This broke with commit  89f9bc9c5f.

Task-number: QTBUG-34080
Change-Id: Ib3c7a3c90db7dc04f417eba4c1328390f45e5e5f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-15 13:13:30 +02:00
Kai Koehne
dd2e1c58a7 Document %{category} for qSetMessagePattern
Change-Id: Ib6ad515ce4ba27d501538ba45fd65e60ce5332df
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-15 13:13:23 +02:00
Kai Koehne
816e7f11f1 Avoid other threads blocking for Q_GLOBAL_STATIC constructor on Mac
The compiler inserts __cxa_guard_acquire, __cxa_guard_release calls around
the initialization of local static objects to make the initialization
thread safe. However, the implementation of _cxa_guard_acquire in Apple's
libc++abi uses a global lock, which means that only one thread can
initialize a local static variable at a time. This can be a problem if
e.g. the constructor of the variable is blocking while waiting for another
thread ...

This behavior has caused issues so far in webkit and the qml debugging
infrastructure. Better avoid it by using our custom lock implementation.

__cxa_guard_acquire implementation:
http://www.opensource.apple.com/source/libcppabi/libcppabi-24.2/src/cxa_guard.cxx

Task-number: QTBUG-33967
Change-Id: I0d50531ed91ddd074aa07f61f6bf7791e23d990b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 13:13:14 +02:00
Andy Shaw
89c01c3242 Only emit messageChanged() if the message has actually changed
This fixes QStatusBar so it is back to the original behavior of only
emitting the signal when the message has changed. The intention of the
code that caused this to break in the first place is kept intact.

Change-Id: I2f57c2abec01246ed924626ad954ac9ff9889855
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-15 13:01:59 +02:00
Jan Arve Saether
4684f2179b Change return type of imagePosition to QPoint
QAccessibleImageInterface already has an API to return the
size of the image.

This function ensures that their API's are not overlapping.

Alternatively, we could merge both functions into
QAccessibleImageInterface::imageRect(), but the assumption is that
images change position more often than their size.

Change-Id: I55c25cdff187b9f497828f04cfd5f969cfbc451f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-10-15 12:42:17 +02:00
Frederik Gladhorn
52d0f9b1e4 Remove stray semicolon
Change-Id: I6f2d6df5eac2ce66bf2140c2e96c8945cdb439ef
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-10-15 12:34:18 +02:00
Morten Johan Sørvig
c1417023d5 Correct PrefixPath on iOS.
The iOS bundles are "flat", do not insert "/Contents/"
like we do on OS X.

Change-Id: I4e848f4425482b92cac04d940e5bce06b7199fc6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-15 12:34:14 +02:00
Allan Sandfeld Jensen
b8da27bc90 Update keycode mappings of multimedia keys
Updates keycode mappings for evdev, directfb and android.

Change-Id: I6789f13dbb662da4261a3c947757644e12306dd9
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-10-15 12:26:48 +02:00
Thorbjørn Martsum
5482881b8a QMap - improve docs a bit (mainly by adding more time complexities)
Change-Id: I8a361ef09c338bbba228fd774b2bfd938869adc5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 12:10:09 +02:00
Thorbjørn Martsum
499957eb8b Improve implicit shared documentation a bit
Task-number: QTBUG-27061

Change-Id: I66e000a9f59fda3654066013e6e78c3ba6fd27fe
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 12:10:01 +02:00
Thorbjørn Martsum
cfb717d654 QList - fix a few doc issues
Though some of it was mensioned in the introduction to the class,
we are not in O(1) if we modify a shared container.

Change-Id: If63b4cb4bdfc98d6b1333bae307e5650341e5484
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 12:09:55 +02:00
Shawn Rutledge
37ca2224ec QFileDialog: don't create widgets if the platform dialog will be used
This is a performance and memory optimization which also fixes bugs
that are related to creating widgets, file system models etc.
despite using platform native dialogs.  Similar to
785bc64f8e for QColorDialog.

Task-number: QTBUG-33039
Change-Id: Ia1aa7ec1f43b47006b9ebd377aed15c958538a17
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-15 08:14:48 +02:00
Andy Shaw
5c301f4121 Account for QPolygonF type when loading/saving the QVariant
When the QPolygonF type was added to QMetaType it did not bump up the
values in load() and save() for QVariant.

Task-number: QTBUG-33981

Change-Id: I7ad99cda70620c5449c15527c3daf920972d047f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-15 08:14:48 +02:00
Laszlo Papp
fe1cbe9ca7 Add qWarning when trying to read or write a closed device
Change-Id: Ifda057d122a30d88749c6401185457f1900a913b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 04:29:19 +02:00
Harri Porten
2c7ad71adb Fixed narrowing conversion compile error with SwizzleValue cast.
I got the following compile error with gcc 4.7.0:

  error: narrowing conversion of ‘r’ from ‘QOpenGLTexture::SwizzleValue’ to
  ‘GLint {aka int}’ inside { } [-Werror=narrowing]

The compiler must being going through the route of treating the enum
as an unsigned int and thus choking on the conversion to a signed int.

Change-Id: I35c15673d0371c69984bdec80622066f792527ba
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 00:06:54 +02:00
Friedemann Kleint
4c8f194ade Fix synqt-warnings in QTestLib.
QtTest: WARNING: qtestmouse.h includes QDebug when it should
include QtCore/QDebug. Introduced by
c210668346 .

Change-Id: I33918c82fddeedef90597bf02c93167348d6b279
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-14 17:30:14 +02:00
Arthur Krebsbach
17ebcd2b46 Windows: Fix tablet position in relative (mouse) mode.
When in "mouse" or "relative" mode with the pen position information
would not be calculated correctly resulting in a significant offset
between the tablet pen location and the mouse cursor location. Logic
was added to detect when the two were not in sync and use the mouse
location when this happens.

Change-Id: Icb7129e8cce186c0099953769e215649d9347c8e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-10-14 15:05:55 +02:00
Frederik Gladhorn
f86ffab402 Accessibility: simplify dockwidget accessible
This patch merges the two classes that were used to make
dock widgets accessible into one.
The title bar does not need to be represented by its own
accessible object.

In addition the buttons on the toolbar are now labelled.

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

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

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

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

Change-Id: I807a173bff7e2afa7eb66961a7ecc88b2c0430ca
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-14 12:08:00 +02:00
Bernd Weimer
c81d261080 QNX: Removed alternate window property
Some older QNX versions don't support SCREEN_PROPERTY_ALTERNATE_WINDOW,
so cover windows have generally been disabled on QNX.

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

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

Change-Id: I06317d158d487be5ef15fe3244a917a371563ac9
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-12 10:52:03 +02:00
Kevin Funk
2cf39c8775 Documentation: Add '\since' to doc for Qt::Edge
That enum got introduced in b6e9a8f21a

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

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

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

Change-Id: If9c343eaa2ff90540decbc19b0af33d439c0bbaa
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-11 22:32:16 +02:00
Oswald Buddenhagen
bc92ca1860 include privates the right way
Task-number: QTBUG-33496
Change-Id: Id23e00627cb7896ba44c8b612ce4aff980750f7d
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2013-10-11 21:03:26 +02:00
hjk
7a47aebe9e Let QLoggingCategory::defaultCategory return a pointer
The pointer can be null. Going trough the reference invokes undefined
behavior here.

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

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

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

Task-number: QTBUG-3781

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

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

Change-Id: I12d2e24812259c16623c8a59cac30cafa4b05565
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-10-11 18:47:27 +02:00
Allan Sandfeld Jensen
894f867090 Memory leak with Small-caps QRawFont
Make sure we deallocate the scaled rawfont, when it is not used due
to a cached engine being used instead.

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

Task-number: QTBUG-33576

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

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

Task-number: QTBUG-28770

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

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

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

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

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

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

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

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

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

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

Change-Id: Id94d2fb2a4382766f3d130eebe1e6f397a535852
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-09 13:52:58 +02:00
Friedemann Kleint
c3a171e34e Suppress automatic positioning of popup windows.
This seems to cause issues with menus on certain Windows machines.

Task-number: QTBUG-33653

Change-Id: I8c31dd3ba5ccc6eb0551048401051d819f49a8c1
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-09 13:52:58 +02:00
Thomas Hartmann
89f9bc9c5f Fix compilation for MSVC 2008 and std::tuple
For MSVC 2008 make_tuple is in the tr1 namespace.

Change-Id: I4a51f6cabdf068993869b404b12ed1484a21a9d4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-09 13:52:58 +02:00
Tor Arne Vestbø
2043adf97c iOS: Generalize jumping event-dispatcher to handle QEventLoop:exec()
We already supported re-entering QApplication::exec(), so adding support
for handling a generalized QEventLoop::exec() was nothing more than
removing the qApplication->in_exec condition in processEvents() and
the QThreadData::current()->quitNow condition when interrupting the
event loop. Everything else is just renaming and rewording, now that
the feature is not specific to QApplication::exec().

This means dialogs such as QFileDialog opened in the main() function
will show something on screen, as we then fall back to the iOS root
run-loop handling, while at the same time supporting QApplication
exec once the dialog closes.

We still don't hadle recursive QEventLoop:exec() at the root level,
as that would require multiple stacks and detailed application
knowledge about when to create them.

Change-Id: I334a362d85796341a343ce82f3104ff5866bdc3f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-09 11:50:53 +02:00
Tor Arne Vestbø
54c5a79fd0 iOS: Handle qApp re-exec after application termination from iOS' side
If the user for some reason spins a new QApplication event loop after
an initial one has been exited as a result of the application being
terminated by iOS we need to prevent further event loops from starting.

Change-Id: Ief8a69cebacebd5be63a1aca87a2a1babc809879
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-09 11:50:43 +02:00
Tor Arne Vestbø
dbecdb83dc iOS: Cleanup, remove unneeded Q_UNUSED
Change-Id: Ie7c03270279ee0b0b7daf7945b5eb6fd834c3404
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-09 11:50:35 +02:00
Shawn Rutledge
51c28cad67 xcb: every window should have a title in debug mode
Qt creates various invisible windows for internal purposes.
Giving them all titles makes the output of tools like
xprop and xwininfo more readable, which makes solving certain bugs
(like transient-window bugs) easier.

Task-number: QTBUG-33644
Change-Id: I9d37b40d3339fb0f81ffeae64949b88ecb655474
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-10-09 08:19:26 +02:00
Andy Shaw
f0b950144d Ensure lastPixel.y is also initalized to -1 when necessary
Task-number: QTBUG-31579

Change-Id: Ia4916ac0d384ea523bbfad0dafbc90044da7ec3e
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-08 15:51:13 +02:00
Kai Koehne
5db49141a5 Fix "Empty or null file name(s)" warning text
Remove '(s)' for methods taking only one path argument. The '(s)' has
been dropped in other places already ...

Change-Id: I9dc0d1cfa1e02f60bce901a309835f4bbfadde6d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-08 09:18:24 +02:00
Lorn Potter
ef7284a148 Update ofono backend
The dbus interface has since changed, and I missed this when I updated.

Change-Id: Iea3363b276a92f4a97d1ddfbae572515abac9417
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-10-08 04:30:32 +02:00
Thiago Macieira
583d05863e Reorder the members in QThreadData to avoid padding holes
Before this change, this struct had size 104 and a total of 21 padding
bytes. Now it's down to 88 bytes and only 5 bytes of padding.

pahole report on a 64-bit system:
    class QAtomicInt          _ref;                  /*     0     4 */
    /* XXX 4 bytes hole, try to pack */
public:
    class QThread *            thread;               /*     8     8 */
    HANDLE                     threadId;             /*    16     8 */
    bool                       quitNow;              /*    24     1 */
    /* XXX 3 bytes hole, try to pack */
    int                        loopLevel;            /*    28     4 */
    class QAtomicPointer<QAbstractEventDispatcher> eventDispatcher; /*    32     8 */
    class QStack<QEventLoop*> eventLoops;            /*    40     8 */
    /* --- cacheline 1 boundary (64 bytes) --- */
    class QPostEventList      postEventList;         /*    48    32 */
    bool                       canWait;              /*    80     1 */
    /* XXX 7 bytes hole, try to pack */
    class QVector<void*>      tls;                   /*    88     8 */
    bool                       isAdopted;            /*    96     1 */
    /* size: 104, cachelines: 2, members: 11 */
    /* sum members: 90, holes: 3, sum holes: 14 */
    /* padding: 7 */

Change-Id: I1fc88e0b312f38eccdea440734fd37e0519285a2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-08 02:45:16 +02:00
Jerome Pasion
4533cc9944 Doc: Adding mark-up to boolean default values.
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".

src/3rdparty and non-documentation instances were ignored.

Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-08 00:46:27 +02:00
Sebastian Schuberth
ac5f4a8e76 Allow to use short names for Windows Registry root keys
Change-Id: I58b7681bb49e93b7577bc559d754c81d3c6f007b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-07 19:09:37 +02:00
Laszlo Agocs
cf092abdfc QPA: Fix event dispatcher dependent operations in platform integration
999e5162ec breaks QPlatformIntegration
implementations that perform tasks in their constructor that rely on
the event dispatcher. For example creating a QSocketNotifier is not
possible anymore since the event dispatcher is created later on.

This is fixed by introducing an additional virtual in
QPlatformIntegration that gets called after createEventDispatcher().

Two broken platform plugins have been identified so far: eglfs is
creating socket notifiers to read events from input devices and xcb's
input context plugins may use dbus. Both are updated accordingly.

Task-number: QTBUG-33768
Change-Id: I5badb623958a52ab5314ff93dd7d60061f5df70a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-07 19:09:37 +02:00
Kai Koehne
8a383c585f Require Windows Vista
The structure FDAP is only available as Windows Vista, and MinGW-w64
do not actually define it if _WIN32_WINNT isn't set.

Needed to fix compilation with latest MinGW-w64 headers (version 3).

Change-Id: I566ea6bd4c3d8d5a495b644aedffb7de42a6d6e4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-07 17:07:35 +02:00
Kai Koehne
409526b8a6 Fix typo in define guards
Needed to fix compilation with latest Mingw-w64 headers (version 3)

Change-Id: I70c7ff3d833e15e99a915a2df83f04d03a968300
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-07 17:07:30 +02:00
Kai Koehne
55880e6c18 Remove default label for QtMsgType
Adding another category will most likely require a dedicated
handling anyway, so better let the compiler warn about it.

Change-Id: I323ca1250d82e33c086f1930e1df0a6337d6f16f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-07 14:24:37 +02:00
Kai Koehne
4162522edd Improve QLoggingCategory documentation
Change-Id: I142e954cc3622643d80b8efd3b1d659c11d4e239
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-07 14:24:32 +02:00
Andy Shaw
b1bd4021f3 Fallback to the original application font handling
When Qt is built for 10.8 but then used on a machine before 10.8 then
it was not falling back correctly when an application font was added.

Change-Id: I0f05226cdbcfa36621bb1b3aa2f2cd60e714dfdf
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-07 14:00:57 +02:00
Andy Shaw
2cfca47d56 Fix QScreen::grabWindow for multiple screens on Mac
QScreen::grabWindow() would only with the primary screen on Mac, if you
tried to grab a secondary one then it would end up with a blank pixmap.

Change-Id: I24f604051835db96286c693f5ed60a2633b6528e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-07 13:57:46 +02:00
Marc Mutz
ae4c7be67d QCommandLineOption: declare as shared
QCommandLineOptions are held in a QList in QCommandLineParser,
so they better be declared movable, which is one of the things
Q_DECLARE_SHARED enables.

Change-Id: I75c8185534b4e9c1ea4417a9507095c8a6512aab
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-07 01:08:09 +02:00
Ivan Romanov
6bbaeefb90 Fix typos of QWheelEvent example
Just fixed typos with event and numPixels.

Change-Id: I8191d7e812ae9d3975a142d198d709d4f9f85b7f
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-07 01:08:09 +02:00
Stephen Kelly
d5e62f8169 Output the CMAKE_CXX_LIBRARY_ARCHITECTURE when reporting missing dependencies.
Change-Id: I5d2d53b9899636dee9f30ab179727de82b78afd5
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-06 23:13:55 +02:00
hjk
32f27b4367 Replace QLoggingCategory::isEnabled by non-template functions
This yields the same results as previously and is more in line
with existing interfaces.

Change-Id: I0bf0372bf18f3bfde579385cddbe594bf71e3c52
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-06 19:47:31 +02:00
Sebastian Schuberth
09a11069e7 Improve the QWinSettingsPrivate constructor's performance
This is mainly achieved by modifying the program flow to require
fewer string comparisons and conversions.

Change-Id: I9887623b9c05fe76460fc725d6534d16bd9f9e59
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-06 13:50:19 +02:00
Sze Howe Koh
dc6852ca63 Doc: Expand on thread synchronization details
- Introduce the concept of "mutual exclusion"
- Rewrite/add explanations on how synchronization happens and how to
  use these tools
- Remove similar content from the "Thread Basics" page
- Fix links to examples

Change-Id: Id008a8fc3f68bf242cae1704c5c8318149d908b4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-06 01:08:58 +02:00
Sze Howe Koh
370b642092 Doc: Generalize problems and solutions of mutex use
These apply to other locks too, not just mutexes.

Move from "Thread Basics" to "Synchronizing Threads"

Change-Id: I6d7051cb225a8c836fb591a28b65d3de8fab4083
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-06 01:08:36 +02:00
Sze Howe Koh
2524cafc8e Doc: Remove convoluted details of uncommon QMutex use case
Change-Id: If80068f44fef7ab0692b9dad99aa7e1a30cb72a6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-06 01:08:27 +02:00
Sze Howe Koh
a15bc0e714 Doc: Show both low- and high-level thread syncing on the same page
Move text from "Thread Basics" to "Synchronizing Threads" for a more
complete overview.

Change-Id: Ib87259ed551fa77278b57c5922df7f4b774a829a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-06 01:08:11 +02:00
Sze Howe Koh
525712b75e Doc: Rewrite section on threaded event loops
- Focus on signals instead of events; programs rarely need to call
  QCoreApplication::postEvent() manually
- Mention QMetaMethod::invokeMethod()
- Reduce verbosity

Change-Id: I170b96bd0134c0bc102ef1a344d4f0b88e504f86
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-06 01:08:01 +02:00
Sze Howe Koh
3b45dfe6e6 Doc: Discuss the concept of thread affinity in more detail
- Create a section dedicated to this concept, which is fundamental to
  signal/event handling
- Move relevant content from the very broad "Thread Basics" page to the
  QObject class ref
- Flesh out existing content, including distinguishing signals from
  events
- Address the common misconception that "member" = "child"; this has
  been encountered several times in the Qt Project forums

Change-Id: I5e7e6c848596e72c0bb623f8442c8389b81ad9ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-06 01:07:52 +02:00
Frederik Gladhorn
4e337ee703 Add Q_DECL_OVERRIDE to accessibility classes
This actually shows two completely unused functions in QAccessibleTabBar
(fixed in follow up patch).

Change-Id: If6f464c022617b2ee1db654936e3ff9931103eb6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-10-05 12:19:02 +02:00
Marc Mutz
0206c1e4e7 QtConcurrent: remove a using declaration in a header file
See Sutter/Alexandrescu, Item 59, for rationale.

Change-Id: Ie689e2a00f9ed0fce1ccfdb77c943dd1b1beb4dc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-05 00:25:26 +02:00
Marc Mutz
c012ee2940 QObject: use per-thread storage for qFlagLocation()
qFlagLocation() uses a global char* array to transport source location
information from the connect() side to the metaobject side. The size
of the array is 2 (two), which just about suffices for a single connect()
statement.

Obviously, if more than one thread makes a (_any_) connection at the same
time, the data is useless and, worse, there's a data race.

The non-reentrancy of qFlagLocations() cannot and need not be fixed,
but use a per-thread flagged_locations array in QThreadData so threads
don't disturb each other.

Task-number: QTBUG-3680

Change-Id: If1797c60751f551694def69afee6fbe295bbe2d2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-05 00:25:13 +02:00
Christian Strømme
d519b085d1 Android: Add private ctors in QJNIObjectPrivate that takes va_list.
NewObjectV() was failing because QJNIObject was calling the variadic
constructors with a va_list, which in turn created a new va_list.

Change-Id: I1cf4c8133f237596964177271a20ca651174e695
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-10-04 21:02:37 +02:00
Gabriel de Dietrich
5bc02ad665 Cocoa: Properly unhide views after they're moved to their own window
Task-number: QTBUG-32221
Change-Id: I12a475c7a5abdc5ba4d7359d694dd62ea97e67c4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-04 19:16:32 +02:00
Samuel Gaist
72d60ea08c Refactor OS X bundle detection for QFileInfo
CFBundleGetPackageInfoInDirectory originally used tests for the presence
of information that are not mandatory in a bundle. The new implementation
uses known bundle extensions as well as Launch Services
to try to find if the bundle is known to the system. Last thing it
checks whether the package bit is set.

Task-number: QTBUG-31884
Change-Id: Ib58996c6ac65194c21238f5f86f78d797e310608
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-04 14:37:22 +02:00
Sze Howe Koh
dd864724b0 Doc: Remove unused variable in QThread snippet
Task-number: QTBUG-33120

Change-Id: Icfc896f0b3cd78ba681e587d78c9e46f8ca89694
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-04 09:58:21 +02:00
Martin Smith
db7501b051 qdoc: Remove algorithm to find common prefix
HtmlGenerator::generateCompactList() no longer uses an algorithm to
find out a common prefix for classes/qml types when generating the
alphabetical lists. The common prefix argument is no longer optional.
To indicate there is no common prefix, pass an empty string as the
common prefix argument.

Task-number: QTBUG-33750
Change-Id: I4b44bbcff909fcea5c7bfd58c6796e303086bc68
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-04 09:40:55 +02:00
Martin Smith
c025d49119 qdoc: Eliminate uses of qmlModuleIdentifier()
The QML module identifier is no longer useful.
The function to generate it is retained for now.

Task-number: QTBUG-32173
Change-Id: Ic811ed432f2059c0370e9e0d86b2e334b5c82a3c
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-10-04 09:40:43 +02:00
Mark Brand
c97e369e70 fix off-by-one error in NTLM proxy authentication
Change-Id: Icee3fc939d81c726f8e4ed484a0c8685cf1f271c
Task-number: QTBUG-27555
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-04 01:19:38 +02:00
sfabry
1c1771effc Fix ssh root certificates path for Blackberry playbook OS.
This was removed by commit 4c8d8a72ec
But without it Playbook OS 2.1.0.1753 could not access ssh properly.

Change-Id: I18e136eaede2a5dffeb10b5fe31023b9aef709cb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2013-10-03 23:32:16 +02:00
Friedemann Kleint
7d4236d281 QTemporaryDir: Output warnings on removal failure.
Change-Id: I38d0a07c355f73899cc5f6eac60bd8cbedc73cb2
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-03 21:43:49 +02:00
Tor Arne Vestbø
f6dc131628 iOS: Implement QPlatformServices to handle opening URLs
Change-Id: Ie644df16b919d6def1435dc5f3665ba3f62fb055
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-03 18:17:53 +02:00
Tor Arne Vestbø
2844be2434 iOS: Delete members in platform integration
Change-Id: Ibb1bf2bf4a1ced897172facbc9027402adfe6f08
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-03 18:17:53 +02:00
Paul Olav Tvete
b3535f3926 Android: Don't throw away slow-moving mouse/touch events
When doing slow, precise movements, some devices will report
differences of less than 1 pixel. This would mark the points
as stationary, meaning that Qt would discard them without reporting.

On the three devices I have tested, stationary points are reported with
a 0.0 difference. If any devices are reporting noisy values, it is
still safer to test for equality, since it is much better to report
too many move events than to not report any.

Task-number: QTBUG-33729
Change-Id: If20f2758f5a5ec0917184345b558f55a3d383807
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-03 16:20:54 +02:00
Tor Arne Vestbø
d2649c50e0 testlib: Don't link to IOKit on iOS, it's not part of the SDK
IOKit used to be part of the 5.x and 6.x iOS SDKs, but not officially,
so when Apple in the iOS 7 SDK removed IOKit headers and the library
symlink, our builds started failing.

Change-Id: I631cab7c106559968c06977fa25157a57402594c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-03 15:43:40 +02:00
Thiago Macieira
08f685e865 Add two enums that weren't handled in the ibase SQL driver
qsql_ibase.cpp:1155:23: error: enumeration value ‘LowPrecisionDouble’ not handled in switch [-Werror=switch]
qsql_ibase.cpp:1419:12: error: enumeration value ‘CancelQuery’ not handled in switch [-Werror=switch]

Change-Id: I3c6102051cde80c81948f5a64f9addcf7a371136
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-10-03 15:43:02 +02:00
Tor Arne Vestbø
2b01ffe552 iOS: Use PROT_READ, not PROT_NONE, for custom stack memory guard
This allows V4 and other garbage collectors to pass through our
custom stack during the mark-phase without triggering access
violations.

Change-Id: Icafcf4df3537c628c641fe694bb9fe2016519a83
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-10-03 15:35:43 +02:00
Samuel Gaist
56cd9cc2b0 Update QSessionManager and related classes documentation
Update the Qt 4 documentation of QSessionManager to reflect the changes
in Qt 5

Task-number: QTBUG-33528

Change-Id: I74286134155efc2781f9f6fc505fb6cf736d814e
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-10-02 11:44:52 +02:00
Sebastian Schuberth
bc962256b4 Remove a duplicate conversion to QLatin1String
Change-Id: I9641090406be2d4bad2b703594e404b4934cbc0b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-02 11:43:33 +02:00
Topi Reinio
35f8bcd438 qdoc: Remove debug code
Remove a piece a debug code from qmlvisitor.cpp

Change-Id: I3a1a72d11597c36d277310c92bf9590633844d03
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-10-02 10:56:03 +02:00
Joerg Bornemann
8dc8fe53f9 QProcess/Win: fix crash in drainOutputPipes
stdoutReader->waitForReadyRead() can synchronously trigger the
deletion of stdoutreader (via signal readyRead(),
_q_canReadStandardOutput(), destroyChannel()).
Analoguous for stderrReader.

Task-number: QTBUG-33730

Change-Id: I8badac53e92a979c437838b2959b4c0445c8de81
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-02 10:45:27 +02:00
Friedemann Kleint
5ad1e2578b Windows/Linux: Cache cursors by mask/pixmap keys and shape.
Task-number: QTBUG-33383

Change-Id: I65a5a0870f50f42c26a4d297331224b3597a36e0
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-10-02 10:43:55 +02:00
Joerg Bornemann
8388b40108 QProcess: remove now superfluous calls to setEnabled(false)
This amends 48061944ef.

Change-Id: Ie5b56c1499a10594b4a4b3c02d5704226ef971ba
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-02 10:43:48 +02:00
Topi Reinio
803253ba73 qdoc: Use empty common prefix for alphabetical QML type lists
This change allows an empty string to be used as a common prefix
for class/type compact lists, and uses it for QML types as they
do not have a common prefix like public C++ Qt classes do.

This fixes the issue with sorting order for QML type lists.

Task-number: QTBUG-33715
Change-Id: I28ab689d28017ae28eccbf590d1dbbe107665e33
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-10-02 10:07:19 +02:00
Paul Olav Tvete
17f16c80e5 Android: update copied enum values in Java code
The InputMethodHint enum values were changed between Qt 4.8 and 5.1, and
the hardcoded copies were not updated. Thanks to Lasconic for finding
the solution to this problem.

Task-number: QTBUG-32072
Task-number: QTBUG-32710
Change-Id: I3eb1192911a9c48d7720e85b91bee1af693a669d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-02 07:40:41 +02:00
Frederik Gladhorn
d14abab0d3 Fix race condition in ~QFileInfoGatherer
tst_qfilesystemmodel was hanging regularly. In
QFileInfoGatherer::~QFileInfoGatherer() it would be stuck on wait() and
in QFileInfoGatherer::run() it would be at condition.wait(&mutex);

It looks like while abort was set to true, the while in run() had just
entered so that it would wait for condition indefinitely.

Task-number: QTBUG-29403

Change-Id: If6cebbc98ec7f54fbdf347804780bbfc5e177b3b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-10-02 03:15:09 +02:00
Thiago Macieira
c74f60b09d Doc: correct QTimer accuracy information - it depends on the timer type
This doc was probably older than the feature of timer types.

Task-number: QTBUG-33760
Change-Id: Iff4c9f9bb7287498f1ee80578b500bbde777bc78
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-02 03:15:09 +02:00
Jan Arve Saether
649e0b6002 AccessibleRelation::get_relationType didn't handle all enum values.
Add some more tests for relations
Change-Id: I934cd6aed36ca5ca88786325ed364fbc3abfc6f7
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-10-02 00:03:24 +02:00
Martin Smith
b906f3919b qdoc: Fixed handling of QML references
Updated qdoc to handle QML references without using the
QML module version.

Task-number: QTBUG-32173
Change-Id: Ibfba9bc92458ae04017706e904625e7d32fc0be4
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-01 18:07:20 +02:00
Tor Arne Vestbø
3bcc44268e xcb: Initialize accessibility lazily, since it requires an event-dispatcher
QSpiAccessibleBridge uses a D-BUS connection, which in turn uses socket
notifiers and timers internally. Neither of these can be used before
a event-dispatcher is in place, so we need to defer creation of the
accessibility interface until later. We assume that clients will
only call QXcbIntegration::accessibility() when an event-dispatcher
is set up, but to be extra safe we do an assert, so that failures of
this pre-condition will trigger at the place they are caused -- not
as failures to register socket notifiers and timers in the D-BUS code.

Change-Id: I4f9d8362a3f285c3da9045d1ff6b8e7b04570488
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-10-01 17:48:21 +02:00
Laszlo Agocs
4e20df5fc5 eglfs: Make QML root objects sized to view working again
The size is queried from the window before create() is
called. Therefore Quick apps were not covering the entire screen as
they should. This is now fixed by properly returning the fullscreen
geometry from QEglFSWindow::geometry() even when create() has not yet
been called.

Pre-5.2 this was working because the QEglFSWindow constructor changed
the window state. This is not feasible anymore with the recent
compositing changes since the second, third, etc. windows are not
fullscreen.

Task-number: QTBUG-33620
Change-Id: If66d35f6f4768485d4e68c5ad825fe7a9d948a64
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-01 12:58:17 +02:00
Joerg Bornemann
48061944ef remove usage of qDeleteInEventHandler from QProcess
qDeleteInEventHandler is a mere wrapper for delete these days.

Change-Id: I0828edf3ca17642b5abf97aab66672490c35f177
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-01 11:57:32 +02:00
Thiago Macieira
57e1c9a7bd Correct the bit field sizes in QTextOption
There's an off-by-one error that has been carried over since at least
Qt 4.0.0. Because of that, the class is actually 4 bytes bigger than
calculated.

Change-Id: Iaefdf657fdc780aae16390fde3c01074160e4cd9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-01 08:19:15 +02:00
Friedemann Kleint
660aed3516 Remove unused static function msecsToSystemtime() from qtimezoneprivate_win.cpp.
Change-Id: I8d6b4c9215fb4499affefd0b892cea1b77aa8ac9
Reviewed-by: John Layt <jlayt@kde.org>
2013-10-01 08:16:39 +02:00
Tor Arne Vestbø
999e5162ec QPA: Fix semantics of GUI event dispatcher ownership in platform plugins
The QPlatformIntegration::guiThreadEventDispatcher() function acted as an
accessor to event dispatchers created in the constructor of each platform
plugin, but the logic and semantics of event-dispatcher handling in Qt
itself (QCoreApplication/QGuiApplication) still assumed both ownership
and control over the event dispatcher, such as when to create one, which
one to create, and when to delete it. This conflicted with the explicit
calls in the platform plugins to QGuiApplication::setEventDispatcher(),
as well as left a possibility that the event-dispatcher created by
the platform plugin would never be deleted, as none of the platform
plugins actually took full ownership of the dispatcher and deleted it
in its destructor.

The integration function has now been renamed back to its old name,
createEventDispatcher(), and acts as a factory function, leaving
the logic and lifetime of event dispatcher to QtCoreApplication.

The only platform left with creating the event-dispatcher in the
constructor is QNX, where other parts of the platform relies on
having an event-dispatcher before their initialization. We then
need to manually take care of the ownership transfer, so that the
event-dispatcher is still destroyed at some point.

Change-Id: I113db97d2545ebda39ebdefa865e488d2ce9368b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-30 16:32:29 +02:00
Friedemann Kleint
a2bf063dd4 Fix syncqt warning about include in qopenglpixeltransferoptions.h.
WARNING: qopenglpixeltransferoptions.h includes QSharedDataPointer
when it should include QtCore/QSharedDataPointer

Change-Id: I0a84a37d2f4e310535979ef97b81937d2b2b2313
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-09-30 14:31:33 +02:00
Thorbjørn Martsum
f08cc1dabe QMessageBox - make detail text work on set after show
Our manual test reveals that a setting a detailed text
after it is shown does not work.

This patch fixes that minor issue.

Change-Id: I4930880def2d8361d247e943e1a848dd49ca3882
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-09-30 13:47:36 +02:00
Tor Arne Vestbø
1256ed05b2 xcb: Don't connect() to event-dispatcher until we are sure we have one
QCoreApplication sets up the event dispatcher in the constructor, through
createEventDispatcher(), which is overridden in QGuiApplication to take
the platform-integration into account. The problem is that the platform
integration is created before the event dispatcher, so when we create the
QXcbConnection we are not guaranteed to have an event dispatcher yet.

This is not an issue when using xcb_poll_for_queued_event() in a thread,
but for the fallback case we connect to the event-dispatcher's awake()
and aboutToBlock() signals. To ensure that we do this only when we have
an event dispatcher we post a queued method invocation, that will be
processed as one of the first events once there is an event-dispatcher.

Change-Id: I623011af447b585884b84c7559737f134aab83e8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-09-30 13:45:16 +02:00
Laszlo Agocs
e5ae6d896b evdevtouch: Do not print device information by default
Do it only when requested by having QT_QPA_EVDEV_DEBUG set.

Change-Id: I0e28808ae972bf681db3c0878ee53732611d11af
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-30 11:37:52 +02:00
Sean Harmer
14d2c01262 Fix check in texture cleanup code
Change-Id: Iaf91cf27d64aedb71a8af7ba318ff1231ff11b0d
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-09-30 11:37:52 +02:00
Mitch Curtis
00a8f0b643 Fix grammar in QScopedPointer.
have => has

Change-Id: Ib77110b8ffd2f970e15c2159480e56be9ef964ca
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-30 11:37:52 +02:00
Thiago Macieira
b32e0da8eb Fix bootstrapped build of QCoreApplication
696060134d introduced the use of
QBasicMutex and QMutexLocker (qmutex.h) but that wasn't #included. I
don't know in what way my build is different, though.

Change-Id: Ie3df3c746fdf1c4735f298c3578cd93a9a14327e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-09-30 11:37:52 +02:00
Andrew Knight
248f29075e qfeatures: Allow QFileSystemModel without QFileSystemWatcher
As of 373e44d, QFileSystemModel can be built without QFileSystemWatcher
support, making this define incorrect.

Change-Id: I1c18dc4f323f94b43f4e49646911fd06b0f01f73
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-30 08:56:46 +02:00
Mandeep Sandhu
f30641a7f8 Fix error signal supression for failed DNS lookups
Sometimes the signal QNetworkReply::error(QNetworkReply::NetworkError)
is not emitted for certain requests.

This happens under the following conditions:

* The hostname provided in the request is incorrect, i.e it will
  result in a DNS lookup failure.
* There is a previous request, for the _same_ host, already pending.

The first request that comes for the (incorrect hostname) url, gets
enqueued via QHttpNetworkConnectionPrivate::queueRequest(). Here,
after starting a DNS lookup, we mark the network state of this
connection as - "InProgress".

Now, if a second reuest comes for the same host, we use the existing
HTTP connection object as it's present in the cache. However, when
enqueing the request (in queueRequest()), we see that the network is
NOT in "Unknown" state and return immediately without adding this new
request to the list of pending lookups (via QHostInfo::lookupHost()).

To fix this issue, we should queue incoming lookup requests, even if
the current (HTTP) connection is in the "InProgress" state, so that we
can inform the requestor of a failed lookup. Since
QHostInfo::lookupHost() handles lookups for duplicate hostnames
properly, things should be fine even if multiple requests for the same
host have been enqueued.

Task-number: QTBUG-32911
Change-Id: I6a9c8430121e9a5a2d45983b6bda70c324437992
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2013-09-29 16:44:04 +02:00
Jędrzej Nowacki
0f3315a4dd Remove redundant code.
QPair is documented to initialize members

Change-Id: I1dccfd265521ca3ca1a648b161c0a163c72e2f2e
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-09-29 14:14:42 +02:00
John Layt
475cbed244 QDateTime - Fix round-trip of second occurrence times
At the Daylight Tme to Standard Time transition, the local time repeats
itself, i.e. 2am occurs twice. Qt's behavior when setting this using
the local time is ambiguous, as it depends on the system implementation
of mktime, which behaves differently on different platforms.  Currently
this behavior remains undefined.  When setting using an msecs or time_t
value however we can determine the correct instance to use and cache it
to ensure that any conversion back from local time to msecs is performed
consistantly on all platforms.

Note that caching this value will result in any calculations being wrong
should the system time zone change, or its rules change.  This will be
fixed in Qt 5.3 when the system time zone change signal is implemented
and QDateTime switches to using QTimeZone instead of mktime to provide
consistnt behavior across platforms.

The QTimeZone spec does not require this fix as it already caches the
correct offset in setMSecsFromEpoch().

Change-Id: I799588db474e744a6d81e80f6a0442920569ebd3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-27 21:47:55 +02:00
Geir Vattekar
3705c1263d Doc: Add docs for rvalue references and move constructors
These members were introduced in 4.8, but left undocumented. Because we
consider undocumented API to be internal, the members are \since 5.2.

Change-Id: I52e2840a8cfaa7f59f410b3e2a06c0942ea06539
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-27 21:47:55 +02:00
Tor Arne Vestbø
a0792f0e51 iOS: Add explicit dependency on the Foundation framework for QtCore
First of all it needed on both OSX and iOS, and secondly it's required
for our Qt APIs, now that we provide conversion functions to Foundation
types such as NSURL and NSString, so it should be part of LIBS, not
LIBS_PRIVATE.

Change-Id: Ida4977d6aa0e76b3d1b8b565672c00a8526e3381
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-27 20:10:56 +02:00
Jędrzej Nowacki
bb26e087bd Reduce QtNetwork lib size by 16111 bytes.
Warning message was repeated multiple times inside the library.

Change-Id: Idcd417dda22de189893db597acfc36c2aa99d078
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-09-27 18:31:23 +02:00
Jędrzej Nowacki
4aca7847be Fix open ssl forwarding macros.
This patch fixes them in many ways:
- use Q_UNLIKELY to mark an error case
- reduce QtNetwork library size by 40315 bytes
- fix DEFINEFUNC9 which had wrong logic, happily it was not used
anywhere

Change-Id: Ic46a569f85aa22a00ecd88158e60c52f4665ec4c
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-09-27 18:31:23 +02:00
Paul Olav Tvete
ec716cc5bf Android: Handle new QtTraceMsg in message handler
Change-Id: I3eb6fa42044ff4bdd0219925abf9d18cad60de7c
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-27 18:31:23 +02:00
Thorbjørn Martsum
a94e932945 QVarLengthArray - doc fix.
QVarLengthArray actually does support iterators.
It was added in Qt 4.8.

Change-Id: I9f714a09eab1d2e5dc023bd701ab7c743b078ec0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-09-27 16:40:14 +02:00
hjk
9ff81bdc1a Use a pimpl in QLoggingCategory
With the usual pros/cons. Cleans up the publicly visible
interface and gives some headroom for further extensions.

Change-Id: I7237b1fd2a22c66574d1b7e532d99137bb56ce1d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-09-27 16:18:29 +02:00
Morten Johan Sørvig
29585ec3d3 Fix regression in trackpad scroll event handling.
bab29dd76 changed scroll event handling to update
the keyboard modifier state during scroll event streams
and brought back the bug where Qt Creator would suddenly
change the font size if you pressed the command key
while scrolling.

Use momemtumPhase to detect scroll event streams.
momemtumPahse will be NSEventPhaseNone as long as there
are fingers on the trackpad. After liftoff it will
have a different value, and at this point we freeze
the keyboard modifier state until the scroll event
stream has ended.

This approach does not interfere with normal mouse
scroll wheels since momentumPhase is PahseNone for all
such scroll events.

Change-Id: I668ade8e794a97491487c9465366a316a7d6a9c8
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-27 16:08:31 +02:00
Morten Johan Sørvig
6afb057962 Clear m_activePopupWindow on popup close.
QCocoaWindow keeps track of popup windows in order
to close them when appropriate, for example on mouse
clicks outside the popup. In this case the mouse click
will be used to close the popup, and will not be
send to the QCocoaWindow.

Clear m_activePopupWindow when the popup is closed
to fix a bug where the first mouse click after
closing a popup would have no effect.

Change-Id: I7a3e850e4fbf4686540d5d89dac6d7b613ed10a4
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-27 16:03:36 +02:00
Friedemann Kleint
4b755ffa6d QWindowsWindow: Output warnings with classname/objectname.
Change-Id: I55a165669dbcadf2bd06b2315b1db43b092a1758
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-09-27 12:44:18 +02:00
Michael Krasnyk
bdfbc9e493 qdbusxml2cpp: Fix annotation value in an introspection string generator
Unescaped annotation value causes for harmless values in an XML file, for instance,
'value=\"QList&lt;uint&gt;\"' a DBus exception, like
dbus.exceptions.IntrospectionParserException: Error parsing introspect data

Task-number: QTBUG-26668

Change-Id: Ie1eb519aec5228da0591d62c3aa5b6dec5790eb9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-27 10:29:18 +02:00
Oliver Wolff
f911e87345 Win: Fixed namespaced build with QT_NO_FILESYSTEMWATCHER
Change-Id: I70049b90d2071c7a23a8a2804842d70d0f583f19
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-27 10:15:35 +02:00
Topi Reinio
cf5470e170 qdoc: Correct location info for typedefs with associated enums
For typedef nodes that have an associated enumeration, qdoc
generates incorrect location info (written to index files)
by simply appending '-typedef' to the node name.  The correct
location to link to is the associated enumeration, if one
exists.

Task-number: QTBUG-33684
Change-Id: I749171ccae9ccc10f084a40fda14e72d5f4d44cf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-27 09:43:30 +02:00
Friedemann Kleint
61c49611fc Windows: Use PostMessage for clipboard notifications for debugged apps.
Task-number: QTBUG-33492

Change-Id: I68af5f8ad767c55c95f758259cbb5d8a8080e70e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-27 09:32:28 +02:00
hjk
00da2e615e rcc: Remove compile dependency on private headers.
Not needed anymore now that it's using the new commandline parser.

Change-Id: I1a44c8658d128e4fbb9a6fc5000025f55e5293c2
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-26 22:25:10 +02:00
Gabriel de Dietrich
06e7d61b68 Cocoa: Allow widgets to receive events event when no app is running
This is necessary for QMacNativeWidget, where there exists a QApplication, but
is never executed. This directly translates in calls to the event dispatcher's
processEvents() function, whose calls we keep track. If no calls have been made,
we always allow timer and posted events to be processed.

Change-Id: Ia0062ee8c59a2572082f520a2eb85ed44a9856a7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 22:25:10 +02:00
Gabriel de Dietrich
79561dd899 QMacNativeWidget: Background should be transparent
Cocoa will draw it for us.

Change-Id: I73c124749658ae76c97afe95b81b78c7ff15c378
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 22:25:10 +02:00
Gabriel de Dietrich
79fc0ff67a QCocoaBackingStore: Initialize non-opaque images with transparent color
In particular, this is needed when a QWidget has WA_TranslucentBackground set
and nobody is painting anything behind it (except maybe some native view).

Change-Id: Ib1f0714f85fa7eeced527617ecd09bb2ed6ddfc9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 22:25:10 +02:00
Topi Reinio
c533e80e31 Doc: remove duplicate \externalpage definitions
Delete all duplicate \externalpage definitions from
corelib, printsupport and testlib sources.

Change-Id: I7dc5358861f4dad3e8ce080619b61ca3da64ec85
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-26 22:25:10 +02:00
Shawn Rutledge
f37990712b [QNSView viewWillMoveToWindow:] remove observer from previous window
Even if there is not a new window, the notifications from the old one
are not needed.

Change-Id: I9c1858d25e49379ca4737e23beec06623e91b69c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-26 22:25:10 +02:00
Liang Qi
5b70efb125 Mac: QWizard default background pixmap works again
Task-number: QTBUG-26722
Change-Id: I579111b5d34f8e3cdc6bb016d9c0e42ec3ffb8c9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Stephen Chu <stephen@ju-ju.com>
2013-09-26 20:42:33 +02:00
Vitalii Shastun
5889b239b1 Fix QT_NO_PRINTER build on Mac
On Mac the QT_NO_PRINTER build was not implemented.

Task-number: QTBUG-33565
Change-Id: I118472f9400aa0a0d0e192ae39a11ea38a66f340
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-26 20:42:33 +02:00
John Layt
77dc33dcdb QLocale - Fix Mac date format code translation
Mac uses the CLDR format codes which need to be translated into their
Qt equivalent.  The existing code mistranslates the year code, is
outdated for a number of new codes introduced in recent versions of
CLDR, and by default accepted any codes it didn't recognize.

This change updates support to the latest version of CLDR, fixes the
treatment of years, and defaults to ignoring any new format codes
added in the future.

Note that this change cannot have auto tests written as the system
locale formats change between versions of OSX.  Testing must be
done manually by changing system locale and formats.

Task-number: QTBUG-25057

Change-Id: I69dda25b4a0b38d3971995644546306876922d57
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 20:42:33 +02:00
Laszlo Agocs
279db88c39 Correct the detection of Windows-generated mouse events
Check only bit 8 to decide if the mouse event is generated from
a touch or pen event.

Task-number: QTBUG-33460

Change-Id: I83b23267b5de6df5e0e6b7113ecf377dd7e86c84
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-09-26 18:45:16 +02:00
Laszlo Agocs
091ca0ede2 evdevtouch: Fix ABS limit queries
Add the missing parentheses around the conditional
expression. EVIOCGABS and similar macros do not have guarding
parentheses in older kernel headers.

Change-Id: I5f464351e9407d90643d4e73d4afdbb2ad88b02b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-26 18:45:16 +02:00
Laszlo Agocs
4ec31ce56a evdevtouch: Avoid duplicating points in released state
Points in released state should only be removed from m_contacts after
the disappeared-since-last-sync is done. Otherwise the same point can
appear twice (both times in released state) in the same event.

Change-Id: Ia751054c3fe893006a090bdce96a64738d8388ac
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-26 18:45:16 +02:00
Marko Pellikka
e120ad442d QString::reserve fix to avoid truncation
In case of implicit memory sharing, QString::reserve caused data
truncation if given size was smaller than size of data.

Task-number: QTBUG-29664
Change-Id: If2da5ad051385635ebb829c18b5ebaa349f08e8a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-09-26 18:45:16 +02:00
Gunnar Sletta
2864ba28e1 Remove code that doesn't do anything.
Change-Id: Id2528167f21e1ab81b998ceb808a9fc4a24b239a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-09-26 18:45:16 +02:00
Tor Arne Vestbø
a3530859e9 Expose QTest::currentAppName() and remove hard-coded argv[0] in tests
Except where we're actually testing QCoreApplication::applicationName()
and friends.

Change-Id: I25514884c11f43a4f82b1f818f822dc3d79f69a3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-09-26 18:45:16 +02:00
Tor Arne Vestbø
696060134d Make QCoreApplicationPrivate::appName() thread-safe
Change-Id: Iea0d208e3e4721fff8a6667e0df1203a887c29d3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-26 17:02:25 +02:00
Jerome Pasion
9bd350d03d Doc: Adding "qtdoc" to the depends qdocconf variable.
-needed to link to Qt 5.2 docs (as seen on the navigation bar)

Change-Id: Icc0bdb95231dbccd0393d4f401daafd8bcb30472
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-26 17:00:26 +02:00
Eskil Abrahamsen Blomfeldt
39e04b0222 Remove logic which changes install rules inside Qt dir
A common problem is that examples and other apps are unusable on
Android when they are inside the Qt directory. There doesn't
really seem to be any good reason for having a special case in
place, since this will only affect applications which are not built
with the host toolchain, and we aren't building any command line
apps for the target devices. So the only thing this will affect are
the examples and we want those to be installed into the correct
path.

Change-Id: Ibae365e06eb77944f11e596c16c3c5baf798848c
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-09-26 08:40:38 +02:00
Marc Mutz
935e52108d QtConcurrent::IterateKernel: fix a race on a cache variable
getticks() can be called concurrently, so accessing a non-atomic static long,
even when the assignment will produce the same value in evey case, constitutes
a data race.

Fixed by making 'useThreadCpuTime' atomic.

Since atomic long's might not be supported on all platforms, use an
atomic int instead. To avoid a narrowing conversion, and since we're
not interested in the return value of sysconf(), only whether it
succeeded, convert any non-error return value to 0 prior to storing
in the atomic.

Change-Id: Ic285f7801327b30ddcd9c24bf1ccee3112a447b1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-26 06:31:32 +02:00
J-P Nurmi
c66d42f972 QKeySequenceEdit: cleanup unused member variable
Change-Id: Ib1197aee7589be0afd0c639b362bf1c3fceffeb4
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-26 06:31:11 +02:00
Tor Arne Vestbø
f04b46f34e Don't assume QCoreApplication::applicationName() will never change
Tests will typically create multiple QCoreApplications, some of them
with different argv[0] than others, so we can't use a static variable
to keep the cached application name.

Change-Id: Icd97527730558944473a71373326b4a82f1b7cf7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-25 21:21:24 +02:00
Matt Hoosier
1749bab565 Allow QDir::mkpath() to work on QNX QNet paths
Due to a quirk in the way that QNX's mkdir() implementation reports
return values when the requested pathname is the mountpoint of a
QNet filesystem, the usual recursive directory creation algorithm
used by QDir fails if the destination directory happens to exist
inside QNet.

This is an artificial failure; the desired directory can still
be created with the normal mkdir() algorithm. There just needs to
error handling in place to allow the recursive creation of parents
to recognize this situation.

Change-Id: I350fd9cb39858570032f9146c1154a9287701569
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-25 21:07:51 +02:00
Christian Strømme
1db9075482 Android: Use the application's class loader when loading Java classes.
Previously the system class loader was used, which meant only system
Java classes where available. With this change it's no longer necessary
to add a JNI_OnLoad() to get a handle to application specific classes.

Change-Id: Ic8fe35b4e525bfeb1d317d5ba6b496e39bf9bb30
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-09-25 20:32:31 +02:00
Gabriel de Dietrich
9a683bfb84 QCocoaApplicationDelegate: Play nice with the user's application delegate
We tended to ignore the original application delegate a bit too often.

Change-Id: I0844c8658d128e4fbb9a6fc5000025f55e5293c2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-25 18:23:01 +02:00
hjk
466e0dff4b Add tracing to logging framework
Change-Id: I4d5b9a24a214785019ff1238c1790ead79205b15
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-09-25 18:21:45 +02:00
Sérgio Martins
774d74df91 Fix WinCE/MSVC2008 build errors related to std::lower_bound patches.
See QTBUG-33473 for more information about this compiler bug.

Change-Id: I13b945350fdc38165c1515f0cdd75a53cf37cd6c
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-09-25 17:22:52 +02:00
Mitch Curtis
d730e07d01 Fix truncation and conversion warnings on MSVC2010.
Change-Id: I44845e13b97753333a7c80a80ead0b352b8906b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-25 13:40:29 +02:00
Mitch Curtis
a1a00fc862 Fix configure warnings on Windows 7 with MSVC2010.
Change-Id: I5c4e27d6437cdf7b0dfd17df812d4506d1be4fb9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-25 13:39:14 +02:00
aavit
7247cb9e4a Fix: warning/compilation issue on android
Compiler would complain "error: format not a string literal and no
format arguments [-Werror=format-security]", since the third argument
of __android_log_print() is actually the format string.
__android_log_write() is anyway more suited since we're not using any
format here.

Change-Id: Ic19102a9f15038a7cfcb06b605d7b9a73c3e1175
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-09-25 13:31:51 +02:00
Yoann Lopes
283ba0ef01 Android: remove environment variable warnings at app startup.
Change-Id: I8542809fd16465a29b4fb7e8276b63d71e1b9c0e
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-09-25 13:25:33 +02:00
Lars Knoll
e358c0095e Fix warning about uninitialized variable
Change-Id: I9c1a04556d4c77183d7025ca33314e7dfbf953ab
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-25 11:13:05 +02:00
Friedemann Kleint
f83fa3c95e Fix a crash in QProcess signal handling on Mac.
On Mac, SA_SIGINFO can be set while the handler is SIG_DFL.

Change-Id: Ibaeaa1612e27217826841d7400309c45b5a101ea
Initial-patch-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-25 09:21:54 +02:00
Yoann Lopes
445efa40a2 Fixed QJNIEnvironment reference counting.
Change-Id: I02369e0c6472375efeffed577d39b764c591e025
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-09-25 08:33:49 +02:00
David Edmundson
0b1e30aee4 Add shortcutsOverride in QLineEdit for used shortcuts
QLineEdit uses shortcuts to QKeySequence::DeleteCompleteLine and
QKeySequence::MoveToEndOfLine

These shortcuts were not in the overrideShortcuts which can
cause erratic behavior.

Change-Id: I69e2b00e38d3f0e48a20f91f08a22b3fae9b7c48
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-09-24 21:46:24 +02:00
Jerome Pasion
6621188515 Doc: Restore QDoc's use of the \since
-one argument: assume it is the Qt version
-more than one argument: copy verbatim

Task-number: QTBUG-32172
Change-Id: Iaf5ec538f23abf4d1dfdf50bffcbbdede56d0b22
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-24 18:02:55 +02:00
Gabriel de Dietrich
6cdd9928ab Cocoa: Use internal style mask to disable resizing popup parents
Using QCocoaWindow::windowStyleMask() resets some private flags
Cocoa sets when showing sheets.

Task-number: QTBUG-33126
Change-Id: I34f0713f98e81e7010b0b7620ee24ea30f04dcff
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-09-24 17:48:13 +02:00
Richard Moe Gustavsen
d25eead30f iOS: bugfix touch events to also work in inverted portrait/landscape
This patch simplifies the implementation of touch events to use a
views superview for calculating global touch coordinates rather than
the screen. This removes the need for taking orientation
into account, and will also play better along in a mixed environment.
This will also fix touch events reported for inverted orientations.

Change-Id: I0c8fd8745a1f65f0f4a97447a5676a38165ed032
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-09-24 14:33:00 +02:00
Sérgio Martins
8f22ae5c1e Windows: Increase the max length of a system tray tooltip.
It's 128 on Qt4, so lets maintain that limit.

On older Windows versions (< WIN2K) 64 will be used.
Change-Id: I96156c6f142e6e095227cc5a13f2b653408df968
Task-number: QTBUG-33461
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-24 14:33:00 +02:00
Martin Smith
a252f434e6 qdoc: Import statement now shows correct version
The Import statement shown at the top of each QML type
page now always gets the version number from the QML
module page for the QML type's module.

Task-number: QTBUG-32153
Change-Id: I57649c07ea680806bc92ad62fb3bc4d4fb56f717
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-24 14:33:00 +02:00
Giuseppe D'Angelo
458837ba09 Remove some qBinaryFind usages from the Cocoa helpers
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I374ee2c88ee18d20fb2b295c936adaca1d696199
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-24 12:56:48 +02:00
Sérgio Martins
62a85ae39e Fix WinCE/MSVC2008 build.
See QTBUG-33473 for a similar problem.

Change-Id: Ib446618945dc1e7e1e7d43819cfae5f3c411f1bb
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-24 12:56:48 +02:00
Yoann Lopes
1ac094321c Android: fixed arguments passed to the Qt application.
Removed extra empty parameter.

Change-Id: Iad5becf05801118d0f6d2ec2cc1ec255eaa9e872
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-09-24 12:56:48 +02:00
Ivan Komissarov
f3a723f2ec Add QKeySequenceEdit
Change-Id: I497309d3e6cbf38b298afb5ff3cb1ed6a0e82000
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-24 10:55:17 +02:00
Eskil Abrahamsen Blomfeldt
75abfa8982 Support logcat output from tests on Android
We usually do not have a console, so print out the messages
to the log as well, so that it's easier to run single tests
for debugging.

Change-Id: I31908977aac25a6f6716f8245206b01026234aa9
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-09-24 10:54:23 +02:00
Giuseppe D'Angelo
e4ce1790b1 Remove some qSort usages from QTimeZone
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I974d41e986c67d1883c7d8dec879edd1fcbd08c2
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-24 10:20:57 +02:00
Stephen Kelly
72d6717b26 moc: Don't stumble over MSVC __declspec.
Commit 310031188c (Fix moc stumbling over gcc __attribute__
extensions, 2012-10-01) applied similar logic for GNU style
attributes.

Change-Id: I550eaefd703b4e974e6ffae7716f02074c8a8823
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-24 10:09:14 +02:00
Robin Burchell
e8af66f906 Add newlines to qEmergencyOut output on stderr.
qt_message, in the regular case, calls qt_message_print, which invokes the
default message handler (qDefaultMessageHandler), which uses
qMessageFormatString to construct a string, and then platform-dependent methods
to print this out. This means that qMessageFormatString's newline is the one
that separates debug messages.

Unfortunately, in the emergency case, we don't have this luxury of doing
formatting: so just make sure to add a newline so output is readable.

Change-Id: I8f7bbceb9347b6312748f0f426feebaf04f6a226
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-24 01:04:16 +02:00
Andy Shaw
be8999038f When calling setPageSizeMM then the size needs to be passed as MM
This simplifies the code a bit and ensures that it is respecting what
the relevant function expects the size to be as.

Change-Id: Iec88fab84c27a33d6f1a9e9413ea6beb0a39c68d
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-23 23:17:35 +02:00
Giuseppe D'Angelo
ddefc7627d Remove qBinaryFind usages from QtCore
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I6207982c08c92f3e01fb236d2e7546a1c9acd287
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-23 21:20:47 +02:00
Giuseppe D'Angelo
7a6a902e2d Remove some qBinaryFind usages from the CUPS printing code
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I0f9c8db3ede32570a1fd6cc43a31e2fc76ab2a0a
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-23 21:20:47 +02:00
Giuseppe D'Angelo
b768c0c801 Remove a Borland-related inclusion
There are no calls to qSort in the file any more.

Change-Id: I5534271a75065998d5a98147a0d19850318c940c
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-09-23 21:20:47 +02:00
Giuseppe D'Angelo
893a9e1cf8 Remove some qBinaryFind usages from QtWidgets
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I7e4a5a4010b0ded59dbe2cacc6afe23ae4121bfe
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2013-09-23 21:20:47 +02:00
Giuseppe D'Angelo
bacbf1fcf3 Remove some qBinaryFind usages from QtGui
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: Iecb921cd778571d24680254566e9aa8fc8d5edff
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-23 21:20:47 +02:00
Giuseppe D'Angelo
cc778e1d21 Remove some qBinaryFind usages from QtGui
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I9cbb1790f94e7726e127b9ad1bd5a58c433055a8
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-23 21:20:47 +02:00
Giuseppe D'Angelo
505579ebe4 Remove a Borland-related inclusion
There are no calls to qSort in the file any more.

Change-Id: Ifd65b543941ab90d6a1ed4e318d925bdbf3f454e
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-23 21:20:47 +02:00
Andrew Knight
373e44df12 QFileSystemModel: Fix build when QT_NO_FILESYSTEMWATCHER is defined
This class already has some guards for QT_NO_FILESYSTEMWATCHER; implement
the rest.

Change-Id: I97072c9cd1debb726f9d10ff49ff0c01bbb9bc6e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-09-23 19:38:12 +02:00
Thiago Macieira
e43174755c Fix warnings about conversion from const char* to QString.
Change-Id: I6d3dca0688a94eb34b55efc841a75e4ebd3a2bd7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-23 19:38:12 +02:00
Thiago Macieira
c81d0586b5 De-inline virtuals of some non-exported private classes in QtGui
This is to work around a bug in GCC 4.7's link-time optimiser. Without
it, linking QtOpenGL and QtPrintSupport fails because the compiler
generates the code for the virtuals, including the virtual table, but
not the methods.

Change-Id: Idcecd51c32e6228e0eefe67f1bd630ea1f5d5da7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-09-23 19:38:12 +02:00
Thiago Macieira
58b08ba40b Fix conversion from 8-bit to QString without proper encoding
Found by ICC.

Change-Id: Icd89e7df828afdb2acf2c46e00698ef04d5d94c9
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-23 19:38:12 +02:00
Bernd Weimer
645f9d959f Fixed build issue on BlackBerry
BlackBerry build was missing QTzTimeZonePrivate implementation.

Change-Id: Ieaf6148a67c66f330e846c93f829ca17a4494359
Reviewed-by: Mehdi Fekari <mfekari@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
2013-09-23 17:49:56 +02:00
Jan Arve Saether
bb9cc387f0 Fix a c&p bug in the IA2 bridge when returning the row description
Unfortunately we returned the column description when the AT client
asked for the row description....

Change-Id: I46bc0edb4fd0f7cc6d98d7d6e0d8ca6f77553a26
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-09-23 16:08:34 +02:00
Martin Smith
f5b3224cb5 qdoc: \externalpage links are fixed
The problem was they were being incorrectly written to
and read from the index files.

Task-number: QTBUG-33510
Change-Id: Ib0b34265cd22fff5ed88ae2fd5d5d7ea58b3761d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-23 12:36:55 +02:00
Richard Moe Gustavsen
2d00d3951d qios: always auto rotate as specified in Info.plist
Before this patch, we would only rotate if no autoRotationMask was set.
This was a temporary way to lock orientation from code until a better
API for this was in place.
But this causes problems for applications that both wants to auto rotate
but at the same time sets a mask to get QScreen::orientation
updates. So remove this heuristic before application code starts to
depend on it.

Change-Id: Idb54abd471b33afd866322738f4860c57bc9dcf7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-09-23 09:20:03 +02:00
Morten Johan Sørvig
68b42cd595 Port QMacCocoaViewContainer to Qt 5.
Includes example.

Change-Id: Ifdda5c535d0ec41694712405d921b2c32cb8dfc8
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-23 07:18:27 +02:00
Morten Johan Sørvig
f370f77e48 Port QMacNativeWidget to Qt 5
Also adds examples/widgets/mac subdir for Mac specific examples,
starting with one for this feature.

Change-Id: I4cc7d84ce3d7562259d6206faa5d6996c2392a3e
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-09-23 07:18:24 +02:00
John Layt
55f5b29d79 QDateTime - Add QTimeZone support
Add support to QDateTime for time zones using the new QTimeZone class.

[ChangeLog][QtCore][QDateTime] Add support for a new Qt::TimeZone
spec to be used with QTimeZone to define times in a specific
time zone.

Change-Id: I21bfa52a8ba8989b55bb74e025d1f2b2b623b2a7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-23 01:14:03 +02:00
John Layt
8af776d414 QTimeZone - Add Windows backend
Add backend implementation for Windows times zones.

Change-Id: I30946f6672488c3f1d1d05754e9479aa62cce46f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-23 01:13:58 +02:00
John Layt
7ed7d66b5a QTimeZone - Add Mac backend
Add Mac backend support

Change-Id: Iafa2dbd925e18431f571e3eac62983015f8bc977
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-23 01:13:49 +02:00
John Layt
8dfaf91038 QTimeZone - Add TZ File Backend
Add a backend for TZ Files.

If available uses ICU for the display names and  translations, otherwise
the abbreviation is used.

Change-Id: I58c777462810b1a76ea7bd95886836b70b8a3db5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-22 22:21:24 +02:00
John Layt
9c2cbee2b1 QTimeZone - Add ICU support
Add ICU backend for QTimeZone

Change-Id: I92e53a848477e366591102064b093e936f0b49d2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-22 22:21:19 +02:00
John Layt
48e2c3ac33 QTimeZone - Define new class and api
Implement the new QTimeZone class based on the Olsen Time Zone ID's.

This is the base implementation and does not include the Platform
backends which are implemented separately.

This change does include a default UTC backed to be used if no Platform
backend is available, i.e. if QT_NO_SYSTEMLOCALE is set and ICU is not
configured.  This backend also provides a default set of time zones in
the standard "UTC+00:00" offset format that are guaranteed to always
exist regardless of the Platform backend.

This change includes conversion functions between the Olsen ID's and
Windows ID's using a conversion table based on Unicode CLDR data.
This is implemented for all platforms for scenarios such as a Linux
program needing to communicate with a Windows Exchange Server using
the Windows ID.

The CLDR conversion table is included under the UNICODE license, see
http://unicode.org/copyright.html for details.

[ChangeLog][QtCore][QTimeZone] Added new QTimeZone class to support
time tone calculations using the host platform time zone database
and the Olsen time zone ID's.

Change-Id: Ibb417d08cf2663a0979d2be855d2c6ad6ad01509
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-22 22:21:15 +02:00
Marc Mutz
ab55f9f39b Q_STATIC_ASSERT: use __COUNTER__ instead of __LINE__ if the compiler supports it
When using __LINE__ to construct unique names, use of Q_STATIC_ASSERT
is limited to one instance per line of code. On compilers that support
__COUNTER__ (GCC and MSVC, probably others), we can get around that
limitation by using that one to always get a new unique number, so
use it.

Change-Id: I89bcfaa32376b7a665f03e4275e89b13fa3e650d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-22 10:32:42 +02:00
Sean Harmer
1b34df6ea6 Long live QOpenGLTexture!
Task-number: QTBUG-33274
Change-Id: I9259d947d11f8ba330a2cd7f5620d8f1af0a804b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-22 08:56:47 +02:00
Thorbjørn Lund Martsum
42d681f9cf Add widget replace function to QLayout
Sometimes it is nice to be able to replace a widget in a layout.

Change-Id: I23a6a65e417e94d53bc48639503db1a142bc3f10
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-09-21 23:17:55 +02:00
Marc Mutz
e327ba191d QTest: microoptimisation
Change-Id: Ifd053870c270a2c0a0a33c8201e40aaa9a9f9041
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-21 18:39:13 +02:00
Marc Mutz
6611f04879 QFutureInterface: wrap a pair of {release,reserve}Thread() calls with RAII
Rationale: a wait on a condition-variable is usually a cancellation point.
On Posix, and probably in C++ at some point, a thread cancellation is
done by (a kind of) exception unwinding the stack. To ensure that
we call reserveThread() in all cases, wrap the function pair in a RAII
class. Even if we currently don't seem to support exceptions in QtCore,
this is low-hanging fruit, and no worse than what we had before.

Change-Id: Ifb0f428ea50f9ac12be14e620615f46e00d3dd91
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-21 18:39:13 +02:00
Sergio Ahumada
4cebef621b Merge "Merge branch 'stable' into dev" into refs/staging/dev 2013-09-21 18:39:13 +02:00
Jędrzej Nowacki
8969f57b6a Improve qdoc performance.
Valgrind blamed CppCodeMarker::addMarkUp as slow, the patch improves
situation by ~12%

Use of QStringLiterals instead of const char* reduce amount of
allocations on startup.

Change-Id: I8737e02785506bba7e23868ab3952eab09d543d2
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-21 18:39:13 +02:00
David Edmundson
cab86ec3ed Replace hardcoded shortcuts for X11 in QLineEdit with StandardKeys
Added Ctrl+E to the X11 shortcuts for "move to end of line"
Added new StandardKey DeleteCompleteLine bound to Ctrl+U

Updated QLineEdit to use these standard keys

Change-Id: I24e5dd3b4fed9f6c15f0d1a00be682734e2485a4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-09-21 18:39:13 +02:00
David Edmundson
3edc1a4b91 Fix last standard keyboard shortcut
Binary search only counted up to < N-1 items, which does not
include the last value

Change-Id: I40e620db3f834fce8776119d7533c157a4a02492
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-09-21 18:39:13 +02:00
Sergio Ahumada
a5d34b34fb Merge branch 'stable' into dev
Change-Id: I37d85631ab1165ab91457d8880c4da907a9df73b
2013-09-21 17:33:15 +02:00
Frederik Gladhorn
b751fcf32a Fix some doc errors.
Change-Id: Ib874d7e9671d9cee75fe41f4dac5d0de7b09245e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-21 17:04:41 +02:00
Robin Burchell
5957f245c6 Mark most of the contents of QtAlgorithms as deprecated.
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: Ic31c052e7f35c576250bf11826ca82e371142c82
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-09-21 13:59:01 +02:00
Giuseppe D'Angelo
9bb99d8130 Remove qFind usage from QCoreApplication
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I1a067a4262d5442fb118089b859cad4dc1748c40
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-09-21 13:58:47 +02:00
Samuel Gaist
ac0bacc8af Port of Qt 4's Windows session management
This patch aims to implement the session management for Windows.
Based on the Qt 4 QApplication windows specific code

Task-number: QTBUG-28228
Task-number: QTBUG-33032
Change-Id: I7059298ad9661aebd51e77a03f55a7a04f461479
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-09-21 07:45:44 +02:00