Commit Graph

21193 Commits

Author SHA1 Message Date
Tor Arne Vestbø
37490d465b GL: Make updateTexture invalidate texture on change of texture unit
Switching texture units means the value of lastTextureUsed could be
invalid, meaning we need to unconditionally re-bind and update parameters.

A future optimization would be to keep a per-texture-unit cache, so
that we wouldn't have to re-bind and set parameters when switching
units back and forth, but this complicates the current code somewhat,
so it's left for another patch.

Change-Id: Icb2a5d03457a907f3c25bbb437feeb7c5f155716
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-12 22:37:00 +01:00
Joerg Bornemann
adfeb9e444 Doc: fix copy & paste error
Task-number: QTBUG-8536
Change-Id: I381690b9c25750cbc72de3a36f70879936482e11
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-12-12 16:53:15 +01:00
Jørgen Lind
2e2de5e482 Fix xcb backend not grabbing the server as default
The xcb backend relies on grabbing the x server in a few situations like
popuphandling. For Qt 5.4.0 the logic enabling this code path was moved
into the plugin. However it defaults to never grabbing the server

Change-Id: I82489a0727affbce62587b3d7470085cf716a0cc
Task-number: QTBUG-43049
Reviewed-by: Martin Gräßlin <mgraesslin@kde.org>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-12 16:38:02 +01:00
Paul Olav Tvete
71a63836ed Make ImhNoPredictiveText work on Samsung devices
Samsung does not support TYPE_TEXT_FLAG_NO_SUGGESTIONS, even
though that flag was introduced in API level 5. Therefore, we
have to use TYPE_TEXT_VARIATION_VISIBLE_PASSWORD. This effectively
makes ImhNoPredictiveText a synonym for ImhSensitiveData on Android.

Task-number: QTBUG-43297
Change-Id: I3e7139d144276462e46512445ad7b8e7114d8e32
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-12 15:43:30 +01:00
Nico Vertriest
fff996e8ad Doc: corrected documentation addOptions()
Task-number: QTBUG-43259
Change-Id: If27c0658f7abaa4ce01de343ce90c14bd911212f
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-12-12 15:33:14 +01:00
MihailNaydenov
dc583a0576 Fix incorrect QImage transformation when its devicePixelRatio != 1
QImage::transformed compensates for unwanted translation. This compensation
is performed in "pixel space". However, a possible code path to perform the
transformation uses QPainter which is devicePixelRatio-aware and expects the
transformation matrix to be in logical coordinates.

For example, image.transformed(QTransform().rotate(45)) will result in
cropped out image if devicePixelRatio == 2.

Change-Id: I830ff3ffa25531d842dc9c77f1d0e8d4bd502c9d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-12 15:32:55 +01:00
Thiago Macieira
d47b9ace50 Fix the Apple build version numbers for Clang
A bunch of zeroes were missing. And not to the left.

Task-number: QTBUG-43279
Change-Id: I1a710cf572099547b2ade7b2574a7e0a61649758
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-12 03:39:37 +01:00
Friedemann Kleint
d61ee49df4 Windows: Do not register windows obtained by QWindow::fromWinId() for touch.
Fixes a warning:
RegisterTouchWindow() failed for window ''. (Access is denied.)

Task-number: QTBUG-43252
Change-Id: I92a565f3a5e2e8815eb709b5c6d0ccdba7330e31
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-11 16:10:53 +01:00
Friedemann Kleint
994bbcf1df Windows: Fix window geometry when using QWindow::fromWinId().
Take margins into account.

Task-number: QTBUG-43252
Change-Id: I816115d2bbbcee3e8663f42bf07b1a140a049e69
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-11 16:10:47 +01:00
Friedemann Kleint
3740fb41fe DiagLib: Add Wheel event to mouse event category of the event filter..
Task-number: QTBUG-42731
Change-Id: Ib0293a245ed430bd86a1ceb221628b3044ad305e
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-12-11 16:10:32 +01:00
Alexander Volkov
7b8aaf04f6 Propagate the source of mouse events
Set the source for mouse events which were caused
by other mouse events.

Change-Id: Ifca1648883ef2b94bb317ed9340759475d350146
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-11 15:54:01 +01:00
Richard Moe Gustavsen
fb9eca8c9c iOS: let keyboard gesture work better with other gestures
Let the keyboard gesture work better alongside other gestures
by reporting that it should:

1. not prevent other gestures from triggering. This means that
    even if our gesture triggers (we close the keyboard), gestures
    attached to sub-views will still continue tracking.
