Commit Graph

15783 Commits

Author SHA1 Message Date
Olivier Goffart
2be0d3088f qFormatLogMessage: optimize %{backtrace}
backtrace_symbols is very slow because it tries to find the function
name from the address. In order to do that it needs to do a linear search
over all symbols. (Because the hash table goes the other way to find the
address from the symbol name)

The code is going to skip a few frames from QtCore. Since we cannot know
how many, we take a few more than necessary.
This patch changes the additional number of frames from 15 to 7
(Usually, there are about 5 suppressed frames).

We call backtrace_symbols several times for only one frame at the time.
So we are not looking up addresses we don't need after we printed the
right number of frames.

Calling many times backtrace_symbols means we do more malloc, but that's
negligible compared to the time we save. We anyway do a lot of other
allocations because of the regexp operations and such

So this patch is then saving about 10 frames lookups which allow to print
about 6 qDebug per miliseconds instead of only 2 when using %{backtrace depth=2}

Change-Id: Ic6ece2145d53dc570c80fcb0e4455dcef6bc40cb
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-02-14 18:43:35 +00:00
Sergio Ahumada
eff7a6473c qdoc: Replace qt-project.org/doc with doc.qt.io
also update some broken links while we are at it ...

Change-Id: I9707a01b01be82e229c8f135c9ae093d73fd1204
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-02-14 06:54:33 +00:00
Joerg Bornemann
3f25eda0ed QFileDialog: fix overwritten filter
Consider the following code:
    QFileDialog dlg;
    dlg.setFilter(QDir::Hidden | ...);
    dlg.setOption(QFileDialog::DontUseNativeDialog)

setFilter stores the filter value in QDialogPrivate::options.
setOption will overwrite this value with the default value from
a newly created QFileSystemModel.
The intention was to set the filter in the model to the value in
options.

Change-Id: I561c5cf1ad4d9d729a56620d86ec549eb3105a07
Task-number: QTBUG-37085
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-02-13 12:33:49 +00:00
Peter Niekamp
32957d8893 Fix regression in opacity handling of pdf path stroke
Specifically when rendering svg to a pdf, when painter
opacity is set, path strokes were transformed incorrectly
due to missed setting of dirtyTransform flag.

Task-number: QTBUG-38675
Change-Id: I861353822ccddd394910b8612687a244d195a41e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-02-11 18:35:36 +00:00
Laszlo Agocs
c66f2433b1 Provide a native interface object from linuxfb
Recent code in font support started to use the platformNativeInterface()
return value without checking for null. Most platform plugins, with the
notable exception of linuxfb and the minimal ones, provide an object.

Start providing a dummy object from linuxfb too. This is more sensible
then adding null checks everywhere.

This will prevent crashing with linuxfb on startup.

Task-number: QTBUG-44414
Change-Id: I48912132e1f8ad52e2a94c3d765dacc7b16f309a
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
2015-02-11 16:17:38 +00:00
Andy Shaw
838212b8e6 Respect the orientation setting from the page setup dialog
Task-number: QTBUG-27887
Change-Id: I2af7a495c4e693e9519c7e0ffde54b7e6a1d8715
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-11 15:50:29 +00:00
Mitch Curtis
fe1726fd7d Document and further test that QJsonObject::keys() is sorted.
Change-Id: I6b145c1240cce85ad3fea6fb90ddbed629487f83
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-02-11 09:22:25 +00:00
Frederik Gladhorn
51ce5b4829 Merge remote-tracking branch 'origin/5.4.1' into 5.4
Change-Id: I9d668a655b548feab43e9d4b03e2437bdff76437
2015-02-10 09:55:09 +01:00
Thiago Macieira
d6ce94ae63 Force Harfbuzz-NG to use the Qt atomics when built inside Qt
For most cases, the GCC/Intel atomics (__sync functions) are fine, but
there are some systems for which libgcc is incorrectly built (QNX
6.5.0). Additionally, this will allow Harfbuzz-NG to be supported in
exactly the same systems as Qt itself.

Task-number: QTBUG-43850
Change-Id: Ib53f57f70d4ad46863c45e74d60b0eb45ba9bd02
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-02-10 03:21:08 +00:00
Thiago Macieira
e024eb55c6 Remove #define inline from Harfbuzz-NG
This code is C++ only. There isn't a single C++ compiler that fails to
understand the "inline" keyword, since it's required by C++98. Any
compiler older than C++98 is likely to choke on the template usage
further down, so this isn't necessary.

Moreover, the C++ standard says you cannot define macros.
[lib.macro.names] says "Nor shall such a translation unit define macros
for names lexically identical to keywords." -- technically, it's a
promise that the Standard Library headers won't do it, the wording means
that the entire translation unit won't do it, which implies no source
can do it.

MSVC complains about it:
fatal error C1189: #error : The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.

Change-Id: Ic2a0a03a0af47386e34bb698454a2040ef3f6a9d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-02-10 03:21:02 +00:00
Fatih Aşıcı
51ba25e0fc logging: Check if uClibc has backtrace support
execinfo.h is optional in uClibc. We need to check
__UCLIBC_HAS_BACKTRACE__ if uClibc is used.

Change-Id: Ie28be85b0b70472df1fc4a208581bb66ad34229e
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-02-09 22:58:29 +00:00
Jan Arve Saether
3ab6653d97 Fixed crash when adding items with spans
This only occurred if the item added was the only item in the last
row/column, since then the the internal grid failed to expand
(in this case it would always call expand(0, 0), which would not
create the extra row/column).

[ChangeLog][QtWidgets][QGridLayout] Fixed crash that sometimes happened
when adding items with spans that spanned to the bottom/right edge.

Task-number: QTBUG-38052
Change-Id: Iba95f6d9d9356b4d1c84c7b93f4af9b4ea0cf714
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2015-02-09 21:10:31 +00:00
Allan Sandfeld Jensen
e67ebe8ba4 Listen to XI2 deviceChanged events to reset last position
Some drivers appears to reset their scroll positions when make the
primary point. This patch listens for the device changed event and uses
the information in it to update the position.

Task-number: QTBUG-40829
Change-Id: If354dfde6300ceb2b81be14ea24594ab0658a6aa
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-02-09 14:39:39 +00:00
Andy Shaw
e558e71791 Fix the look of inactive checkboxes in itemviews on OS X 10.10
Task-number: QTBUG-43875
Change-Id: I4734647e2f3f9e3f68a3ae77fb5c825c7d99f8b4
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-02-09 13:36:04 +00:00
Laszlo Agocs
b4491c358d Document that setGraphicsEffect is not suitable for GL widgets
Task-number: QTBUG-44188
Change-Id: Ie5bea14ffb804124421e97e5f49975ac9ad6d838
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-02-09 07:37:06 +00:00
Thiago Macieira
447ff9a9f3 Fix compilation with Apple Clang 425
This version was based on Clang mainline between releases 3.1 and 3.2,
which means it has part of 3.2 features but not all. One of the missing
features is __builtin_bswap16.
Cherry-picked from ec9bc843d8 on 5.4

Change-Id: Ic5d393bfd36e48a193fcffff13b95664c7f664de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-02-09 06:55:51 +00:00
Samuel Gaist
f2b77e3ff7 Qt 5 to-do in qpainterengineex_p.h
This patch apply the recommended cleanup in qpainterengineex_p.h

Task-number: QTBUG-25069
Change-Id: Ice2c3298c88ba6a7141642470aeeefa782af7f3a
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-02-07 00:51:14 +00:00
Sergio Ahumada
07c27a13ac Replace blog.qt.digia.com with blog.qt.io
Change-Id: I7f1c897d8c96780ee330bca18edd9fe893ee7c90
Reviewed-by: Tero Kojo <tero.kojo@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-02-06 15:49:48 +00:00
Kåre Särs
0d990b9ca1 Fix Meta+... shortcuts on XCB
If the window contains a widget that accepts text input, a Meta+...
shortcut will be interpreted as if no modifier was pressed. This fix
enables the usage of Meta+... shortcuts for the XCB platform plugin.

