Commit Graph

17123 Commits

Author SHA1 Message Date
Niclas Rosenvik
a02c04a51b qstorageinfo_unix.cpp: fixes for NetBSD and solaris
NetBSD uses struct statvfs ** as first argument to getmntinfo.
see: http://netbsd.gw.com/cgi-bin/man-cgi?getmntinfo

getmntent on solaris and sunos returns an integer not a pointer.
see: http://www.unix.com/man-page/opensolaris/3c/getmntent/
see: https://smartos.org/man/3C/getmntent

Change-Id: Ic01da0edcf1f55617294e5a86b8459669e82c1b1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-13 18:38:17 +00:00
Joerg Bornemann
96cc8eec9b remove the "wonderful Windows notifier" from QProcess
Remove the 100 ms timer that was used to nudge QProcess to write data
to the child's stdin. Instead, react on the canWrite() signal of
QWindowsPipeWriter.
QProcess::writeData needs to call _q_canWrite via the event loop to
start the write operation. The socket notifier code was never in use on
Windows.

Task-number: QTBUG-45457
Change-Id: I99c956ba5f2169f80068eee206543ceb9788b2e0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-13 14:51:57 +00:00
Giuseppe D'Angelo
a36adfc73e Upgrade PCRE to r1546
Thanks to LLVM's libFuzzer a dozen of assorted buffer overflows has
been discovered, see [1, 2]

[1] http://vcs.pcre.org/viewvc/code/trunk/ChangeLog?view=markup
[2] http://blog.llvm.org/2015/04/fuzz-all-clangs.html

Change-Id: Ib9fd8dfaee8dc50e1899ebac83a74ac1107a0bd2
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-04-12 18:18:41 +00:00
Kai Uwe Broulik
95b481ea6d qiostextresponder: Add support for ImhLatinOnly
Change-Id: I38f43cd644d3c26c834cf60019c4db1fa0b8d61f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2015-04-12 10:09:25 +00:00
Kai Uwe Broulik
4fab4d2e80 qiostextresponder: Use UIKeyboardTypePhonePad for ImhDialableCharactersOnly
Change-Id: I8123199da51a0b840c068bea4ba089c0fec9697b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2015-04-11 17:19:18 +00:00
Simon Hausmann
d11665b27c Speed up application startup on X11
Avoid parsing the composition tables on application startup. Instead let's
do that on-demand the first time a composition key is pressed.

Change-Id: I52feb36246a091b9a84d46e479ba2ad1f5cd1556
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-10 21:10:09 +00:00
Simon Hausmann
1aab68648d Speed up compose file parsing in the X11 composition input method plugin
There's no need to decode the string until the end of the line, it's
sufficient to stop at the end of the quotes.

Change-Id: Ie617d2538511e91d0e0146f98b7e5ea3213b8db2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-10 21:10:02 +00:00
Alexander Volkov
364905b592 xcb: Fix getting of virtual roots
Update QXcbWMSupport::net_virtual_roots instead of QXcbWMSupport::net_wm_atoms.
It's a copy/paste error.

Change-Id: If146955d954850f02980f473ad2318d67f193ec9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
2015-04-10 21:09:41 +00:00
Alexander Volkov
4ecae86e4b xcb: Handle XSettings for a virtual desktop rather than for an output
The virtual desktop may be composed of several outputs which are
represented by the QXcbScreen class. XSettings are related to
the virtual desktop, so introduce a QXcbVirtualDesktop class and
store QXcbXSettings in it.

Change-Id: Ib2261675ef8e5136592d4b856bc84646db3a3af4
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-04-10 21:09:31 +00:00
Alessandro Portale
6c6fe766a8 Improve QTextDocument::toPlainText doc related to inline images
"Embedded objects, such as images, are represented by a
Unicode value U+FFFC (OBJECT REPLACEMENT CHARACTER)."

Also updated the QTextImageFormat docs with the same wording.

Task-number: QTBUG-44538
Change-Id: I64dd5f5be4a0ecc64b30758a72f8b4281c17924b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-04-10 15:37:06 +00:00
Konstantin Ritt
7e721d24d7 [QWin32PrintEngine] Do not do any language-specific processing
...and simply use the glyph indices provided by the QTextItemInt
(since we always provide the glyph indices, even for non-TTFs).

Task-number: QTBUG-40683
Change-Id: I276e9c6831a770e888f9ba0640353d20711a3d02
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-10 13:18:48 +00:00
Erik Verbruggen
b2f6406b6f QStateMachine: remove conflicting transitions after selection.
After selecting all (enabled) transitions for a microstep, filter out
any conflicting transition. The actual conflict resulution is done by
ordering the transitions in order of the states that selected them.

For example: if an event would trigger two transitions in a parallel
state where one would exit that state and the other would not, this
filtering prevents the state machine from selecting both states (as this
case is an invalid state of the whole machine).

This also fixes the exit set calculation for parallel states when one of
its substates is exited and subsequently re-entered in the same
transition. Previously, the parallel state was not exited, and
subsequent re-entry was ignored (because it was still active). Now it is
correctly exited and re-entered.

A side-effect of the transition ordering mentioned above is it also
fixes the non-deterministic behavior of which of the conflicting
transitions is taken.

[ChangeLog][QtCore] Fixed an issue where the state machine could end up
in an invalid state when transitions from a parallel state were not
checked for conflicts.
[ChangeLog][QtCore] Fixed a case where a parallel state was not exited
and re-entered when one of its substates was exited and subsequently
re-entered.
[ChangeLog][QtCore] Fixed the non-deterministic behavior of picking a
transition from a set of conflicting transitions.

