This struct is a specialization for the case that the const_iterator
is a pointer to the value type. Reflect that in the type name.
Change-Id: I0a4ac03840658056285080860baec8313746c71c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
This patch removes the activaton aand deactivation of a window when we get the window group
activated event from the navigator. This event is sent to both the primary and secondary screen
and does not state if a window should be active from a Qt perspective.
A window should only be active if it has screen keyboard focus.
Change-Id: Ibbed0dd76a21d86f4b580265f996357a8eef5192
Reviewed-by: Roger Maclean <rmaclean@qnx.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Based a recent problem where one property of QPen was not properly copied
to QPainterPathStroke, I believe we should add a method to automatically
create a QPainterPathStroke based on all the relevant information in a QPen.
This patch adds a constructor that automatically does so.
Change-Id: Id2849b36426f2e3b06b4b508292063a0917ca61c
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Even though it is not really part of the angle implementation, having it
in source is more consistent with the rest of Qt and makes browsing the
code easier.
There was also an issue, that only a debug build was done when calling
nmake or jom. While moving the implementation this issue was fixed by
including config.pri to d3dcompiler's .pro file.
Change-Id: I3e3630865c94adbe1a1f1af2ccfc2bcb046002a8
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
qrand() returns a number between 0 and RAND_MAX, which is only
guaranteed to be bigger than 32767. Dividing it repeatedly means
that the last bytes are always 0.
[ChangeLog][QtCore][QTemporaryDir] Fixed bug in QTemporaryDir name generator that dramatically
reduced randomness of the name.
Change-Id: I90613a652e6384296aed827e2714fe63cd8797ee
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
[ChangeLog][QtWidgets][QLineEdit] A blinking cursor in the middle
over horizontally centered placeholder text looks bad. Thus,
horizontally centered content is now considered as an exception
and the placeholder text is hidden when the line edit is focused.
Task-number: QTBUG-31669
Change-Id: I17aa1e6656673f81545a8437f90814b188ad484a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
In layoutSubviews we take the root viewcontroller position into account
when determening the new QWindow geometry, but we were missing this logic
in displayLayer, and would assert if the in-call statusbar was visible.
Since we don't really need the position of the window in displayLayer,
we change the assert to only check the size of the exposed area, which
is independent of the position of the root viewcontroller.
Change-Id: I774b8d9b075518e729f488a789b3a9e584c3f4d3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
The default values for PCH, the -ZW switch, and CharacterSet aren't
ideal for WinRT projects, so adjust these accordingly.
Task-number: QTBUG-35328
Change-Id: I78021d0785fa84e15b1f17264daa599a9418f92e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
tst_QObject is getting big, so make a separate test for QSignalBlocker,
but leave parts of signalsBlocked() in tst_QObject as that seemed to
have been the only check for blockSignals(true) actually blocking signal
emission.
Change-Id: I1cfac035e0e39203eea8626d43f316cc6244ee86
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
When QSignalBlocker was reviewed, move semantics were asked for.
This patch add them.
This makes QSignalBlocker usable as a by-value argument (to transfer
control of signal blocking into a function) as well as as a return
value (to transfer control of signal blocking out of a function).
Change-Id: I714aa2a283bb33dba76e860649e88ed202e913c5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Attempt to fix
FAIL! : tst_QAbstractItemView::task200665_itemEntered() Compared values are not the same
Actual (spy.count()): 0
Expected (1) : 1
Loc: [tst_qabstractitemview.cpp(1292)]
which might have been introduced by removing the absolute qWait(200) in favor
of qWaitForWindowExposed() in afe8e368, so trying to compensate with a
QTRY_COMPARE.
Change-Id: Id437acd810b54e005daaf66ffffd4dd586075ab6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
QGuiApplication-using things (like QtQuick) need to know about this, too -- this
makes QGuiApplication::setLayoutDirection actually work.
Task-number: QTBUG-21573
Change-Id: I2d2ac7dc07f11be5c7e501a3575b1d0978d8ac31
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
To be able to call SetNamedPipeHandleState on stdin in a child
process, we must create a read-end pipe handle with the
FILE_WRITE_ATTRIBUTES flag set.
This can't be done with CreateNamedPipe but only with CreateFile.
Therefore we're creating the handles for the child process always
with CreateFile now. Besides, it's conceptually cleaner to have the
server handle of the named pipe in the calling process.
[ChangeLog][QtCore][Windows] Fix regression from Qt4 in QProcess.
It wasn't possible anymore to alter pipe modes of stdin in child
processes.
Task-number: QTBUG-35357
Change-Id: I85f09753d0c924bdc8a6cef1ea5dbe6b2299c604
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This feature was never completely implemented. Sure, it's nice to
build the SSE2 + SSSE3 code with the VEX prefix, which results in
better code. But the leap isn't that big anyway.
This is the first step to removing the runtime detection for the
drawhelpers. They create timebombs when we use inline functions.
Task-number: QTBUG-30440
Change-Id: Ic53b2cf5261106a1c940d4a36eb6111b7d998be1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
The new atomic code was introduced in Qt 5.0. The platforms that did not
get ported were announced as deprecated in Qt 5.2. The code is now
removed in Qt 5.3.
The status for the platform/compiler/OS combinations affected is:
* Linux with GCC or Clang: still compiles on all platforms
(via qatomic_cxx11.h or qatomic_gcc.h)
* INTEGRITY with Green Hills compiler: no longer compiles
* Solaris on UltraSPARC, with Sun Studio: no longer compiles
* AIX on POWER5 or 6, with IBM Visual Age: no longer compiles
(probably did not compile Qt 5.0 either)
* VxWorks in kernel mode: no longer compiles
[ChangeLog][General] Support for the following platforms has been
removed, due to lack of interest in updating support: INTEGRITY,
VxWorks, Solaris on UltraSPARC (with the Sun Studio compiler suite), AIX
on POWER processors (with IBM Visual Age compiler suite).
Change-Id: I8a961385fd95011c016b2b1eec52034794dae3e1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
The locations of UI assets are deployed to is being added as a read-only
location under DataLocation.
As such a path is located differently on certain mobile platforms, such
as Android and BlackBerry, having an entry in StandardPaths will make it
easier to write cross-platform code.
Change-Id: I4533c90ed7157725a8604591595b350c7f616723
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Press and hold is an interaction available on many platforms,
particularly when touch is involved. In Qt Quick this is exposed to the
user via MouseArea::onPressAndHold. This value should not be hard-coded,
but rather use a platform-specified default. This commit adds the
low-level hooks necessary for that to happen.
Task-number: QTBUG-24793
Change-Id: I621a8ac9de66b881e34336228056bffbb6306a70
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Introduce a hint to QPlatformTheme to control the behavior.
Task-number: QTBUG-35231
Change-Id: Ia28e153a8dd3f1931321a222d8906ca87166ed62
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
... because they fail on the new test server. This commit can be
reverted once the Socks5 socket engine is fixed.
Task-number: QTBUG-35490
Change-Id: I85635d4b44d26168d40a56b7a121693297564f0f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
... because it was used to operate a man-in-the-middle proxy.
Task-number: QTBUG-35474
Change-Id: Ic7f19708b278b866e4f06533cbd84e0ff43357e9
Reviewed-by: Richard J. Moore <rich@kde.org>
Added a Enironment variable to make it possible to disable the
automatic installation of EVDEV input handlers.
This is needed if you want to use your own generic plugin instead,
which also uses evdev
Change-Id: I17d47008c10999bf918db62a22a3b6a38d7abb80
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
the respective code was removed in 375edf7
Change-Id: Ie31ef4bc8970b5396f50f1c4963f378df816242a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
libc++ is an alternative stdlib implementation for clang.
See http://libcxx.llvm.org/ for further details.
The library is enabled by adding -stdlib=libc++ to the command line.
Change-Id: I07d09cbb69b59b579d3754c99d717d2ac6d44d67
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is a left-over from the cleanup of MMX/3dNow!/SSE support, which we
no longer have in Qt.
Change-Id: I48388710a499bddb518ae3c2b8a4ad989482f58c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
If SSE2 isn't supported, then SSE3 can't be either. Onwards and upwards
for SSSE3, SSE4.1, SSE4.2 and AVX. The test for AVX2 was already there.
Task-number: QTBUG-24773
Change-Id: I005258db52d8abcd407a99b8ebcc23cdea8e3d9f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
qbezier.cpp(122): warning #177: function "quadraticRoots" was declared but never referenced
Change-Id: I590f59ed6e41462d0a14a9239adb8bd0acbeeae4
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
For MacOS 10.6 the exported symbols must be the same regardless of
debug/release configuration, because for debug builds it will by
default link to a release library.
We therefore cannot let some exported symbols depend on if QT_DEBUG
is defined or not. We therefore introduce QGRIDLAYOUTENGINE_DEBUG,
which is independent of debug/release configuration.
The whole dump() function concept should probably be revisited, but
I don't want to clutter this commit too much with such unrelated
things.
Change-Id: I7086f31e2c36fe22ce9c9a3eda37ea25302459a9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Drop the Cut, Copy, and Copy Link Address actions from the context menu
for QT_NO_CLIPBOARD builds. This mirrors what QWidgetLineControl already
does.
Change-Id: Icd6e92c044a11d336fb8d7fbf54b826712bd240e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Recent commit 105d10de introduced the QMetaStringTable(QByteArray) constructor,
but failed to mark it as explicit.
The argument, the class' name, is not an equivalent representation of a
string table, so mark the constructor explicit.
Change-Id: I2f141969400b98d3253283bd6fb0b9d18f2d53b3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
First set up the selected output format, printer and page size, and then
setup the selected job options. This ensures all values are correctly
setup for the requested format and printer as not all settings may be
able to persist across the change in output format or printer.
Change-Id: I67f261f4e3be479a9018139633886ee8e570f42a
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
This makes it slightly more obvious which compiler should be used with
which.
Task-number: QTBUG-23119
Change-Id: Ie3e5cf995d686bfa846902a040668716c8b5f526
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
In commit 0c936ca83c we fixed the case
where the window was maximized programmatically, but if the window gets
restored by clicking on the taskbar we don't get to set WithinMaximize
flag, since we immediately get the WM_GETMINMAXINFO request from Windows.
To reproduce the problem, run tests/manual/windowflags, remove frames,
maximize, minimize, and restore by clicking on the taskbar.
Task-number: QTBUG-8361
Change-Id: I8a7cf4fccbb2c3dac5f570848501ac1e8d2c2307
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This is not an attempt to complete this API, but rather preventing code
like !(a==b) being used every time timespec structs are compared for
unequality.
Change-Id: I0edf3fd3c44a9350208adc6b3fb5fe8aec370a45
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
They're now required as per the documentation. They should have been
present when this was created...
Change-Id: If52bc91e942306ef0fa7b1b41b739d897c9a1ea1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
It's still a relocation, but at least it can be marked read-only
after the relocation run, if indeed the dynamic linker goes to
such a length.
Change-Id: Ibadddac3ab99d2e58cc32cfd57311bddd3bdb0ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
d3dcompiler_qt is a DLL for use with ANGLE which replaces d3dcompiler_XX
at runtime to proxy shader compilation calls. This is useful for:
- Loading the newest D3D compiler DLL found, instead of loading the
version specified when Qt was compiled
- Reporting better debug information when the compiler cannot be loaded
- Caching shader blobs for later use
- Returning cached shader blobs
- Deferring compilation to another mechanism, such as a D3D compilation
service running on a host debugging machine *
The above use cases are especially important for Windows Store apps, as
they are not allowed to ship the d3dcompiler. On Windows Phone, where
there is no runtime compiler, this is essential for handling QtQuick apps
which require runtime shader compilation.
* This requires a separate service which monitors a directory for shader
source files, compiles these files into D3D bytecode, and places
the bytecode in the qtd3dcompiler cache directory. This directory is
monitored by qtd3dcompiler, which is then able to then load the blob.
Change-Id: I9889c8d66d2ddbe5a7a1dc44bfe5d8ad229b0e43
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This fixes a missing declaration caused by 11a2226c
Change-Id: I4b8092c6b9592e886353af9193686238105a1512
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
If the default compiler cannot be found, load it from a list of DLL names.
On Desktop Windows, the default compiler can be specified by an
environment variable, QT_D3DCOMPILER_DLL. This can also be set at
compile time by a define of the same name. Otherwise, the default
compiler DLL is that which is set by the Direct3D SDK.
On WinRT, the default compiler is d3dcompiler_qt, which is a
non-versioned compiler proxy provided by Qt.
Change-Id: I0d7a8a8a36cc571836f8fa59ea14513b9b19c19b
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Don't copy the dialog settings to the QPrinter before the Print button
is pressed, in case the Cancel button is pressed instead. The settings
already get copied in the right place.
Change-Id: I84d0053b450cf5839bf1a879af013f305a8fd377
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
The print dialog was setting the PageOrder on the QPrinter as soon as
the check box was toggled and not when the Print button was pressed,
meaning the change is not forgotten when Cancel is pressed.
Change-Id: I19637b7efacfb5388c70d2e7d9d05a05ecc5b2ea
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Instead of enforcing the check, we'll simply trust developers to do the
right thing. For one, it's useful to mix libraries during testing
(regression testing, git bisects, etc.). For another, Qt developers are
faced day-to-day with binary incompatibility issues anyway, so this
check is mostly superfluous.
If there's one commit we could be sure that isn't breaking binary
compatibility, that's the "Bump Qt version" commit. And yet that's the
one that would cause the fatal to trip...
Change-Id: I8965f764a6ca1b2d125b42bce7ac6b27e3afc8ac
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>