Change-Id: I80034b7e6bbbf18471c86fc77320d5038f5740be
Task-number: QTBUG-43572
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-02-06 11:27:33 +00:00
Maks Naumov
b444769840 Don't crash with invalid QModelIndex or when QTreeWidgetItem is NULL in mimeData()
Change-Id: I0a9abaa05cf136eadf222d3e7d102930719b84ff
Reviewed-by: David Faure <david.faure@kdab.com>
2015-02-06 09:43:38 +00:00
Friedemann Kleint
b3fc5e1ea3 Improve handling of screens in QWidgets.
Historically, the screen number of a QWidget was stored in
QTLWExtra::screenIndex which came in via the Q_WS_QWS platform.
The variable contained the screen number of the QDesktopScreenWidget
and the desired screen number for widget creation (from parent widget
or desktop parent widgets) and was not updated according to widget
geometry or when the associated QWindow moved to another screen.

Storing the screen number is problematic in Qt 5 since it may change
when the list of QScreens in QGuiApplication is rearranged.

This change renames it to initialScreen and changes its usage to only
contain a screen number when a screen is requested by parenting
on a desktop widget or reparenting. A value of -1 indicates no screen
is requested and the number should be deduced from the geometry.

For the usage in QDesktopScreenWidget, add a method to determine the
number via index in the list of QDesktopWidget.

Task-number: QTBUG-44070
Task-number: QTBUG-44213
Change-Id: I153d19073ad4b0fd14ef3d24caa6d3e76f350e82
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-02-06 09:36:16 +00:00
Eike Ziller
4805714b0f QIcon: Fix that HiDPI image was not found with QRC alias
When using images in QRC and giving the 1x and 2x image files
respective aliases but without any file extension
(for example 'myimage' and 'myimage@2x'),
then QIcon would fail to find the 2x variant.

Task-number: QTBUG-44049
Change-Id: I400bf6d22aeefe0aa351c68e473bf24ac2a36471
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-02-06 06:32:34 +00:00
Samuel Gaist
6246e142a4 Improve QTextDocument::setPlainText/Html doc related to undo stack
This patch aims to improve the documentation of setPlainText/setHtml to
let the user know that the undo stack is cleared when both these
function are called.

Change-Id: I079f9f1dd407387941777ebbc7b5a7bc6dc005ec
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2015-02-05 23:56:30 +00:00
Samuel Gaist
dd4b09ae1a Fix QLineF Detailed Description
Currently angle() is used in place of angleTo() to describe the
difference with intersect. This patch fixes that.

Task-number: QTBUG-44309
Change-Id: Idfc521932247f76fe15fd980ff8e87e52feec1f1
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2015-02-05 23:35:25 +00:00
Shawn Rutledge
612953a626 xcb: delay showing tray icon window until it is embedded
Otherwise there is a race condition: when the tray implementation
gets around to embedding the window, if it was already shown,
it will be unmapped, embedded, and then remapped. Some tray
implementations will resize the tray icon to 1 pixel wide in
that case. We also never want to show a window that was intended
for the tray in any other location, so it's better that it remain
invisible until we are sure it is embedded.

Task-number: QTBUG-31762
Task-number: QTBUG-35658
Task-number: QTBUG-32811
Change-Id: Id324b0bfded0f8258ff1686a223cb2c069827d42
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-02-05 14:55:10 +00:00
Peter Hartmann
3c24dddaf9 SSL NPN negotiation: Do not abort on unmatched protocols
... but choose HTTP/1.1 and continue connecting anyhow. According to
the NPN spec, actually we should choose SPDY:

"In the event that the client doesn't support any of server's protocols,
or the server doesn't advertise any, it SHOULD select the first protocol
that it supports."

However, some tested servers did not advertise anything and did not
support SPDY, so blindly trying the newest protocol would fail. We are
conservative in that case and choose HTTP.

Task-number: QTBUG-40714
Change-Id: Ia8aaf01fea74e13d9e4416306f85f1890b25559e
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-02-05 14:07:19 +00:00
Friedemann Kleint
239f67f158 Do not close popup widgets when showing a widget embedded into QGraphicsView.
Disable top-level widget code path for embedded widget in the show
helper.

Task-number: QTBUG-43780
Change-Id: I574e07130e5e68a019a426cee3fde982f3883720
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-02-05 13:54:01 +00:00
Joerg Bornemann
df3ffeec15 QProcess/Win: fix sporadic crash
QProcessPrivate::_q_processDied() was potentially called twice if there
was a slot connected to readyRead() that called processEvents(), because
the processFinishedNotifier was still enabled when readyRead() was
emitted.
This led to a null pointer access in findExitCode.

Change-Id: I4b796b81f050dc46bb9469602984accaa6ebfa28
Task-number: QTBUG-33731
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-05 13:43:57 +00:00
Eskil Abrahamsen Blomfeldt
434868e9d3 REG: Fix misplaced outline drawn text with native rendering
Change c238d34137 was a refactoring
which slightly changed behavior. In the case of fetching the
alpha map's bounding box, before we would call loadGlyph()
even for the case of outline drawing, as the correct bounding
rect is still needed for this case. In loadGlyphFor() however,
0 was always returned for this case, as it was only used for
populating the cache.

The simple fix for this is to add a bool to loadGlyphFor() which
adapts the original behavior when set, similar to the
fetchMetricsOnly bool in the loadGlyph() functions.

Change-Id: I76296c8aaeddbdae9e4c27ed2b30b7d59ff0843b
Task-number: QTBUG-44273
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-02-05 05:46:10 +00:00
Kai Koehne
6a607aa7aa Do not specifically mention features supported since XP
We do not support Windows older versions in the first place ...

Change-Id: I2cd3135f1b7f2dac6929c07624ea9373f4ac0ff1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-04 23:12:25 +00:00
Antonio Lotti
dcedbce99a Windows : fix call to LookupAccountNameW
The call to LookupAccountNameW from advapi32 was rewritten following
the example:
http://msdn.microsoft.com/en-us/library/aa392742%28v=vs.85%29.aspx
This prevents the generation of a garbage pointer when accessing
QWindowsSystemProxy::init() for Qt compiled as 64bit library
with MinGW-w64.

Task-number: QTBUG-39874
Task-number: QTBUG-38145
Change-Id: I620b2fa64941f84838f9a386851480285336e8d1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-02-04 23:08:33 +00:00
Marc Mutz
83a3292342 QPair: work around std::move not being constexpr in C++11
Use a static_cast instead. This is not 100% equivalent,
since it's missing remove_reference<>, which we don't want
to depend on and whose emulation in qtypetraits.h is missing
rvalue support.

That will be fixed in dev.

Change-Id: Ib03754c81c904932943d3a5415b54ff107f4719d
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-02-04 18:38:52 +00:00
Friedemann Kleint
2e1a76a594 Streamline code in QDesktopWidget.
Task-number: QTBUG-44070
Task-number: QTBUG-44213
Change-Id: Icbf0547eb521b9f3fcc725066ee4903226ecc630
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-04 14:04:16 +00:00
Friedemann Kleint
b1b262559c QWindowsXPStylePrivate::buffer(): Improve warnings.
Task-number: QTBUG-44282
Change-Id: If617db5c6eae410042394f20855892a2c564e808
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-04 14:04:07 +00:00
Friedemann Kleint
276de71be7 Handle failure of Windows XP theme painting functions for PE_FrameWindow.
QWindowsXPStylePrivate::buffer() can fail due to CreateDIBSection()
failing for large sizes. Introduce a bool return for the
QWindowsXPStylePrivate::drawBackground() helpers and fall back to
QWindowsStyle:::drawPrimitive() should that happen for PE_FrameWindow
in QWindowsXPStyle::drawPrimitive().