Task-number: QTBUG-44783
Change-Id: I2ee72b6a2f552077bfa7aa4d369474ab62f4c2f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2015-04-10 12:59:52 +00:00
Erik Verbruggen
e616bd2641 QStateMachine: fix history state restoration.
When a history state is entered that has an actual saved history (so not
the initial state), the entry set was calculated wrongly in some cases.
See the bug report for the specific case.

The fix is to fully implement the standard, so method names in the
private class are updated to reflect the names as used in the standard.

Note that, as mentioned in the bug report, the algorithm as described in
http://www.w3.org/TR/2014/WD-scxml-20140529/ has a bug. What is
implemented is the fixed algorithm as described in the current working
draft as of Friday March 13, 2015. This draft can be found at:
http://www.w3.org/Voice/2013/scxml-irp/SCXML.htm

[ChangeLog][QtCore] Fixed an issue where a history state restore would
activate too many states, possibly putting the state machine in an
invalid state.

Change-Id: Ibb5491b2fdcf3a167c223fa8c9c4aad302dbb795
Task-number: QTBUG-44963
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-10 12:59:20 +00:00
Erik Verbruggen
ab8d205320 QStateMachine: move methods out of Private class.
Also rename them to match the names in the scxml standard, and add the
relevant description from the standard to the methods.

Change-Id: I495832358f5836ed6ea04bf43061d42e29f4f743
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-10 12:59:13 +00:00
Eike Hein
417a221072 Expose ItemViewActivateItemOnSingleClick in QStyleHints
This completes support for ItemViewActivateItemOnSingleClick in
QPlatformIntegration and exposes the setting in QStyleHints.

Based on the review process, the public name used is
'singleClickActivation' for brevity, as well as to avoid con-
fusion over alluding to "item views" in the Qt Quick context.

KDE Plasma intends to use this via Qt.styleHints to have
Qt Quick-based UI correctly implement the global single vs.
double click user preference for item activation.

[ChangeLog][QtGui] Added QStyleHints::singleClickActivation
to access whether the platform expects item activation to
occur on single clicks rather than double clicks.

Change-Id: I0916e9e68c3a157f95053da8227b2612803653f7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-10 12:27:38 +00:00
Andy Shaw
34ec0713bb Add a means to set the application icon where supported
On OS X the application icon can be changed at runtime, so this adds a way
to set this via the QPlatformIntegration.

[ChangeLog][OS X] QApplication::setWindowIcon now changes the icon for the
application in the dock.

Task-number: QTBUG-43999
Change-Id: Ice298c0bd52f10f4866f37c6d3f20cf5419b7a1b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2015-04-10 10:10:25 +00:00
Friedemann Kleint
b59521f2a4 Add FIXME comments to make Q[]Validator::setRange() non-virtual.
There is no apparent reason why these functions should be virtual.
The virtual keyword originates from the CVS import.

Change-Id: I4f8051cd4e89ca3037a78d12f17c93265c755b8e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
2015-04-10 09:41:21 +00:00
Lars Knoll
c52bcf7337 Support gradients natively in the PDF generator
Add native support for linear and radial gradients to our
PDF generator. This fixes a couple of issues with both the
quality of the generated PDFs as well as sizes of the files.

Task-number: QTBUG-42758
Change-Id: Ib905457e11e4dc52443c76b3761bca8d1fbe9bfc
Reviewed-by: Stephen Chu <stephen@ju-ju.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2015-04-09 12:22:13 +00:00
Eirik Aavitsland
68c137cc72 Update bundled libpng to version 1.6.17
Merged in the upstream version, which obsoleted many of the local
patches. The remaining diff to clean 1.6.17 is archived in the
qtpatches.diff file.

Change-Id: I5065435dc5a922d3f4a46eb37a23a4877dde2ee6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-09 12:14:28 +00:00
Caroline Chao
a11ffc7bc6 testlib: Detect msvc version for blacklisting
Check _MSC_VER to detect the msvc version (2010, 2012 or 2013).

Change-Id: I96a73d316a6124e38b2c48c5752dfc22357f8d00
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-04-09 10:31:43 +00:00
Andrew Knight
c32048c62f winrt: Fix platform plugin after ANGLE upgrade
Remove manual EGL window resizing as this is now handled inside ANGLE.

Change-Id: I0d4c4df71114c60f4ce75e9010f40a0fd58dee1a
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-04-09 10:31:20 +00:00
Andrew Knight
310488a196 windows: Fix platform plugin compilation with new angle
The identifiers for configuring a software renderer changed.

Change-Id: I739cedbb0a00bc6be94df716d66cd1520d4f7c9d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-09 10:31:16 +00:00
Andrew Knight
a218a252c4 Upgrade ANGLE to 2.1~99f075dade7c
This aligns with Chromium branch 2356.

This version brings more complete OpenGL ES 3 support as well as various
bug fixes and performance improvements.

The following changes were made to earlier patches:

-0000-General-fixes-for-ANGLE-2.1
  Removed. All changes are now handled elsewhere.
+0001-ANGLE-Improve-Windows-Phone-support
  Consolidated remaining parts from 0009/0010.
+0002-ANGLE-Fix-compilation-with-MinGW
  Remaining issues from patch 0016.
+0003-ANGLE-Fix-compilation-with-MSVC2010
  Remaining issues from patch 0015.
+0004-ANGLE-Dynamically-load-D3D-compiler-from-list
  Renamed from patch 0008.
+0005-ANGLE-Add-support-for-querying-platform-device
  Renamed from patch 0013.
-0004-Make-it-possible-to-link-ANGLE-statically-for-single
  Removed. Fixed by adding defines to project files.