2. not be prevented by other gestures. This means that if
    a gesture in a sub-view triggeres before our gesture, our gesture
    will still continue to track.

In short it means that regardless of other gestures, we always
close the keyboard if our text responder is first responder and
the user flicks down. And we do so as "silently" as possible.

Change-Id: I22386b5ef5dedbc498a2899929ddd07424e514d8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 15:20:08 +01:00
Richard Moe Gustavsen
de04841e19 iOS: only clear focus object if it supports IM
We try to keep a on-to-one relationship between UI controls with text input
and keyboard visibility. But if the control does not use text input, then
there is no reason for us to clear focus when the keyboard hides. In fact, we
should avoid doing so, since that will stop e.g buttons from working correctly.

The typical flow is:

- a touch release targeting a button is sendt to QApplication.
- QApplication transfers focus to the button.
- qiosinputcontext gets notified, we refuse, and clear focus again.
- QApplication enters a propagation loop where it tried to
    find out the receiver of the event. Since the button is now
    unfocused, the event will propagate up to a grandparent instead.
- the button will as such not trigger.

Change-Id: I70baa38299f40defc4a77f62790502e2d6ebbba9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 15:19:59 +01:00
Kai Koehne
87e9e76d97 ANGLE: Do not use std::strlen
This is a cherry-pick from upstream change

e7cfb3dd2029c1bfe5c175ad994c03cac221ad4d

Change-Id: Iefe01545319f9ad268c0c6bf8e8b2181e09d8a84
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-11 14:39:05 +01:00
Tor Arne Vestbø
8aa663e139 iOS: Only scroll to cursor on keyboard hide gesture reset if requested
Change-Id: I15b313b5f0d57358e405f16e941fc5061028c6a7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 14:39:00 +01:00
Tor Arne Vestbø
e415ed83af iOS: Don't scroll screen on changes to input item transform
We auto-scroll the screen to reveal the cursor whenever the cursor rect
changes or other properties of the input methods are updated, but the
expected behavior when explicitly moving an item under the keyboard,
such as when scrolling a view or moving an item using drag, is to
not scroll the screen until typing commences. This matches how eg.
Safari or the Notes app handles the same use-case.

Change-Id: I6b6932d9bcbdccd8df26db982246c162f1574d86
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 14:39:00 +01:00
Tor Arne Vestbø
47326b9c5c GL2PaintEngine: centralize logic for updating/preparing textures
Rewrite of updateTextureFilter to include activating and binding as well,
so that we can maintain a single view of which texture was the last one
to be used from within the engine itself.

The behavior should be the same as before.

Change-Id: I41781d00458b0176c614266f4360db3c68b120a1
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-11 06:14:28 +01:00
Tor Arne Vestbø
e9222e199d GL2PaintEngine: Prevent fillInPendingGlyphs from breaking gradients
The glyph cache internally uses the image texture unit when blitting,
but doesn't always activate the unit before binding its texture,
resulting in sometimes binding the glyph cache texture to the
wrong unit.

The image texture unit is also the same as the brush texture unit,
so any time we fill in pending glyphs we need to re-bind the brush
texture, otherwise drawing text with eg. gradients will fail after
the new glyphs have been filled.

The new hasPendingGlyphs() member function of the glyph cache
is an optimization so that we don't need to activate and rebind
unless there are glyphs that need to be filled.

Change-Id: Iac74130145d2d6d7bf95206b5e8a2fc760743cb5
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-10 21:49:55 +01:00
Paul Olav Tvete
e79cdd0e6d Enable input methods for QQuickWidget
Make it possible for widgets to have non-widget focus objects. Since
we cannot add new virtual functions due to binary compatibility, we
have to do it in QWidgetPrivate.

Task-number: QTBUG-42677
Change-Id: I5f74daed2793c1c149bbe02e54ff2f7e2ad1af9e
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-10 15:56:47 +01:00
Martin Gräßlin
6a7ee92b39 Handle SelectionClientClose in QXcbClipboard
QXcbClipboard listens for subtype SelectionClientClose of Xfixes
SelectionNotify event, but doesn't handle it. When the client holding
the clipboard selection closes the Clipboard becomes empty and thus the
change should be emitted.

This fixes downstream KDE Bug #329174.

Change-Id: I19fb8cfd7bd3b249c0bc6ca2a724a9aeeb05ac7e
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
2014-12-10 12:45:58 +01:00
Alejandro Exojo
dd670a2f3d doc: Clarify NOTIFY emission with MEMBER variables
Document that NOTIFY signals should be emitted only when really needed,
and that such is the case with MEMBER variables.