Task-number: QTBUG-44282
Change-Id: I122d84576455bbad8e6639022da5bf64f79aed3a
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-04 11:15:25 +00:00
Dyami Caliri
a2bcf43eb9 Set dpr of QImage in QOpenGLWidget grabFramebuffer
The QImage returned from grabFramebuffer should have the dpr of the
source.

Change-Id: Iafeabc1ab4e032fc28b73307104917ba3e898ad5
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-02-03 15:38:47 +00:00
Allan Sandfeld Jensen
5bd41b850f Correct inplace conversion methods from RGBA8888 formats
The methods for inplace conversion from RGBA to ARGB was misplaced by
one step causing conversion to RGB16 to get an invalid method.

Change-Id: I3b2b4cffe993705c48613eec7d9b7c6213f57fc2
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-02-03 14:21:29 +00:00
Morten Johan Sørvig
1b329bfc79 Cocoa: Don't crash on no target window.
findEventTargetWindow() will return 0 if m_window is
a top-level window with Qt::WindowTransparentForInput
set.

Change-Id: I413dabf2a8993b0522653c4e586bb304b642f3ed
Task-number: QTBUG-44013
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-02-03 14:16:41 +00:00
Joni Poikelin
f562244f33 Fix argv parameter to main() on Windows
Task-number: QTBUG-44050
Change-Id: I5b7ddec9d66158d8075ab091b01e883520e5414e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-02-03 09:45:11 +00:00
Albert Astals Cid
9718cb330c CMake: Fix QObject::connect failing on ARM
We need PIE, doesn't matter if reduce_relocations is used or not

Change-Id: I9a359b9d4443a6059980cd4c48058132ec4267fe
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-02-03 08:49:15 +00:00
Arnaud Bienner
cd7a36d341 QHeaderView: check that length is correct and fix restoring Qt4 state.
When multiple sections were grouped together, sectionItem.size was the total size of grouped sections, not the size of one section.
Length is supposed to be equal to the section items length, but the state saved might be corrupted.

Task-number: QTBUG-40462
Change-Id: I401a1583dd30880ccf5b4c105a237d6563f212e8
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2015-02-03 08:45:33 +00:00
Friedemann Kleint
b85b78f17d Suppress Ctrl/Ctrl+Shift keypresses in line/text edits.
Ctrl/Ctrl+Shift should not cause any characters to be input
(as opposed to AltGr(Alt+Ctrl) as used on German keyboards).

Extend the tests in QLineEdit and QPlainTextEdit to
check the modifiers, remove test from QTextEdit
since it is handled by QWidgetTextControl.

Task-number: QTBUG-35734
Change-Id: Ie0004fac68cf840c68247f27547e84b021355cd2
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2015-02-03 06:24:11 +00:00
Friedemann Kleint
912f1ebaad Windows: Pass geometry in device-independent pixel when determining screen.
Fixes the emission of QWindow::screenChanged() when running with
QT_DEVICE_PIXEL_RATIO != 1.
QPlatformScreen::screenForGeometry() takes device-independent pixel.

Task-number: QTBUG-44070
Change-Id: I963ecf62743d06784d62bc2f467e09fe5474e57f
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-02-03 05:58:00 +00:00
Friedemann Kleint
eb92a531c0 QWindowContainer: Restrict check for negative position to child windows.
Otherwise, the code triggers for top level windows in setups with
multimonitors where the primary screen is on the right and the left
monitor has negative coordinates.

Task-number: QTBUG-43879
Task-number: QTBUG-38475
Change-Id: Ied3ee6dc59bd784e11db22031d2090cc6f42ef8b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2015-02-03 05:56:07 +00:00
Friedemann Kleint
c88e354993 Windows: Rewrite font database to use delayed population.
Task-number: QTBUG-43774
Change-Id: I3b0b0ead0953b3b88a6d0092c694a2a00f70acf7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-02-03 05:53:02 +00:00
Dyami Caliri
10c62c894c CoreWLan: properly wait for scan thread to finish
Terminating the scan thread is leading to crashes. So was the previous
solution to use wait(5000), since the scan thread may take longer than
that.

Task-number: QTBUG-36000
Change-Id: I5c37ba5ba3f5c156fca30f3dacaa998c15f76be8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-02-03 03:35:11 +00:00
Daiwei Li
c96b5d2b06 Cocoa: Keep menu invisible when adding it to a menubar
In MenuBar.qml, it's possible for __isNative to be set
after visible on a child QQuickMenu. In that case, the qcocoamenu.mm
will have set submenu to nil, only to be overridden in insertNativeMenu
when __isNative is set.

Change-Id: Id3c6bca03f937528d05b166cbd6a6d1011db43e8
Task-number: QTBUG-44168
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-02-03 00:30:16 +00:00
Friedemann Kleint
392d8b5a75 Windows: Fix screen changed emission for programmatic moves.
Assign geometry in setGeometryDp() only when minimized as otherwise the
variable will be set by the handling of the resize event triggered by
setGeometry_sys()handleGeometryChange(). As it is, it suppresses
the emission of screen change signals for programmatic move operations
since the move is not detected.

Change-Id: I5cd32bb16fd41dd720c16ddf84b88df642677af7
Task-number: QTBUG-44070
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 23:09:07 +00:00
Dyami Caliri
2a27fc41a4 Fix QGraphicsWidget window frame section logic
CppCat detected duplicate sub-expressions in the code that checked for
BottomLeftSection and BottomRightSection. It was fairly obvious to
see what the values should be.

Change-Id: Id45ca5bbd26c92b800c60867fef5170578216eee
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2015-02-02 21:38:23 +00:00
Dyami Caliri
2b99491692 Fix leaks in OS X bundle detection
There were several leaked CFStringRefs in the new OS X bundle detection
code that is part of QFileSystemEngine.

Change-Id: Id0817e9692da411c7eb8287b9bf71b99ae28f960
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2015-02-02 21:38:12 +00:00
Marc Mutz
46d3c25980 Partially revert "QFixed: fix undefined behavior"
This partially reverts commit 1755038134,
which did not only fix undefined (signed left-shift), but also
implementation-defined (signed right-shift) behavior. It turned out
that code depends on a particular implementation behavior (logical
instead of arithmetic right-shift), and needs to be fixed first.

Change-Id: I9ba32d06f127d17d05e0c6f6eac3d26268587bca
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-02 16:43:16 +00:00
Marc Mutz
a776e4cf78 uic: don't use QStringLiteral in comparisons
(this is committing the new output of generate_ui from qttools)

For QLatin1String, operator== is overloaded, even for QStringRef,
so comparing to a latin-1 (C) string literal is efficient,
since strlen() is comparatively fast.

OTOH, QStringLiteral, when not using RVO, litters the code with
QString dtor calls, which are not inline. Worse, absent lambdas,
it even allocates memory.

So, just compare using QLatin1String instead.

Change-Id: I5035d259085c21689ab0f62fd49819ab5223ffe8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-02-02 16:43:07 +00:00
Marc Mutz
ee973083cf uic: update sources from current generate_ui
Change-Id: I3b64fa94bd5904feeed753d34e80f4fc0611725e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-02-02 16:43:01 +00:00
Mitch Curtis
8cb611be7b Add some punctuation to QTextCursor's detailed description.
Change-Id: I3b3eab74888f283a9890321fadcae67c09c24b61
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-02-02 15:34:10 +00:00
Stephan Binner
f8c8c79029 Fix build of egl integration
Add missing includes and reorder includes to avoid X defines breakage

Change-Id: Iaf95ae2488df3d3301436262ed79f7091b4be0a9
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-02-02 15:01:09 +00:00
Maurice Kalinowski
8c3ae221e6 WinRT: Gracefully exit an application
While it is not recommended by Microsoft to manually exit an
application, currently applications just hang when exiting main().

Instead when QCoreApplication::exit() is called use the CoreApplication
to properly invoke native Exit() and let the application completely shut
down.

Add a warning to notify developer about this non-standard behavior, as
usually the system is supposed to take care of suspending and closing.