-0008-ANGLE-Dynamically-load-D3D-compiler-from-a-list-or-t
  Renamed to patch 0005.
-0009-ANGLE-Support-WinRT
  Removed. Mostly fixed upstream; remaining parts in patch 0001.
-0010-ANGLE-Enable-D3D11-for-feature-level-9-cards
  Removed. Mostly fixed upstream; remaining parts in patch 0001.
-0012-ANGLE-fix-semantic-index-lookup
  Removed. Fixed upstream.
-0013-ANGLE-Add-support-for-querying-platform-device
  Renamed to patch 0005.
-0014-Let-ANGLE-use-multithreaded-devices-if-necessary
  Removed. No longer needed.
-0015-ANGLE-Fix-angle-d3d11-on-MSVC2010
  Moved remaining parts to patch 0003.
-0016-ANGLE-Fix-compilation-with-MinGW-D3D11
  Moved remaining parts to patch 0002.
-0017-ANGLE-Fix-compilation-with-D3D9
  Removed. Fixed upstream.
-0018-ANGLE-Fix-releasing-textures-after-we-kill-D3D11
  Removed. Fixed upstream.
-0019-ANGLE-Fix-handling-of-shader-source-with-fixed-lengt
  Removed. Fixed upstream.
-0020-ANGLE-Do-not-use-std-strlen
  Removed. Fixed upstream.
-0020-ANGLE-Fix-compilation-with-MSVC2013-Update4
  Removed. Fixed upstream.

[ChangeLog][Third-party libraries] ANGLE was updated to Chromium branch
2356 (2.1~99f075dade7c).

Change-Id: I32ccbfe95e10986bd94be7191dfd53445ea09158
Task-number: QTBUG-44815
Task-number: QTBUG-37660
Task-number: QTBUG-44694
Task-number: QTBUG-42443
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-09 10:31:12 +00:00
Peng Wu
331ddacfca winrt: set correct virtual keyboard size
This is done by multiplying by the DIP scale factor.

Task-number: QTBUG-44152
Change-Id: I587a66f1a2f7fa3a713c279f5d877e6acb844620
Reviewed-by: Andrew Knight <qt@panimo.net>
2015-04-09 10:30:47 +00:00
Peng Wu
2af77ab826 winrt: remove the dead WP8.0 code from input context
Change-Id: I8db61b4db32052f64833767085f2ebc5f1cc5bcf
Reviewed-by: Andrew Knight <qt@panimo.net>
2015-04-09 10:30:35 +00:00
Friedemann Kleint
f932a85bd9 Windows: Fix dialog close button showing despite ~Qt::WindowCloseButtonHint.
Further restrict the condition under which the special window
flags for QTBUG-2027 apply.

Change-Id: I458c7c6bfb06820992b5a21820c0439fd2ce7d9d
Task-number: QTBUG-2027
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-04-09 10:30:07 +00:00
Paul Olav Tvete
f3e405cb3b Fix logicalDotsPerInch when using devicePixelRatio
Qt does not support having different fontMetrics for different screens

Also add environment variable for overriding logicalDpi

Change-Id: I0baf73026d97fec590597ee304ad9fa119d7a328
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-04-09 10:22:51 +00:00
Laszlo Agocs
2314286883 evdevtouch: Add hotplug support
Follow the exact same structure as evdevmouse and keyboard.

We must do monitoring via device discovery just like we do for keyboards and mice.
Otherwise the usage of touchscreens that connect via USB or can be turned on/off
independently from the board becomes troublesome.

Change-Id: I2de3b519e8d617b0612e5df486e481bbc09b9c8c
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
2015-04-09 09:58:15 +00:00
Gatis Paeglis
65d2b6b4df Add missing event types in printXcbEvent
And replace Xlib define GenericEvent with
XCB define XCB_GE_GENERIC.

Change-Id: Ie82cb7f58b18fc0d253e4b7fd65495608df0a7d9
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-04-09 09:05:51 +00:00
Erik Verbruggen
24b3d82eff QStateMachine: move QState::finished() emision into method.
By moving the code for QState::finished() emission into a virtual
method which also receives the QFinalState that caused the emission,
subclasses can hook in and do some extra processing.

Change-Id: Id19947c09e196a0df4edb87d71b74b0600c78867
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-09 08:42:06 +00:00
Friedemann Kleint
56d091a4ea QToolButton: Fix popup menu geometry in case of QGraphicsProxyWidget.
QDesktopWidget::availableGeometry(const QWidget *) returns the scene
geometry when the widget is embedded into a QGraphicsProxyWidget.
Work around by using the overload taking a point.

Task-number: QTBUG-38559
Change-Id: Ie630bda57e14648255015587a04e29b0de96bab7
Reviewed-by: Arnaud Bienner <arnaud.bienner@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-04-09 08:30:12 +00:00
Friedemann Kleint
d984b07221 Guard QWidget::setStyleSheet() against invocation from destructor.
Task-number: QTBUG-45178
Change-Id: I3670d9cd9645155318b595d1324a3b3caf2352f6
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-04-09 08:30:02 +00:00
Andy Shaw
f0cee4568e Add a null pointer check for parent before derefencing it
Change-Id: I5b411f50acc6719b36cdde9ae2dd766b29e9731c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-09 07:07:55 +00:00
Thiago Macieira
bc00e6da84 QIconvCodec: fix compilation when NO_BOM is defined.
qiconvcodec.cpp:305:34: error: unused parameter 'cd' [-Werror,-Wunused-parameter]