Change-Id: Icc38a0790aa43ffe8f24d124da966b4240a41a6f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-12-10 11:09:25 +01:00
Kai Koehne
f17d7a124f Use categorized logging for ssl code
Place all debug output into the 'qt.network.ssl' category.
This allows people to disable certain warnings at runtime.

Task-number: QTBUG-43173
Change-Id: Ide731fae3109f9cd7730cc096ee069a5b99d35f1
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-12-10 11:07:46 +01:00
Benjamin Summerton
7d2357b0a8 Fixed small bug in code snippet for QGraphicsItem
If the enumeration "Type" isn't declared in the public scope, it will
cause an issue upon compilation.  Previously, it was ambiguous on which
access level this should be in.  Snippet [18] though has the enumeration
in the correct access level.

Change-Id: If699df80def3e1b09d8d82df74c4ca85eba003d2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-12-10 05:50:14 +01:00
Benjamin Summerton
30fdd71b63 Removed redundancy in QGraphicsItem documentation.
Snippets [1] and [QGraphicsItem type] are the exact same, each
referenced once, and only in the same file.  Removed the later snippet.

Change-Id: I4f35a8322034b00e9b5f5d6c6d96e652f11f8384
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-12-10 05:50:04 +01:00
Paul Olav Tvete
b9547af45e Android: Make cursor keys work again
On Android, we disable mouse selection, since that does not work
well with touch screens. In change a03a69efb9,
we accidentally disabled keyboard selection as well. Unfortunately,
disabling keyboard selection will disable all keyboard movement.
This change re-enables TextSelectableByKeyboard.

Task-number: QTBUG-42991
Change-Id: Ie63ed3d88a0abcb72f04e0ec60a5b91c0b14a47e
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-09 17:40:02 +01:00
Dmitry Shachnev
404f4281fd qimage_conversions.cpp: Fix build on big endian systems
Change-Id: I8149eb2deaa101daf85a957ff48c3a7140c43bbc
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2014-12-09 17:03:04 +01:00
Jan Arve Saether
5a6735316a Do not initialize accessibility code by default on startup.
Instead listen for if the accessibility service is running or not by
implementing AccessibilityStateChangeListener.
This seems to work smoothly when turning on or off TalkBack.

This should also improve startup time.

Change-Id: I3eb7d6cb9c9c1618afbb59675e4e089c9159019c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-09 16:59:03 +01:00
Friedemann Kleint
a6436ff559 Windows: Limit cursor cache.
Prevent the cursor cache from growing indefinitely hitting GDI resource
limits if new pixmap cursors are created repetitively by purging out
all-noncurrent pixmap cursors.

Change-Id: I4a3bbd6235af13e306ca84ac6fea3fcd69d53279
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-09 16:53:37 +01:00
Simon Hausmann
9ccd359be8 Attempt to make the positioning test of QWindow more reliable
The part of the test that verifies that setFramePosition moves the window
successfully appears to be very unreliable in the CI system. The "tested"
frame position is calculated to be at (40, 40) relative to the top left
of the available screen geometry, which can be non-zero due to task bars
and similar system ui elements. However that position appears to be
unreliable in the sense that the window manager doesn't seem to always
respect that. So instead let's try placing the window (by frame position)
in the center of the screen instead.

Change-Id: I96fe6c37e748fc18262632b5effe5a9e90dc0028
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-09 16:52:37 +01:00
Paul Olav Tvete
66e48d2c2f Support vertical sliders on Android
There is no such thing as a vertical slider in the native Android
style. Therefore, we need to rotate the painter in order to draw
one.

Task-number: QTBUG-41992
Change-Id: Ibe2bf1d7fa27756aad0b8469c8752d6d3e848527
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-09 11:47:40 +01:00
Giuseppe D'Angelo
b39bbc95f6 QHeaderView: take the sort indicator into account when eliding text
By adding PM_HeaderMarkSize to the margins if the section is showing
a sort indicator. Turns out that that particular enum was actually
unused in QtWidgets (!), so tune the value to match reality.

Task-number: QTBUG-629
Change-Id: I8bc70451656d634a064c8b5014e449977c55aa9d
Reviewed-by: Cristian Oneț <onet.cristian@gmail.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-09 07:49:02 +01:00
Giuseppe D'Angelo
b5f8502c12 Styles: improve SH_Header_ArrowAlignment handling
The docs were wrong, and the returned values from some styles
did not match reality, so fix that. Again, this style hint was
not used at all within QWidgets...