Certification still passes for Windows RT and Windows Phone.

Task-number: QTBUG-43862
Change-Id: Ia34443ea75daaaeca0bee2a0c9fcc568c0659262
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-02-02 10:26:47 +00:00
Kai Koehne
5f6bbce4be Fix memory leak in qSetMessagePattern
We were leaking memory in case setPattern was called multiple
times

Task-number: QTBUG-43893
Change-Id: Icd9c214edea064aeaeb6f92a9c62836238ccd344
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-02-02 10:26:42 +00:00
Allan Sandfeld Jensen
8e0f56280a Fix Qt over VNC with broken VisualInfo
It appears some VNC servers reports incorrect masks in their visuals.
This patch recognizes this unlikely set of masks and interprets it as
RGB16 which VNC expects.

Task-number: QTBUG-44147
Change-Id: Ia374edcd5f0a5ce0188157ac1d328f888cfa260c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-02-02 10:26:37 +00:00
Maurice Kalinowski
012a7ab912 WinRT: Fix access to style hint instead of theme hint
You need to specify explicitly the styleHint enum instead of the
theming one, which is where we want to forward to.

This caused all clicks to be ignored in case there is a listener to
pressAndHold as the hold period is reduced to 0 milliseconds.

Task-number: QTBUG-44196
Change-Id: I30d1771b91b5fa358e896e8441ade965543d4613
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andrew Knight <qt@panimo.net>
2015-02-02 10:26:33 +00:00
Allan Sandfeld Jensen
2e2df81537 Only use Xft font settings as defaults, and let fontconfig override
On a GNOME or UNITY desktop, Qt will currently read font-settings from
Xft and use those ignoring any fontconfig instructions. This patch
changes the behavior so the Xft settings are only used as default, but
any explicit overrides by fontconfig will take precedence.

Task-number: QTBUG-43660
Change-Id: Ie10d5828cbfdd95fe5364c63a625d455d9213936
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-02-02 09:09:30 +00:00
Thiago Macieira
8172fe4647 Correct the version of ICC that has the constexpr bug fixed
01fc82e357 updated the code for ICC 15,
but it needs to be 15.0.1

Change-Id: Iba8d819ab9174d9dac07ffff13bbc26b9be46d53
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-29 09:30:12 +00:00
Andreas Holzammer
4b707d3bde WINCE: Fix special case for toplevel
It looks like that WindowFromPoint does not
return same handle each time, hence
he then is in a endless loop. We don't need
to look for a child in a loop here for
Windows Embedded Compact.

Task-number: QTBUG-44073
Change-Id: Ic42d56616b29f293d187111588fde3947c15659c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-29 09:30:05 +00:00
Friedemann Kleint
03a40d3a46 Revert "Windows: Fix call of ToUnicode"
This reverts commit dfe853bff9.

When using cyrillic or other keyboard layouts, standard shortcuts
like CTRL-C are still supposed to work as if the US keyboard layout
were in effect.

Task-number: QTBUG-44021
Task-number: QTBUG-35734
Change-Id: If6cd96a1e03e62900b293f8e304e523460e85810
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-01-29 09:29:56 +00:00
Frederik Gladhorn
55162dae7e Merge remote-tracking branch 'origin/5.4.1' into 5.4
Change-Id: Idadb5639da6e55e7ac8cc30eedf76d147d8d5d23
2015-01-29 10:05:01 +01:00
Friedemann Kleint
44ab91aaa1 Windows/ANGLE: Fix initialization of contexts.
Immediately try to initialize a context obtained by
eglGetPlatformDisplayEXT() and clear display in case it fails,
falling back to eglGetDisplay().

Change-Id: Ia6c1c6da4daff6651153c854eda4fb8749bdc526
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-01-28 11:09:39 +00:00
Thiago Macieira
817800ad39 Fix QXmlStreamReader parsing of files containing NULs
Due to a flaw in the internal API, QXmlStreamReader's internal buffering
would mistake a NUL byte in the input stream for EOF during parsing, but
wouldn't set atEnd == true because it hadn't yet processed all bytes.
This resulted in an infinite loop in QXmlStreamReaderPrivate::parse.

So, instead of returning zero (false) to indicate EOF, return -1 (but in
unsigned form, ~0, to avoid ICC warnings of change of sign). In turn,
this required enlarging a few variables to avoid ~0U becoming 0xffff,
which is a valid QChar (could happen if the input is a QString, not a
QIODevice).

Task-number: QTBUG-43513
Change-Id: If5badcfd3e4176b79517da1fd108e0abb93a3fd1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-24 18:35:22 +01:00
Marc Mutz
3527fd62c2 src/gui/painting/painting.pri: add missing qfixed_p.h
Change-Id: Iba176345ec9448c936cd89b06ea24272df94fc1f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-24 11:11:40 +01:00
Maks Naumov
8309758879 QTextCharFormat: fix word spacing setup
Properly check QFont::WordSpacingResolved when use setFont()
with QTextCharFormat::FontPropertiesSpecifiedOnly

Change-Id: I72f1641ef7587cbaf8fcf5fef2f3c44393b0ebfc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-01-23 14:02:17 +01:00
Konstantin Ritt
ff59d73ac6 Fix typo in the docs
QEvent::ChildRemoved appeared twice.

Change-Id: Ibd992f18d073a3ba47ab515368d2050d29e8c0e6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-23 11:27:56 +01:00
Andy Shaw
906577c8b0 Enter/Return should cause an edit inside an itemview on OS X
This was available before but was protected with the wrong define for OS
X, so this is changed to the right define.

Task-number: QTBUG-23696
             QTBUG-23703
Change-Id: I669a6cf2ff7c01020693adff9f04a4b8b9404d02
Reviewed-by: David Faure <david.faure@kdab.com>
2015-01-23 10:35:14 +01:00
Friedemann Kleint
5b1da97b6b Revert "Fix font enumeration, with the same family name, on Windows."
This reverts commit 8456adf0ee.

The change introduces a massive slowdown of the application
startup caused by the inner enumeration.

Task-number: QTBUG-43774
Task-number: QTBUG-40828
Change-Id: I694938eab93ea409d97537b55e8a025bb7a0e393
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-01-23 09:41:16 +01:00
Dmitry Shachnev
03dc2b2e82 QSystemTrayIcon: handle submenus correctly
This fixes a bug when submenus are shown as simple actions when
a platform system tray icon is used.

To correctly handle submenus, we need to set platform menus on
all submenus, and only then on a parent menu.

Change-Id: If2bfcc703b938dbb14ba4b9aa810039ced07e946
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Dimitrios Glentadakis <dglent@free.fr>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-01-22 21:41:16 +01:00
Andreas Holzammer
2b5df245d6 Implement Multitouch handling for WinCE
Implemented handling of GID_DirectManipulation for WinCE.
Derive touch information out of gesture event
directmanipulation.

Task-number: QTBUG-31216
Change-Id: I74e90f32d2384fc3550b47af0b72edf0292dea8f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-22 12:28:42 +01:00
David Faure
416c099205 Doc: remove wrong note in QTreeWidget::itemWidget.
The note is already in setItemWidget where it makes sense.
This looks like a copy/paste error; this method doesn't change
anything in terms of ownership, it's a getter.

Change-Id: Idc963787b81f53fb37bbe59e9bf35f47d3441b34
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
2015-01-22 12:08:51 +01:00
David Faure
2f097d4e23 Doc: fix copy/paste error in QTextCharFormat::setFont documentation
Change-Id: I2190975762c6283daa004b754da607829d263b0a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-01-22 12:08:42 +01:00
Eskil Abrahamsen Blomfeldt
db853fa75d Android: Fix name of header in .pro file
Gets rid of warning that the file is missing, but probably doesn't
have any other effect since the file in question does not require
moc-ing.