Change-Id: I27eaacb532114dd188c4ffff13d330b64b4feaa6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-09 06:09:16 +00:00
Alex Trotsenko
7c149dd869 Prevent memory overgrowth while reading from a sequential device
After flushing the internal buffer, QIODevice::readAll() attempts
to read the device incrementally. On each iteration, the result buffer
size is increased by a constant value independently from the number of
read bytes. This lead to unreasonable growth of the buffer if these
additional conditions were met:

 - readData() requests new data from the device on every call;
 - highly loaded device provides at least one byte on each request.

Instead of constant resizing, keep the size of free block to avoid a
possible memory exhaustion.

Task-number: QTBUG-44286
Change-Id: I637e2d0e05bd900a1bb9517af2fe7d8038c75a35
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-08 16:35:40 +00:00
Laszlo Agocs
db52d55fba Avoid leaking the QPlatformTextureList
Task-number: QTBUG-45395
Change-Id: I8fbdc5136d7d15b9c131d6b91186a1bf2645e4d4
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-04-08 16:26:37 +00:00
Laszlo Agocs
cd61b6c969 Add a cast to glTexImage2D to keep QNX happy
The internalformat parameter seems to be GLenum (unsigned int) on QNX
based on the error message in the linked bug report. The standard is
GLint, though. To keep everyone happy, add a cast.

Task-number: QTBUG-45346
Change-Id: I57fece7b381e0d02acc842a21b1edc5451ea0224
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-04-08 16:26:20 +00:00
Allan Sandfeld Jensen
e63752e6bb Remove table of mostly null pointers
The patch moves the initialization of the format to format blend tables
to runtime, so we only have to explicitly set the values that are
not null. This removes most of the lines in qblendfunctions.cpp.

Change-Id: Ie017f380ff11cfb764a631cfea7626786731b5fb
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-04-08 15:27:53 +00:00
Konstantin Ritt
5b5d25cc41 [QtFontFamily] Get rid of unused member
Change-Id: I8c70995767bfb5fdbd6e9e9464029beeccf41f53
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-04-08 15:17:47 +00:00
Jake Petroules
00540a8345 Remove special handling for (DY)LD_LIBRARY_PATH in QProcess.
This provides the ability to pass a *real* clear environment to a
QProcess, rather than (DY)LD_LIBRARY_PATH always being copied over
from the current environment behind-the-scenes. This is important
to users because passing a truly clear environment is now possible.

[ChangeLog][Important Behavior Changes] (DY)LD_LIBRARY_PATH will
no longer "stick" in the process environment when starting a
QProcess. This means that if a QProcess is started with a clear
environment, it will not specially inherit (DY)LD_LIBRARY_PATH
from the parent process. This should not affect most applications,
but if the old behavior is desired, one can simply pass a clear
QProcessEnvironment with the (DY)LD_LIBRARY_PATH values added, to
the QProcess.

Change-Id: I51d1bc14905c5cc126fb02d91dddc2faade41a3c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-08 15:13:27 +00:00
Friedemann Kleint
a21a24ee48 [QFontEngineFT::loadGlyph] Fix reversed condition.
Introduced by 237cb0d082
(Consolidate paths for fetchMetricsOnly cases).

Task-number: QTBUG-45444
Change-Id: Icd642c09490f1cfc5804313d60d467290ae599ba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-04-08 12:10:12 +00:00
Kai Koehne
a60571b370 QSaveFile: Fix permissions on creation
QSaveFile is intended to be a replacement for QFile, and should use the
same permissions for newly created files. QTemporaryFile however creates
new files with 0600 mask by default.

Fix this by making the mode_t argument QTemporaryFileEngine uses
configurable, and using 0666 for QSaveFile (like we do in QFile).

[ChangeLog][Important behavior changes] Files created by QSaveFile do
now have the same rights as files created by QFile. This also fixes a
regression in QSettings: In the Qt 5.4 series, new files created by
QSettings were only readable by the current user.

Task-number: QTBUG-44086
Change-Id: Ie1cc20e9f25c6e72e1bc9176490c419c27c5fc82
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-04-08 07:48:17 +00:00
Laszlo Agocs
a715c6ceb8 Use the default fbo in Qt sense in blitFramebuffer
QOpenGLFramebufferObject::blitFramebuffer() passes 0 when no FBO is specified.
This goes against the rest of the framework where the default fbo is what
QOpenGLContext::defaultFramebufferObject() returns. This becomes significant
with QOpenGLWidget and on iOS.

Task-number: QTBUG-45328
Change-Id: Iaeb82cd3786ad395116679c9626bdcb10e93b4e3
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-04-08 05:58:27 +00:00
Marc Mutz
8780381532 QByteArray: begin()/end() are not \internal
Docs copied from corresponding QString functions.

Change-Id: Ia2b0f0521780246d82003a1fda539c132823b294
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-04-07 16:34:25 +00:00
Marc Mutz
dc6e964f63 docs: QString contains characters, not items
Change-Id: I479a731780dfce81e138d1aca950385437266763
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-04-07 16:34:06 +00:00
Thiago Macieira
22dbf6111d Remove unnecessary QDateTime::detach() function
Last commit changed QDateTime::d to be a QSharedDataPointer that
implicitly detaches on non-const operator->() calls. That means we no
longer need to explicitly call detach().

More than that, we should not do it, so we avoid checking the ref count
and try to detach on every use. To do that, in functions where the d
pointer was accessed more than once, I detach at the top and shadow the
"d" variable with a local plain pointer. We don't compile our sources
with -Wshadow, so this should not be a problem.