Task-number: QTBUG-629
Change-Id: Ie6ff80fd09bc3292ba3d787ccca4d6f4c0056e89
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-12-09 07:48:58 +01:00
Przemysław Czerpak
1b548faa77 Added support for CTRL key modifier to Android builds.
Change-Id: Ib3eddb33348c54cec6cee62abdf69104059affb0
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-08 13:23:56 +01:00
Alejandro Exojo
1d61e3267d doc: Clarify \inqmlmodule usage
The \inqmlmodule command only accepts one parameter: the name of the module.
This was producing some confusion, since in qtdeclarative there were some wrong
import statements and it wasn't obvious which command was producing them.

Change-Id: Idb41f12f20f05757942b0957c512d195ec8500b3
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-12-08 11:38:44 +01:00
Laszlo Agocs
d52ea19862 Take ShareOpenGLContexts into account in QOpenGLWindow
While the attribute was originally intended for widgets (QOpenGLWidget,
QQuickWidget) only, we need a way to get multiple QOpenGLWindow instances
whose contexts share with each other.

Change-Id: Ib983c9c2815b0a3911bc504ffad8d8dddad192aa
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-08 10:28:13 +01:00
Richard Moe Gustavsen
370d421495 Widgets: be more careful when setting focus on touch release
An application might choose to change focus when receiving mouse/touch
press/move events. This is in conflict with Qt assigning focus on touch
release (QPlatformIntegration::SetFocusOnTouchRelease), since Qt
might then reassign focus to something else.

An example of this is seen with the "frozencolumn" example. Here, when
the user double clicks on a cell, the application creates an 'edit'
widget inside the cell that gets focus. But at soon as the last release
is sent, Qt will change focus to the focus proxy of QScrollArea instead.

This patch will introduce an exception to setting focus on release, so that
we only set focus if we detect that focus didn't change (by the app)
while processing press/move events.

Task-number: QTBUG-39390
Change-Id: I7b398b59e3175265afd2fcd938e11f88155abc89
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-08 09:56:25 +01:00
Friedemann Kleint
aca0fb1786 Update window flags from QToolBarPrivate::endDrag().
Activate previously #ifdef'ed code which cleared
the Qt::X11BypassWindowManager hint. With the hint
set, the tool bar stays on top and does not get deactivated
along with the application by the WM.

Task-number: QTBUG-41189
Change-Id: I6f3f334860e46dd4867f5942f15e5a090340f2d7
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-12-08 09:47:31 +01:00
Tor Arne Vestbø
8ee7aa78af qt_mac_loadMenuNib: Prevent stale NIB files by diffing file size
If we're changing the contents of the nib files in Qt, we need to
overwrite the nib files that we write to /tmp, as QFile::copy() does
not overwrite files.

This also catches the case where the files in /tmp are empty due to
a possible broken qrc-run, where re-runs of qrc to fix the resources
would still leave the corrupt nib in /tmp, resulting in:

  -[NSKeyedUnarchiver initForReadingWithData:]: data is empty; did
     you forget to send -finishEncoding to the NSKeyedArchiver?

And as a consequence:

  qt_mac_loadMenuNib: could not instantiate nib
  ASSERT: "mainMenu" in file qcocoamenuloader.mm, line 154

Change-Id: I2907a32d1a56c23a27343c81839a06b65a529372
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-05 15:39:10 +01:00
Friedemann Kleint
05ad2fc2f4 Fix warnings by MSVC 64 in qtranslator.cpp.
kernel\qtranslator.cpp(880) : warning C4267: 'initializing' : conversion from 'size_t' to 'const uint', possible loss of data
kernel\qtranslator.cpp(881) : warning C4267: 'initializing' : conversion from 'size_t' to 'const uint', possible loss of data
kernel\qtranslator.cpp(882) : warning C4267: 'initializing' : conversion from 'size_t' to 'const uint', possible loss of data
kernel\qtranslator.cpp(975) : warning C4267: 'initializing' : conversion from 'size_t' to 'const int', possible loss of data