Change-Id: I22085a55c212b6285341d61462dfaf548787e11c
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-01-22 11:00:20 +01:00
Eskil Abrahamsen Blomfeldt
06602f9c96 Android: Don't force-include android-9 headers in qpa plugin
When we supported platforms < android-9, we needed to include
some headers which were introduced in android-9 to compile the
QPA plugin. This is no longer needed, and also creates problems
when you pick e.g. android-21 as your platform, since some
definitions (specifically fd_set) are different in the two sets
of headers, giving us an undefined reference to
QEventDispatcherUNIX::select().

Change-Id: Ifd28479b4bf3be0e9e62200a01fc4cf2cc855215
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-01-22 10:58:41 +01:00
Eskil Abrahamsen Blomfeldt
586fd04234 OS X/iOS: Fix stretched font rendering
Setting the stretch of a QFont did not work correctly on OS X or
iOS.

Two things are needed to make it work: First of all, we need to
properly set the transform when creating the CTFont.

In addition, we need to manually scale the advances, as
CTRunGetPositions() does not do this for us. On OS X 10.6, however,
there was a regression and CTRunGetPositions() would return scaled
positions, so we exclude the step to scale the advances on this
particular version.

This is an adaptation of bc25cfdd65452efa226cbd544c9ae9803eb6748a
in Qt 4.

[ChangeLog][QtGui][OS X/iOS] Fixed a bug when rendering fonts that
were set to be stretched.

Task-number: QTBUG-43801
Change-Id: I4902a9f5e29299761e3c2c5c6d6d80ee1dea1a25
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-22 09:32:44 +01:00
Volker Krause
0c4c841ce8 Fix invalid memory access when a slot deletes the sender.
Only happens with active signal spy callbacks. The Connection object can
be deleted when returning from the slot here, so accessing it for the
method index for the signal end callback will access invalid memory.

Change-Id: I44643a171863c35a94e7a5ffa096fcaac5abd509
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-22 08:47:19 +01:00
Eskil Abrahamsen Blomfeldt
508b1fa173 QTemporaryDir: Remove directories on failure
When creating a temporary directory but failing to set its permissions,
we need to remove the directory we created to avoid leaving 256 empty,
unused directories in the destination folder.

This happens on Android if you try creating a QTemporaryDir in the
download path on the sdcard.

Task-number: QTBUG-43352
Change-Id: Ic88fb7572f1abd65e5c7d8882b59c95f4b22ed72
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-22 08:31:54 +01:00
Andreas Holzammer
9e4ef3539a Fix finding widgets for Windows Embedded Compact
ChildWindowFromPoint does not work properly under
wince, so lets use the plain old WindowFromPoint.