Change-Id: Ic5d393bfd36e48a193fcffff13b969c281c36d0c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 14:48:47 +00:00
Topi Reinio
2a6249c00a Doc: Qt Concurrent: Link to essential usage information
Functions under the QtConcurrent namespace used to be documented
as header files, using the \headerfile command. These documents
have been since converted to standard pages using the \page
command, and the reference documentation for these functions
now live in the namespace page only.

However, the former pages contain useful usage information and
code snippets, but they've not been linked to from anywhere.

This change links to these pages from the module landing page,
as well as from the function reference doc.

Change-Id: Ia750d72d12503cec96ee2c9e202dd561e548cb24
Task-number: QTBUG-28977
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2015-04-07 14:38:29 +00:00
Konstantin Ritt
491b746473 Fix build with -directwrite
There were several issues caught by GCC:
* deleting object of polymorphic class type which has non-virtual
  destructor might cause undefined behaviour
* comparison between signed and unsigned integer expressions
* 'GetUserDefaultLocaleName' was not declared in this scope
  (depends on WINVER >= 0x0600)

Change-Id: I39f2cc0d5e158f4d85377edd55e9f74a512c7303
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-07 13:10:38 +00:00
Konstantin Ritt
3a845e4b4f Use QT_WARNING_.. instead of #pragma GCC diagnostic ..
Change-Id: I0bb55a7f1074f3b8d6fb681b1d4dab5105ae7569
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-07 13:09:48 +00:00
Konstantin Ritt
237cb0d082 [QFontEngineFT::loadGlyph] Consolidate paths for fetchMetricsOnly cases
Use GlyphInfo as a temporary buffer for storing the glyph metrics
and go through the same code for fetchMetricsOnly and !fetchMetricsOnly.

Change-Id: If8bb85056e5f09588cc3956b43dc51a54d5aecfe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:09:27 +00:00
Konstantin Ritt
550fb85b65 [QFontEngineFT] Move code around to improve readability (no-op)
Move some variables initialization closer to the usage context.

Change-Id: I0f1de0ddc9f0fbe3ec4a56455ccc14f9e8d94e5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:09:00 +00:00
Konstantin Ritt
037ad03182 [QFontEngineFT] Avoid double-negation of info.x
Make it consistent with fetchMetricsOnly path.

Change-Id: I6a2d2568d5579255582217515a4e598722547c60
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:08:02 +00:00
Konstantin Ritt
95d034a14f Introduce QQuaternion::fromDirection()
...which constructs a quaternion using specified forward and upward
directions, so that the resulting Z axis "faces" a given forward direction.

Change-Id: Ib77b8ab5c359a4880b0d946face87026acdc6f0b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Michael Krasnyk <michael.krasnyk@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:07:48 +00:00
Konstantin Ritt
3fb6014ce7 [QFontEngineFT] Guarantee correct metrics for alphamap and its bounding box
...for both cached and non-cached modes, by disabling hinting
for transformed glyphs in loadGlyphFor().

Change-Id: I13766a653ebd72cbed0f5c38ca3536d042aed762
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:07:40 +00:00
Konstantin Ritt
134c6db858 [QFontEngineFT] Consolidate .*lpha.*MapForGlyph() behavior
...and decrease code duplication.

Change-Id: I5eb3c0694dde9030405a3bd3d410ff9784ed7717
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:06:55 +00:00
Marc Mutz
51028d1472 QQueue: unhide QList::swap(int, int)
Task-number: QTBUG-34197
Change-Id: I0b405ab0fabff8852b2705d651848fbff74fc4c2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-07 13:05:50 +00:00
Andy Shaw
e7e580412e Windows: Fix -no-widgets build
Change-Id: I0a79a61ffe8b6c6f66895dbeb988e653e11c9661
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-07 11:27:13 +00:00
Sérgio Martins
20c651d8b8 Fix QNX and Blackberry -qtnamespace build
Task-number: QTBUG-43569
Change-Id: I81a560d1508de4d808a807f1febdc17619cf4dda
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-04-01 10:24:24 +00:00
Daniel Molkentin
c1a67e7dc3 Windows: Do not crash if SSL context is gone after root cert lookup
On Windows, we perform an extra certificate lookup for root CAs that
are not in Windows' (minimal) root store. This check can take up to
15 seconds. The SSL context can already be gone once we return. Hence
we now check for a non-null SSL context on Windows before proceeding.

Change-Id: I1951569d9b17da33fa604f7c9d8b33255acf200d
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-04-01 07:33:20 +00:00
Albert Astals Cid
1458d1b31d Use allConfigurations instead of onlineConfigurations in isOnline()
We need it because otherwise code like
  QNetworkConfigurationManager ncm;
  qDebug() << "ONLINE" << ncm->isOnline();
may give the wrong value because the queued signals that have been just connected a few lines above
may not have been processed yet

Change-Id: I959db75ed17497ab91eeba2669ee2c8947244f00
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-04-01 07:22:10 +00:00
Alex Trotsenko
633b950bd4 QSslSocket: try to send all data on close()
Takes care about unencrypted data in the socket writeBuffer when
close() flushes the output.

Change-Id: I301f41ea709817e215ee4246a3951e3182d94fbd
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-04-01 06:04:07 +00:00
Alexander Volkov
19a91b4a35 Doc: Fix using Apple-related terminology in Qt Core
Use the name "OS X" instead of "Mac OS X", "Mac OS" and "OSX",
and mention iOS. Replace "Carbon Preferences API" by
"CFPreferences API" in the QSettings documentation.

Change-Id: Ia7f9fb874276c7c445a1649df521b96ff43daa0c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-03-31 12:49:01 +00:00
Andy Shaw
180ee8a8de Explicitly cast to a uint to fix a compile error
When using QtTest inside the notification example for QtAndroidExtras
there as a problem with the compilation as it saw it as being an ambiguous
check. Therefore doing an explicit case to uint ensures it is not a
problem.