Task-number: QTBUG-39757
Change-Id: I54f130e1d83ecc1623ab3c7b9b4fb14de6351625
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-12-05 15:32:46 +01:00
Nico Vertriest
b74e046174 Doc: corrected autolink issues qalgorithms.qdoc
Task-number: QTBUG-40362
Change-Id: Ia609b68b52472342d791a032974a3d866e8d3266
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-12-05 15:32:43 +01:00
Friedemann Kleint
0a91f15878 Diaglib: Fix another typo in .pri file.
Change-Id: I2888c4fb9947d61285a8a570661a29e61b10bbce
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-05 15:32:37 +01:00
Simon Hausmann
8c0014213b Merge "Merge remote-tracking branch 'origin/5.4.0' into 5.4" into refs/staging/5.4 2014-12-05 16:45:27 +01:00
Allan Sandfeld Jensen
c43133c81e Make no_debug_info also strip out -gstabs
Since QtWebKit started using stabs on some platforms to reducing
memory pressure during linking, the tricks to strip out debug-info
in the internals no longer worked because no-debug-info doesn't strip
the -gstabs compiler and linker flags.

Change-Id: I151088f29058b8fe50cba9aa3ec8ecd84b85d7d8
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-12-05 14:51:33 +01:00
Paul Olav Tvete
8015ffef1e Fix QOpenGLWidget/QQuickWidget GUI freeze
A window with a renderToTexture child uses the OpenGL path, but when
we open a popup or dialog, that uses the raster compositor, which opens
a separate surface. This patch fixes two issues when combining GL rendering
with the raster compositor:

1. GL-rendered widgets were counted as part of the raster-rendered region,
meaning that we did not punch a hole in the raster surface.

2. We did not destroy the surface when no longer needed.

Task-number: QTBUG-41467
Change-Id: I2a2a0e860cce065b330df1c864d51fd02103aa1b
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-05 14:25:09 +01:00
Gabriel de Dietrich
a43684c0da QMacStyle: Fix 32-bit build
Again one of those CGRect vs. NSRect issues.

Change-Id: Ia933cd6f002585e21247d2f9f85d2451db6dbaa0
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2014-12-05 13:34:03 +01:00
Tor Arne Vestbø
3f1cb33d35 Reformat QOpenGL2PaintEngineExPrivate a bit to make it easier to refactor
Change-Id: I99f7192008ae8ea3a16f5300e5e4ebdde50847af
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-05 13:22:19 +01:00
Simon Hausmann
7644faa881 Merge remote-tracking branch 'origin/5.4.0' into 5.4
Change-Id: I0cd11cbe95693b78450ea81a0187760f4a6a8b5f
2014-12-05 11:53:33 +01:00
Eskil Abrahamsen Blomfeldt
0fa5310425 Android: Enable -fno-builtin-memmove in arm builds
On some devices, a miscompilation of libc.so has caused it to
return the wrong value. Instead of returning the dest pointer,
it returns dest + n. When compiling with optimizations turned
on, gcc may use this return value for subsequent accesses to
dest after the memmove() call, causing memory corruption.

This caused problems e.g. in QVector::prepend() which would
overwrite the whole vector with the new value.

Setting -fno-builtin-memmove disables the optimization and
works around this bug with very little risk or impact.

More information in:
     http://code.google.com/p/android/issues/detail?id=81692

[ChangeLog][Android] Fixed device-specific crash on Samsung
Galaxy Tab 3 Lite 7" and some other devices.

Task-number: QTBUG-34984
Change-Id: I0c1347149eb5fe1c298758fe7de81aca4137f652
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-12-05 08:13:56 +01:00
Oliver Wolff
451668d252 WinRT: Only set keepalive socket option in certain socket states
The keepalive socket can only be set if the socket is not connected
(see
http://msdn.microsoft.com/en-us/library/ie/windows.networking.sockets.streamsocketcontrol.keepalive)

Task-number: QTBUG-38623
Change-Id: Ia40dc66f071a8109538e4be7a8f420de81d5be8d
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
2014-12-05 08:00:44 +01:00
Giuseppe D'Angelo
8920200c97 QColumnView: don't set an invalid index as the current one
When any item in a QColumnView gets selected, the next column gets
normally set to show the children of that index. When we are on a leaf
of a tree model, the next column will have an invalid root index, yet
we set that root index as the "current index" for the current column.

Due to the special handling for invalid indexes in
QAbstractItemView::setCurrentIndex, this ends up breaking the current
item AND the current selection in that column. Further clicks inside
the column for instance trigger the entire column (up to the clicked
index) to get selected, because of that broken first setCurrentIndex.

The simple fix is to stop doing that when the next column has
an invalid root index.

Task-number: QTBUG-2329
Change-Id: Icd10c0b958e25cd868536e1315561787977b68bd
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-05 07:57:46 +01:00