Task-number: QTBUG-44022
Change-Id: I49bae6409f2d11ddc01bea01f4c2f91a02b90892
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-22 08:31:37 +01:00
Giuseppe D'Angelo
2ecde56f65 QSortFilterProxyModel: fix a regression
bec1854cc0 introduced a regression:
when sorting a tree model, children items would not follow the sorted
parents any more (they wouldn't be remapped correctly), resulting
in crashes.

So, the fix needs more reasoning; let's revert the fix,
but leave  the original test around for any subsequent attempt, and
introduce a new test which looks for the right behavior when
sorting trees.

This commit partially reverts bec1854cc0.

Task-number: QTBUG-43827
Change-Id: Ic83ac53aef639f870f6c36a8b4b2992f5b485b13
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Volker Krause <volker.krause@kdab.com>
(cherry-picked from qtbase/e9ad46ed412987e3e46c5a641e5f30408b97ac90)
2015-01-22 08:31:28 +01:00
Thiago Macieira
a4c837b3a1 Fix QUdpSocket's emission of readyRead()
The documentation says that QUdpSocket emits readyRead() only for one
datagram and that if you don't read it, the class will not emit again.
That should be implemented by disabling of the socket notifier once we
have the datagram already read, but was broken.

In turn, that breakage caused a live-lock of the event loop: since we
didn't disable the notifier nor read the pending datagram, the event
loop would fire every time for the same datagram.

The re-enabling of the notifier was already working.

Task-number: QTBUG-43857
Change-Id: Ic5d393bfd36e48a193fcffff13bb32ad390b5fe8
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-22 04:44:10 +01:00
Frederik Gladhorn
358a9ac936 Do not include accessibility.pri twice
Change-Id: Id4b312a57b098ad893ba08e7a3c7f1a0fb891eef
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-21 20:38:22 +01:00
Frederik Gladhorn
0eaa86dd01 Accessibility: Fix selection change notifications on Linux
The selection update is not implemented on other platforms (if needed at
all).

Task-number: QTBUG-39440
Change-Id: I8eb8c4eb1c23ba2d246bc95f1c77dc9da9e22495
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2015-01-21 20:38:04 +01:00
Friedemann Kleint
fad17cf79c QFontDatabase: Make assert about failed delayed font population more verbose.
Task-number: QTBUG-43774
Change-Id: Ie55de75e31e1e569f4b4e336900a8f96f7c1b9c0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-21 19:31:14 +01:00
Marc Mutz
1755038134 QFixed: fix undefined behavior
Left-shifting of negative values is undefined ([expr.shift]/2).
Use multiplication with 64 instead.

There are probably more instances in this class, but this patch
already gets rid of vast amounts of ubsan errors in
tests/auto/gui/text.

Found by UBSan.

Change-Id: I89b8bb61e4decba605fe4fb3efea68b1f1eacf1a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-21 18:43:07 +01:00
Gunnar Sletta
6338b1421e Safeguard QScreen::refreshRate against buggy platform behavior
Change-Id: I891bd5272db76e8562f6722b633cc0fdaac5f7a2
Task-number: QTBUG-43853
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2015-01-21 18:38:23 +01:00
Aleix Pol
bdbcf6704f Make it possible to generate rcc files from stdin
There's already some code to be able to generate the rcc files from stdin,
only problem being that the input sanity check was not allowing the code
path to proceed being left unreachable.
This patch fixes it by allowing "-" as an acceptable argument and the
process proceeds as expected.

Change-Id: Icd47c7a65373ff1ea3f98d9528736f8a1b21b707
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-21 13:46:25 +01:00
Alexander Volkov
97af289954 Doc: Improve description of QTextStream::readLine()
Don't recommend a common value for maxlen, because we don't really
know it. Soften a statement about not applying QString::trimmed()
to the result because it may contain surrounding spaces.

Change-Id: Ie90db6f033cfcc0dff0ef6796ba115028bcaaa77
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-21 08:41:00 +01:00
Thiago Macieira
473ad206c4 Fix QSharedPointer::create and QEnableSharedFromThis
We forgot to initialize the tracker if create() was used.

Task-number: QTBUG-43696
Change-Id: Ic5d393bfd36e48a193fcffff13b740931ff2204b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-01-21 08:23:59 +01:00
Friedemann Kleint
0b62cd8da7 Windows: Fix coordinate offset when positioning the taskbar on the left.
For windows that do not have WS_EX_TOOLWINDOW set, the WINDOWPLACEMENT
API uses workspace/available aera coordinates. Introduce a helper
function to return the offset and use that.

Task-number: QTBUG-43872
Change-Id: I329c640f180524699b45b855b4583f447c4a0987
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-01-20 19:59:23 +01:00
Konstantin Ritt
64c6bfd1f4 Fix crash with multi threaded QFont/QTextEngine usage
Since we don't configure HB-NG via its configure script, we have to
define all optional switchers we do care about by our own.
Some of these switchers were missing in harfbuzz-ng.pro, causing
HB-NG to be built with no threading support.

Task-number: QTBUG-43850
Change-Id: I0944a68fe0bfae3306a3e6085e25704f0d0d0efc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-01-20 05:47:32 +01:00
David Faure
027d2fc846 Doc: add missing since 5.4 for new sessionProtocol() methods.
They were added in 233a2f37bf, which is in
5.4, but the \since information was missing.

Change-Id: I346a049cad75647fdcd7b64df80dc169bb4ec70a
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-19 20:50:48 +01:00
Laszlo Agocs
91d6aafad4 Windows: avoid generating exposes on plain moves
The fake expose generation for shrunk windows is causing
side effects with desktop GL: it will generate expose events
even when only moving the window. This is bad. So change the
condition to look for shrinking and do nothing if the size is
same as before.

This is reported to cause perf issues with e.g. QOpenGLWindow
or similar where an expose does an immediate repaint (potentially
with block swap).

Task-number: QTBUG-32121
Change-Id: I4687ea8210cee6691d608450c48b1dbef52d6df3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-19 17:48:05 +01:00
Laszlo Agocs
6a081125a5 Make -static -opengl dynamic builds succeed
Right now it breaks in qwindowseglcontext due to its ifdefs for
static ANGLE-only builds. The checks for QT_STATIC should be
extended with QT_OPENGL_DYNAMIC so that it continues to resolve
functions dynamically in -opengl dynamic builds even when combined
with -static.

Task-number: QTBUG-43993
Change-Id: Iac6d0353ef16a32a22ab1db0a833fbb0165f328c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-19 17:48:01 +01:00
Laszlo Agocs
23996a9e40 Windows: make TranslucentBackground functional always
QOpenGLWidget and QQuickWidget was not functional when
WA_TranslucentBackground was set. This is due to the
static "isGL" type of checks that are not suitable since 5.3
due to RasterGLSurface windows which may or may not be
OpenGL windows, depending on their content.

To handle this, we have to do some check on every makeCurrent
and perform the necessary calls (most importantly
SetLayeredWindowAttributes).

Task-number: QTBUG-43854
Change-Id: If19c79482ec4f0a8b795ee710d52ed7e08b52563
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-19 17:47:56 +01:00
Marc Mutz
447ef9766a src/testlib/testlib.pro: add missing qbenchmarksmetric.h
Change-Id: I9b879bb22f3e3f74e55234730d9cf79221812a36
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2015-01-19 16:08:10 +01:00
Andy Nichols
d7068cbe1b Make threaded rendering possible with LinuxFB
It was previously not possible to render to a QBackingStore
with the linuxfb platform plugin because of both the use of
a QTimer created on the main thread and there was no lock
on the backing store surface (which would lead to copy content
to screen that being rendered in another thread).

Change-Id: I0ea3600316ce29eb89f6595997847afe7086116f
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-01-19 15:55:00 +01:00
Eskil Abrahamsen Blomfeldt
2603873e75 Make harfbuzz-old fallback available at run-time
The old harfbuzz code path is included as a fail safe for any
possible use case where the Harfbuzz-NG regresses, but because the
variable was checked statically, it was not actually possible to
build a releasable executable which employed the work-around.

Instead we use the regular global static pattern where the variable
is queried the first time it's needed.

Task-number: QTBUG-43850
Change-Id: I9ade76bf0825bbfefebdbdc4e6ee5571f1a3deec
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-19 13:50:32 +01:00
Friedemann Kleint
a8f37e4775 Windows: Delay creation of the static OpenGL context.
Delay initialization/GL detection until a surface is requested.
Remove member variable from window and access static context
from QWindowsIntegration only.

Task-number: QTBUG-43832
Change-Id: I4b9a324b58af4399df5c314bfb2b952455b1e080
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-01-19 13:18:02 +01:00
Giuseppe D'Angelo
5ee8ed27e0 rcc: fix build failure on Windows XP / MinGW 4.9
The code makes usage of _fileno without including the appropriate
header, which is stdio.h according to Microsoft:

http://msdn.microsoft.com/en-us/library/zs6wbdhx%28v=vs.120%29.aspx

Task-number: QTBUG-43900
Change-Id: Ic9d407c66243d64823353a1c7e79cf0825c735db
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-01-19 13:17:56 +01:00
Oswald Buddenhagen
553a3661c1 Bump version
Change-Id: I250fa893cdf831d03f9217b5dc0a5aa2f9a6a6b5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-19 10:54:37 +01:00
Ulf Hermann
0310cef332 FusionStyle: Don't try to draw null pixmaps
We have the same check for null already for PE_IndicatorHeaderArrow
which actually uses the same pixmap. If the file is not found the
pixmap will be null and the code dividing by its width or height will
thrown an arithmetic exception.

Task-number: QTBUG-43067
Change-Id: I13a5ee9f21f4189b7bbcfd57a6f5b52113de834d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2015-01-19 10:53:10 +01:00
Daniel Teske
c243dd5643 QIncrementalSleepTimer: Use QElapsedTimer instead of QTime
Since the former is monotonic and we need a monotonic timer here.

Change-Id: I34325da4fe0317e12f64629a6eef6a80990c3e1a
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-19 10:50:08 +01:00
Sze Howe Koh
c49641a117 Doc: Fix typos
Change-Id: I29d5576902a5d1ea25558e980081952d9157f7f0
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-01-19 10:48:03 +01:00
Sze Howe Koh
0f5b970894 Doc: Remove references to QOpenGLContext::destroy()
This function is private.

Task-number: QTBUG-35907
Change-Id: I370c0bfd8fda11c68ee76ee42967f117a81b381c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2015-01-19 10:48:00 +01:00
Pierre Rossi
890ae41d06 Fix a crash in QPlainTextEdit::documentChanged
The layout for an invalid block is very likely to be null, it
shouldn't be accessed without checking the block's validity first.
We can make the check a bit more conservative and simply check that
the block isn't empty.

Change-Id: Ic1459a6168b1b8ce36e9c6d019dc28653676efbe
Task-number: QTBUG-43562
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2015-01-19 10:47:28 +01:00
Andy Shaw
7c9497ad6a Respect the hotspot passed in for the cursor
When the hotspot is set to be QPoint(0,0) then QPoint will see this as
being a null QPoint. However, it is a valid position as far as the hot
spot for the cursor is concerned, so we default to QPoint(-1,-1) instead
and check for that.

Task-number: QTBUG-43787
Change-Id: Ibf6253033016c4b556b8a2a79c89819a4d5825cb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-19 10:44:54 +01:00
Andy Shaw
730d07df83 Account for pixmap's device pixel ratio when calculating the label size
When determining the size of the QPushButton's label then the device
pixel ratio of the pixmap used to represent the icon needs to be taken
into consideration so it is rendered correctly.

Change-Id: If32760b120d7a749a51e2c30592d621c0e63dace
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-19 10:44:48 +01:00
Andy Shaw
17cce24648 Only call ShowWindow() once when going from FullScreen to Maximized
Since going from FullScreen to Maximized is taken care of inside the
FullScreen block then we don't want to call ShowWindow() again in the
Maximized block. Therefore the Maximized block is moved so it is only
invoked if it is not coming or going to fullscreen.

As the minimized case is not accounted for in FullScreen that is left as
is in its own if block.

Task-number: QTBUG-43849
Change-Id: I3141347e072c50b2a4475098d7b8ee0b207578a7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-19 10:44:42 +01:00
Marc Mutz
b69c2e86de QFreeList: fix undefined behavior
Signed integer overflow is undefined behavior ([expr]/4),
but unsigned arithmetic doesn't overflow, so isn't
([basic.fundamental]/4, footnote there).

So, use unsigned arithmetic for the loop-around serial
number generation in incrementserial(). While we're at
it, also use it for the masking operation in the same
function.

Found by UBSan.

Change-Id: I500fae9d80fd3f6e39d06e79a53d271b82ea8df8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-19 10:43:45 +01:00
Marc Mutz
62a96dbb53 QTextFormat: fix undefined behavior
Left-shifting of negative values is undefined ([expr.shift]/2).

Since hashValue is a uint already, rectify by casting it->key to
uint prior to shifting.

Found by UBSan.

Change-Id: I94a5311f5a4492f514f595b8fb79726df1e7d0de
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-19 10:41:57 +01:00
Marc Mutz
390ea21873 QByteArrayMatcher: fix undefined shift
The REHASH macro is used in qFindByteArray() with a char argument.
Applying the shift operator promotes (a) to int. The check in
REHASH, however, checks for the shift being permissible for
_unsigned_ ints.

Since hashHaystack is a uint, too, rectify by casting (a) to
uint prior to shifting.

Found by UBSan:

  src/corelib/tools/qbytearraymatcher.cpp:314:72: runtime error: left shift of 34 by 30 places cannot be represented in type 'int'

Change-Id: Id09c037d570ca70b49f87ad22bed31bbb7dcc7fb
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-19 10:41:22 +01:00
Marc Mutz
b18e6396bd QBenchmarkResult: fix uninitialized value
This manifested itself in a UBSan report about loading a non-enumerated
value from an enumeration variable:

   src/testlib/qbenchmark_p.h:95:7: runtime error: load of value 11091, which is not a valid value for type 'QBenchmarkMetric'

(or similar).

The chosen value is simply QTest::QBenchmarkMetric(0).

Change-Id: I8492a871a71d89fa6f7902d38f9eecee4b060646
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-19 10:41:09 +01:00
David Faure
7fc8c560e2 Fix QPrinter::setPaperSize regression when using QPrinter::DevicePixel
The QPageSize-based refactoring led to casting DevicePixel to a QPageSize::Unit
value of 6 (out of bounds). And then the switch in qt_nameForCustomSize
would leave the string empty, leading to "QString::arg: Argument missing: , 672"
warnings.

Change-Id: I85e97174cc8ead9beccaaa3ded6edfad80f8e360
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2015-01-19 10:39:55 +01:00
Rainer Keller
20480070a6 Autotest: Selftests fail in UTC timezone
Selftests for testlib fail when executed in UTC timezone because local and
UTC are the same, but expected to be different. A custom timezone is used
instead.
Debug output of qCompare does only handle local and non-local timezones, using
new Qt5 features allows to show the correct timezone in format string.

Change-Id: I753884a12370952b7b62a90d62896db4f2d3d1b4
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2015-01-19 10:21:26 +01:00
Liang Qi
cd389e4584 Fix possible divide by zero in QMacStyle
[ChangeLog][Widgets][QMacStyle] Fixed a possible divide by zero crash.

Task-number: QTBUG-43398
Change-Id: I8b5c6fd87d07eb42ad43e8c2405b7cad19372b86
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-01-19 08:21:01 +01:00
Morten Johan Sørvig
49fd3511f5 Fix memory leak in Qurl::toCFURL()
Release the temp CFString.

Change-Id: I8a5b8f18a42a4a9b2c6671f0f5b32a3f0b14238d
Task-number: QTBUG-43710
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-19 08:20:24 +01:00
Michael Marley
128cab4635 Set pendingClose to false on init in QSslSocket
Fixes an issue where under certain circumstances, QSslSocket could get
stuck in a state where it would disconnect immediately after starting
encryption.  Since it doesn't make any sense for the socket to be
initialized to a state where any connection attempt will fail, the
pendingClose value should be set to false.

Thanks to Martin Sandsmark for his help debugging this issue.

Task-number: QTBUG-43793
Change-Id: I7deebacbac588c21439a8e594db4222095cf3f22
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-19 08:16:24 +01:00
Gatis Paeglis
3c21c4581d Fix drag and drop regression
Fix regression introduced by e4becdc3d3

Add QPlatformDrag::ownsDragObject() function, QDragManager can use the
return value of this function to decide if it should take care of deleting
QDrag object or platform plugin will take care of deleting QDrag.

XCB platform plugins uses async dnd data delivery mechanism. It allows
user to drop something and then continue working with the assurance that
the target will get the data regardless of how slow the network connections
are, which means that a source window should preserve QDrag data until
dnd has finished.

Change-Id: I1fbad7380cddec98b756698993dd397409833150
Task-number: QTBUG-43436
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-19 08:15:54 +01:00
Laszlo Agocs
5bb2e84a76 Fall back to ANGLE on OpenGL 1.x
Apparently on some cards, that only provide OpenGL 1.4,
the check for OpenGL 2 specific functions is not sufficient
(presumably some old extensions provide the functions and so
the test passes, even though it really shouldn't)

To avoid crashing the apps later on, we should check the
context version and activate the fall back to ANGLE if it's
below 2.0.

Task-number: QTBUG-43870
Change-Id: Id0e3d8ad1f632334ba03bbb1a4802413f28436dc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-19 08:10:28 +01:00
Thiago Macieira
ec9bc843d8 Fix compilation with Apple Clang 425
This version was based on Clang mainline between releases 3.1 and 3.2,
which means it has part of 3.2 features but not all. One of the missing
features is __builtin_bswap16.

Change-Id: Ic5d393bfd36e48a193fcffff13b95664c7f664de
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-01-17 05:03:33 +01:00
Thiago Macieira
be5b04fd37 Move enabling of C++11 Unicode Strings with ICC from 12.1 to 14.0
The support in 12.1 and 13.x appears to be incomplete. Move it to the
official supported version

https://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler

Note: this commit will cause a conflict in 5.5 against
99357e32a0

Task-number: QTBUG-43864
Change-Id: Ic5d393bfd36e48a193fcffff13b9a07106e96795
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-01-17 05:03:29 +01:00
Oswald Buddenhagen
3f17d0349b Merge 5.4 into 5.4.1
Change-Id: I78d848c0bb396584a205a8066d253f2bcac8da56
2015-01-16 21:02:26 +01:00
André Klitzing
6839aead04 Fix compile error if openssl is built with no-ssl3-method
Since openssl 1.0.1k with enabled option no-ssl3-method we need to
check for OPENSSL_NO_SSL3_METHOD to use following functions:

- SSLv3_method
- SSLv3_server_method
- SSLv3_client_method

Change-Id: Iee83a6f4bacbf5660baa6bdb89eb02ceb9f11614
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-16 16:19:24 +01:00
Morten Johan Sørvig
b2cff0b4bf Fix stylesheet crash.
Style sheets that refer to the progress bar (like
"QProgressDialog[maximum='0']{}") may dereference a
null-pointer during the styleHint() call in QProgressDialogPrivate::init()
since the progress bar has not been created yet.

Move the creation of the progress bar closer to the
top of init(), before the styleHint() call.

Change-Id: I31c3c1c346430fc9fe86b0977403dea0c0dc5e90
Task-number: QTBUG-43830
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
2015-01-16 14:27:26 +01:00
Morten Johan Sørvig
5239ba95e8 Add missing AppDataLocation case
This amends commit f3bc9f5c.

Change-Id: I69b1a5080e7ac92b8a39746d814da77b17c271c2
Task-number: QTBUG-43868
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-16 13:50:28 +01:00
Marcel Krems
593e3f2fbb Update printer metrics after resolution change.
[ChangeLog][QtPrintSupport] Fixed QPrinter::{width,height} return values
when the resolution is changed in the print dialog.

Task-number: QTBUG-43124
Change-Id: Ib805907affed4b1ffb48e6b1ff89f7a79ab3e329
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2015-01-16 13:34:37 +01:00
Eric Lemanissier
c28718b88b Correction on bound values in case of repeated QSqlQuery::execBatch
Until now, QSqlQuery::execBatch did not call resetBindCount, which lead
the next call to QSqlQuery::addBindValue to start at non zero index.
This is problematic in case of a prepared query which is called several
times.

Task-number: QTBUG-43874
Change-Id: I1a0f46e39b74d9538009967fd98a269e05aac6f2
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2015-01-16 13:14:26 +01:00
Nico Vertriest
576cf413bb Doc: verb "to layout" changed to "to lay out"
Task-number: QTBUG-43657
Change-Id: I574186253ee423cc380ec3c6f274f1caa2a6aa2a
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-16 10:29:46 +01:00
Nico Vertriest
871560d45c Doc: define target voor function qsnprintf()
Task-number: QTBUG-43537
Change-Id: I76c511891a1a07eca77da399d23097e76047f824
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-16 10:29:22 +01:00
Nico Vertriest
24238e6a31 Doc: link issues in corelib
Task-number: QTBUG-43115
Change-Id: Ia80802e698f16730698e9a90102f549fb35f9305
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-16 10:29:12 +01:00
Paul Olav Tvete
a8a00f646b Turn off font hinting when we do high DPI scaling
Font hinting depends on the specific pixel size, and ends up very
wrong when the painter is scaled.

Change-Id: I2007ec7e7ad8d52358d76e88e030ea4df7e91455
Task-number: QTBUG-43809
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-01-16 09:52:44 +01:00
Paul Olav Tvete
c1d08afd31 Fix constantly growing window bug with devicePixelRatio
Rectangles need to be mapped differently depending on what they are
used for. Expose events need to cover the entire geometry, so they must
be rounded up, potentially increasing the size. If we use the same
conversion for window geometries, it is possible to end up with a
feedback loop if the window reacts to the new size.

Task-number: QTBUG-43743
Change-Id: I7881cc77bf2148fed2ae743c4226617a61197434
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-01-16 09:52:38 +01:00
Friedemann Kleint
988f1b2e57 Windows: Use DND effect chosen in DragEnter/Move for Drop.
The value of pdwEffect passed to IOleDropTarget::Drop() is always
the one with which the drag was initiated.

Task-number: QTBUG-43466
Change-Id: I045fef634b55d4f113b393aa0ad4aa15d37db372
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-01-16 08:16:36 +01:00
Laszlo Agocs
5856f6e305 Fix regression with frameless dialogs on Windows
Task-number: QTBUG-41162
Change-Id: I6d4e6d0e8a262fead30d642d632f6b4021cc20ab
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-16 08:14:28 +01:00
Frederik Gladhorn
ccb5978c6d Fix namespacing of QNSViewMouseMoveHelper
Task-number: QTBUG-43061
Change-Id: Ied8cdf49c34ef155b0f0bbc7e547b7c01bcd1d11
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-01-16 06:47:26 +01:00
Friedemann Kleint
241d32bfe3 Fix inlining order of functions in qpathclipper_p.h.
When compiling tst_qpathclipper with MinGW:

In file included from QtGui/private/qpathclipper_p.h:1:0,
                 from tst_qpathclipper.cpp:33:
src/gui/painting/qpathclipper_p.h:469:29: warning: 'static QPathEdge::Traversal QWingedEdge::flip(QPathEdge::Traversal)' redeclared without dllimport attribute after being referenced with dll linkage
inline QPathEdge::Traversal QWingedEdge::flip(QPathEdge::Traversal traversal)
                             ^
qpathclipper_p.h:474:29: warning: 'static QPathEdge::Direction QWingedEdge::flip(QPathEdge::Direction)' redeclared without dllimport attribute after being referenced with dll linkage
inline QPathEdge::Direction QWingedEdge::flip(QPathEdge::Direction direction)

Change-Id: I38feb07d693768285c1d405b3fc92a58c3309547
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-01-16 06:31:46 +01:00
Friedemann Kleint
9b35c2cc27 Windows: Fix crash when focus window does not have a native window.
Check and warn in that case.

Change-Id: Ic513334b5aa48e1c7e44685c30da3e9be52c3c52
Task-number: QTBUG-43833
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-01-15 23:25:56 +01:00
Friedemann Kleint
97a82f62c4 Windows: Add infrastructure to be able to a GL renderer based on GPU.
Introduce flags for the renderer type and move code to
qwindowsopengltester. Introduce
QWindowsOpenGLTester::supportedGlesRenderers() where type-dependent
checking can be added.

Change-Id: I4bbffaf861cb0fdbea0919e081e3626fb5a872de
Task-number: QTBUG-43263
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-01-15 23:25:48 +01:00
Friedemann Kleint
0fa092cbae Windows: Add GPU detection.
Compile qwindowsopengltester on all platforms and add struct
GpuDescription with detection method based on IDirect3D9 (dynamically
loaded).

Expose as a QVariantMap-property to QWindowsNativeInterface to be
able to access it from qtdiag.

Task-number: QTBUG-43263
Change-Id: I3c6cd0bbbe36465e0e05f7064ecfc943d6ea4101
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-01-15 23:25:44 +01:00
Kai Koehne
ecd74bcc94 Bump copyright year to 2015
Bump copyright year in tool output and user visible strings to 2015.

Change-Id: I9b29907fe3f555e78005cb296a49d92f601fb7ec
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-15 09:24:51 +01:00
Thiago Macieira
c3590c7677 Update doc saying QDateTime::setTime with invalid time sets to midnight
QDateTimePrivate::setDateTime has a comment saying this is intentional,
so document it.

Task-number: QTBUG-43704
Change-Id: Ic5d393bfd36e48a193fcffff13b965409eaf7be9
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-15 08:37:10 +01:00
Richard Moe Gustavsen
13ecde3b7a iOS: guard text responder from clearing selection
When programatically setting a text selection on iOS, we
call [UITextInputDelegate selectionWillChange] to report
the change. If auto correction is enabled, UIKit will then
reset the current tracking, and for some reason tell us to
clear the selection. This is contradictory to us
saying the the selection is about to change, and will
cause an unwanted recursion back to Qt.

Since there seems to be no way to stop UIKit from doing
this, this patch will instead add a guard that refuses
to change the selection recursively while processing
a selection change from Qt.

Task-number: QTBUG-43716
Change-Id: Id487a57cdda55d7e2d09c3efc14c7f03f566f15a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-15 08:24:26 +01:00
Friedemann Kleint
ea9a366d3f Swallow wheel events while a popup widget is open.
Wheel events should not cause a popup widget parented on a scrollable
widget to be closed or moved to correctly reflect the system behavior
on OS X and Windows.

Task-number: QTBUG-42731
Task-number: QTBUG-40656
Change-Id: I4ef75aa8331390309c251316ac76db2cf9ec51f7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2015-01-12 21:09:26 +01:00
Gabriel de Dietrich
be5cfa960b QMacPasteboardMimeFileUri: Use file paths instead of file references
Change-Id: I732d94bc6add2814c8ebd2c7fe80592024dd1b9a
Task-number: QTBUG-40449
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-01-12 13:49:54 +01:00
Nico Vertriest
34ce66cd89 Doc: link issue D-Bus Viewer
Moved doc D-Bus Viewer from qdbusviewer.cpp to qtdbus-index.qdoc
Doc moved from qttools to qtbase
Task-number: QTBUG-43537
Change-Id: I718781a8f5029f64fea0f2be241b4d584cc8bfce
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-12 13:44:24 +01:00
Paul Olav Tvete
3f0b8a9f19 Multi-screen DPI support for X11
Calculate the logical DPI independently per screen, but
only when auto dpr is enabled.

Using a constant DPI value for all screens, based on the combined
geometry is arguably incorrect, but changing this now will
cause pixel-size fonts to behave visibly different from point-size
fonts when moving the window to a different screen.

However, with QT_DEVICE_PIXEL_RATIO=auto, the pixel size fonts are
already changing when the devicePixelRatio changes. Without this change,
the point-size fonts will *not* adapt, which is a clear bug.

Task-number: QTBUG-43713
Change-Id: I3e71618f9d55b7828ccd70b69a7b7ce656c69d65
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-01-12 09:50:36 +01:00
Paul Olav Tvete
075ae987c4 X11 devicePixelRatio screen mapping fix
Fix screen detection and window geometry when screens have
different displayPixelRatios.

We must use the native coordinate system to figure out which
screen a window belongs to. Also, when a window moves to a
screen with a different devicePixelRatio, we must recalculate
the Qt geometry.

Task-number: QTBUG-43713
Change-Id: I93063e37354ff88f3c8a13320b76dfb272e43a9c
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-12 09:48:11 +01:00