Change-Id: Ibc9ce4c64292bf5ae7c501c592d8c42a66934b8b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-31 12:03:47 +00:00
Andy Shaw
d64f776a9a Windows: Fallback to 0 samples if ARB::choosePixelFormat() fails with 1
This solves a problem when using a Qt application over remote desktop as
if it failed with even 1 sample then it would fallback to GDI which causes
an error if the software OpenGL option is used.

Change-Id: Ib311a7a657f92aab15277461bc8e040bebbe4753
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-31 11:42:08 +00:00
Ludger Krämer
9ea8082658 fix high memory usage on large download
previously the whole response was cached in a NSMutableData which leads
to high memory usage on large responses (e.g. downloading a large file).
With this patch only the part of the answer that has not yet been read
by the caller is cached.

Task-number: QTBUG-41356
Change-Id: Ic2fe822552620d8835a2c81f8c76dd170fe6ec97
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-03-31 06:24:07 +00:00
Alexander Volkov
7baaec17ed Fix use of the window geometry specification
Until now we applied the geometry in QWidget::setVisible() by
calling QWidget::move() and QWidget::resize(). But these
methods are unreliable when the window is created but not
visible yet. For example, specifying the window position by
"-geometry +0+0" will take no effect.

Apply the geometry directly to QWindow in QWindow::setVisible().
QWidget will update its geometry after the response of the window
system. Besides it allows to specify the geometry for QML
applications.

Task-number: QTBUG-44713
Change-Id: I9a0e110e81e569c81da802729707fec104fef887
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-03-27 08:00:01 +00:00
Alexander Volkov
c0e4f24336 xcb: Determine the window gravity just before the window is shown
It may change after the window has been created.

Change-Id: Ib81a7ad7353b1909cc42684fc70d6b7d2556106f
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-03-27 07:59:38 +00:00
Martin Gräßlin
9f1f8aaa92 Handle SelectionWindowDestroy in QXcbClipboard
This change is related to 6a7ee92b39
which added handling for SelectionClientClose. Further testing showed
that with e.g. Qt 4 applications the SelectionClientClose is not
emitted, but the selection window seems to be destroyed before the
client is destroyed.

Fur a destroyed selection window the same applies: the clipboard
content is no longer valid and we should emit the changed signal.

Change-Id: Id3778a28b9f5601bf2c6e0106981316e0efa6e7c
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
2015-03-26 15:22:44 +00:00
Sérgio Martins
f451d48005 Windows: Add support for horizontal scroll on some touchpads.
While most (all?) touchpads send WM_MOUSEWHEEL for vertical scroll
the story is quite different for horizontal scroll. Some of them
send WM_HSCROLL instead of WM_MOUSEHWHEEL.

Some of them even send left/right key event but those are lost cases.

Task-number: QTBUG-45120
Change-Id: I3bf86e25a6f4f3ba03ac7e89a23f4b7bc432f2de
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-26 14:57:45 +00:00
Shawn Rutledge
eea5a6ea15 Android MessageDialog: order buttons according to OS X button layout
At least the dismissive action should be on the left, but we can take
the OS X rules as reasonable in cases where a lot of buttons are in use.

Task-number: QTBUG-42808
Change-Id: If45f991a068d47009e02d39fbb3886ff4b31c8e1
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-03-26 14:49:31 +00:00
Venugopal Shivashankar
06ecfb6fde Doc: Added the missing description for WindowShadeButtonHint
Task-number: QTBUG-44017
Change-Id: I024faa6214a041403f23fd91f0c8c38eabeef31e
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-03-25 12:15:40 +00:00
Friedemann Kleint
619a0f14dc Re-add documentation for QStandardPaths::GenericDataLocation.
The text was accidentally removed in
1afe110b8f.

Fixes qdoc warning:
qtbase/src/corelib/io/qstandardpaths.cpp:60: warning: Undocumented enum item GenericDataLocation in QStandardPaths::StandardLocation

Change-Id: I7f236c01d85ebf76b67ab7af7e61b8cbedee4c36
Reviewed-by: David Faure <david.faure@kdab.com>
2015-03-25 09:26:31 +00:00
Topi Reinio
b929006513 qdoc: Use the title instead of plain name when listing groups
When listing group nodes, for example, with \annotatedlist command,
QDoc created a link with the plain name (the string that was passed
to \group command as parameter) as the link text.

This change makes QDoc use the group \title, if one exists.

Change-Id: I30b7f9eefc60c12f67b1e579bbc4c5cebe84474b
Task-number: QTBUG-45420
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-04-07 11:49:13 +00:00
Timur Pocheptsov
9b134f4e72 Add Q_UNUSED for parameter (OS X)
Ifdefs exclude the code on OS X, but there is still unused parameter
and annoying compiler (either warning or error, depending on ...).

Change-Id: I913c25b4f96ebe275a6b1d15873bccf4aebe9e7a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-07 10:39:46 +00:00
Alex Trotsenko
add3c14a28 QAbstractSocket: fix some 64-bit issues in debug code
Change-Id: I78b307b2841353f84b033a815035436ec3eef3b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-07 06:42:42 +00:00
Thiago Macieira
9eb0b09abc Removed unused code on QT_STRING_UCS4 macro
This isn't defined or used anywhere else.

Change-Id: I9a75ad8521ae4e5cbbe5ffff13d2356883b82dbc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-04-05 19:40:04 +00:00
Kai Koehne
1db3de6a1e QVLA: Add operator= for initializer lists
Add a dedicated operator=(std::initializer_list) that
first resizes the QCLA, and then replaces the elements
one by one.

This should be usually faster than creating a temporary
QCLA and then copying it, except for the case where the
new array does not fit into the allocated stack - but this
is IMO nothing to optimize for.

Task-number: QTBUG-45041
Change-Id: I147d6d01186b1ca3c635b2c8365d8f6e638ce6fe
GPush-Base: 08de3113051e1289f0de0651ec5647c9ee6feb27
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 15:48:13 +00:00
Allan Sandfeld Jensen
c51240ca75 Optimize fetching pixel values for SSE2 bilinear sampling
Most of the CPU time was spending in fetching pixel values instead of
calculating the bilinear sample. The access to vectors unions turns
out to be very slow, and should be avoided. This patch removes the
uses of vector,int array union in the bilinear sampling for SSE2.

Change-Id: Ie765a80963c4899db59a583ea9a59d15e05f2b13
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 15:42:22 +00:00
David Faure
5aa40e5b00 QComboBox: also adjust size on model reset, with AdjustToContents
When the size adjust policy is QComboBox::AdjustToContents, the combobox
sizeHint was recalculated on dataChanged, rowsInserted, rowsRemoved,
and setModel, but not when the model was reset. This led to truncated
items in the combobox when models are filled asynchronously.

Task-number: QTBUG-5413
Change-Id: I3456c327d680dfffa58d6dcb26c79456c67b2a32
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-04-04 12:24:44 +00:00
Sérgio Martins
ddb0628181 Fix BlackBerry build.
BlackBerry SDK uses gcc 4.6 which supports nullptr, but by default
it uses the dinkum C++ library, which doesn't support nullptr_t.

Change-Id: Ifa95029a9bfa4dc2fc064db5d7a67012e95ac0e2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 11:55:23 +00:00
Saytgalin Alexander
1bd07b0293 Always release surfaces when application is suspended or hidden.
It is needed to recreate surfaces and to redraw when application is
resumed because on some devices when the application is suspended
Android destroys the surfaces.

Change-Id: I8934e94af038b4ecf116d93aea223ad040b0bff1
Task-number: QTBUG-45019
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Sergey Galin <s.galin@2gis.ru>
2015-04-04 09:12:03 +00:00
Richard Moe Gustavsen
d3277bdf02 QComboBox: open popup on touch release if QStyleHints has setFocusOnTouchRelease()
If we give focus to the combobox on touch release, we need to await opening
the popup until touch release as well. Otherwise we might end up showing
a popup for an unfocused combobox.

Especially on iOS, there is a strong coupling between focus object and
popup menus, which means that we effectively require the combobox to gain
focus before it can show the popup.

Change-Id: Ifb7ba091bb39b77f325cdbf61e00ab3e8ff2e522
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-04-04 08:47:06 +00:00
Richard Moe Gustavsen
9cb38baaf8 iOS: check if Qt has an active window before scrolling to cursor
In hybrid applications an external view can be first reponder. And when
that is the case, Qt will have no active windows and focusView will return 0.
We therefore need to protect scrollToCursor from this case, so it doesn't try
to access e.g focusView().window, which will lead to a crash.

Task-number: QTBUG-45182
Change-Id: I87d470631f5beda22fd64fc1f2b0f7259344f830
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-04-04 08:46:57 +00:00
Richard Moe Gustavsen
ce4a759c3d iOS: enable changing menu items in QIOSMenu while it's showing
If the menu items change while a menu is showing, the current
implementation would crash. The current code tried to take this
scenario into account by using a copy of the item list inside
the native menus, but failed since the list contained pointers
to menu items. And those items would be deleted in a higher layer
when removed from the owning QMenu, even if the native menu was
visible.

One could argue that the list of items should not change while
the menu is visible, but from testing, other platforms handle
this scenario gracefully. So this patch will ensure we do the
same on iOS.

Task-number: QTBUG-44275
Change-Id: I5508e1d6d47039a9aa948c246b33479bd6801868
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-04 08:46:42 +00:00
Alex Trotsenko
f40cf77b0f QIODevice: do not change the 'pos' member for sequential devices
Concept of 'current position' exists only for random-access devices.
As documented, for sequential devices QIODevice::pos() must always
return 0. Prevent a modification of the internal 'pos' member in
QIODevice::readAll() method to follow this rule.

Change-Id: Ida2ee6a629ccfc3068d62f95ab1064ada13fdda5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 08:40:01 +00:00
Marc Mutz
1b109967c5 QUuid: add missing relational operators
QUuid has ==, !=, <, and >. Add <= and =>, too.

Change-Id: I11a0b8028be766e2d48dc7664d935df4d327b3d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 06:40:27 +00:00
Marc Mutz
09c1bd2eb0 QUuid: add some noexcept
Change-Id: I43647e558a761ff6e7a275e30382919ba038f467
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 06:40:00 +00:00
Marc Mutz
2b3d3cabe1 QUuid: properly scope macros
Limit scope and undef after last use.

Change-Id: I94f0adb2b9fc3ec65dd7a3b5e6f03685bc226d3d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-03 19:44:08 +00:00
Marc Mutz
650de56c7f QUuid: implement op> in terms of op<
More maintainable, and less code.

Change-Id: Ia99e5deefe4c510fe870076a03ec243ba631a7a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-03 19:43:59 +00:00
Timur Pocheptsov
a72b3ab73c QSSLSocketPrivateBackend::transmit - fix Secure Transport version
New SSL backend fails to read data most of the time.

This patch:

1. Removes direct call to _q_SSLRead - it was never executed (intentionally)
   and is completely  horrible and redundant.
2. Changes the reading loop - read not while we have bytesAvailable, but
   until we have errSSLWouldBlock.

Change-Id: I3fc5ff94ded76fcc1748d4979f7af85740b4b6aa
Task-number: QTBUG-45290
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org>
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-04-01 15:36:45 +00:00
Christoph Schleifenbaum
2432a821aa Cocoa: Fix minimizing/zooming frameless windows.
Use miniaturize instead of performMiniaturize when the window has no
minimize button (even if frameless).
Make sure the window is resizable before performing zoom. Even restore
this, of course.

Change-Id: I43217153b4d4fcec0ded4afcde3009817e01feba
Task-number: QTBUG-32184 QTBUG-45339
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-01 15:17:32 +00:00
Timur Pocheptsov
9f34943245 Revert "Cocoa plugin - showMaximized/showMinimized and Qt::FramelessWindowHint"
This reverts commit d024f0a922.
Qt::FramelessWindowHint actually DO require 'non-resizable' window.
Let's assume, non-resizable means 'resize by mouse dragging'.
There is a better fix that will follow this patch (temporary
setting/resetting resizable mask).

Change-Id: I61cefcade437d3e54719e2e1ff0e8d070c577df0
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-01 15:17:20 +00:00
Thiago Macieira
f25d6ad2aa forkfd: Fix compilation with older glibc
glibc 2.9 is required for pipe2 and version 2.7 for eventfd.

Bionic added them to Android version 2.3.1, but I can't find a version
macro.

uclibc masquerades as glibc version 2.2, so this function won't be
thread-safe with uclibc.

Change-Id: Iee8cbc07c4434ce9b560ffff13cd3c3b63dd7e83
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-04-01 14:44:42 +00:00
Friedemann Kleint
06671a3cbd Windows: Use FORMAT_MESSAGE_IGNORE_INSERTS for qt_error_string().
This will cause FormatMessage() to return messages with placeholders
as well even though we do not pass the message parameters (for
example: "The operating system cannot run %1." for ERROR_INVALID_ORDINAL).

Task-number: QTBUG-43164
Change-Id: Ib95c1c0fabb543bbe4e8ab2bd8f244f73dff5fa4
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-04-01 14:26:43 +00:00
Olivier Goffart
5322200076 Silence clang warnings in C++03 mode
C++03 forbid the use of local or unnamed type as template parameter.
But in C++11 that is allowed, and clang accept them even in C++03
mode, but with a warning.

The Warning happen for example with this code:

  enum { Foo = 3 };
  int x = 3 << Foo;

Then the compiler issues warnings:

metatype.h:1379:31: warning: template argument uses local type [-Wlocal-type-template-args]
        enum { Value = sizeof(qt_getEnumMetaObject(declval())) == sizeof(QMetaObject*) };
                              ^~~~~~~~~~~~~~~~~~~~
qdebug.h:269:42: note: in instantiation of template class 'QtPrivate::IsQEnumHelper<(anonymous enum)>' requested here
typename QtPrivate::QEnableIf<QtPrivate::IsQEnumHelper<T>::Value, QDebug>::Type operator<<(QDebug dbg, T value)

Normaly the compiler should not even try to instantiate the operator<<
with such types in C++03 mode.

Change-Id: I48c7d5d1836fd87986835fe15c7e0b1beb73c728
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-01 14:20:50 +00:00
Olivier Goffart
8cec5e9a34 Update a few doc regarding Q_FLAG
Change-Id: Ic26b3d64c9a5d5109bd8a0b359f063529d0181fc
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-04-01 14:20:28 +00:00
Andrew Knight
4a6ba203b5 winrt: Fix non-PCH build
This cpp file did not include its header.

Change-Id: Ib68f4a1470c1dc213add5e8825ef972c07ee57df
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-01 14:13:30 +00:00
Friedemann Kleint
85f9478227 Fix debug stream operators.
- Use QDebugStateSaver to restore space setting in stream operators
  instead of returning dbg.space() which breaks formatting on streams
  that already have nospace() set.
- Fix some single character string constants.

Change-Id: I0fe86bb1adbdd4a76ab6d2f8c19e063b45ddcf3b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-01 13:49:32 +00:00
Friedemann Kleint
2012c8e866 Improve debug operator for QGraphicsItem/QGraphicsObject.
Introduce QDebugStateSaver, use new formatting helpers and
output parent, flags and z only when necessary. Output the
widget contained in QGraphicsProxyWidget.

For example,

QGraphicsProxyWidget (this = 0x1877550 , parent = 0x0 , pos = QPointF(870,491) , z = 1e+30 , flags =  ( ItemIsFocusable | ItemUsesExtendedStyleOpton | ItemSendsGeometryChanges | ItemIsPanel ) )

becomes:

QGraphicsProxyWidget(0x1877550, widget=ItemDialog(0x1e29dc0), pos=870,491, z=1e+30, flags=(ItemIsFocusable|ItemUsesExtendedStyleOption|ItemSendsGeometryChanges|ItemIsPanel))

Change-Id: Ia554dc3e2eb6f16d9d9220d1067194a4424b7cf5
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-01 11:58:20 +00:00
Kai Koehne
cbf28577ef Force length of prefix path to be calculated at runtime
Prevent compilers from calculating strlen at compile time
by using a volatile pointer. This corrupted paths if the
installation path is patched for the binary SDK installer.

Task-number: QTBUG-45307
Change-Id: I624b0409e8b27299475a88eb1cbf03ffef9589c6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-01 11:32:28 +00:00