Friedemann Kleint [Tue, 3 Jul 2012 13:24:27 +0000 (15:24 +0200)]
Fix QWidget/widgetAt() test.
Prevent a crash by giving the widget some time to show up.
Task-number: QTBUG-22326
Change-Id: Idaa23b21121e7c4f7098e8d51efd313bcc467e9a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Friedemann Kleint [Tue, 3 Jul 2012 15:01:18 +0000 (17:01 +0200)]
Remove Unicode escape sequence, which MSVC does not support.
Task-number: QTBUG-25924
Change-Id: I352bb5c674d90891df4103849bf5b5ac5778a2ee
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Mon, 30 Jan 2012 19:14:29 +0000 (20:14 +0100)]
export QMAKESPEC to the project
this makes it unnecessary to dump qmakespec to .qmake.cache and
qmodule.pri.
Task-number: QTBUG-22700
Change-Id: I678c7ee7df2512184b9cd06d7a3be8bbd0b0da15
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 2 Jul 2012 09:59:42 +0000 (11:59 +0200)]
store QT_BUILD_PARTS in qmodule.pri also on unix
modules other than qtbase also need it.
the windows configure already does it that way.
Change-Id: I9adb469f7a0726663b7939e80d8be1e83a6d12d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Oswald Buddenhagen [Mon, 2 Jul 2012 10:29:12 +0000 (12:29 +0200)]
remove special handling of the default{,-host} specs
cp is perfectly capable of properly copying the symlinks
Change-Id: Ia45a4521af2ffb70af4e111480c0d6b7999c96c1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Tue, 3 Jul 2012 14:19:28 +0000 (16:19 +0200)]
don't match on the spec name in qconfig.pri
this will fail now even on unix (and wouldn't have ever worked on
windows), as the full spec name is known only after reading the spec,
and qconfig.pri is read from inside the spec.
matching on the host_build flag is cleaner anyway.
Change-Id: I7da144e89ab3db0fad942d755d8cb0a0f3b85588
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Donald Carr <sirspudd@gmail.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Christoph Schleifenbaum [Fri, 11 May 2012 12:35:49 +0000 (14:35 +0200)]
Platform-plugin support for QSystemTrayIcon.
Implement QPlatformSystemTrayIcon providing QPA-plugin-support for
system tray icons. Make QSystemTrayIcon use this as new backend.
Ported over qsystemtrayicon_mac.mm to qcocoasystemtrayicon.mm to provide
Cocoa support for the new interface. It had to be changed to match the
interface, especially for icon and menu handling.
This interface is made to not use QStyle or QMenu which are related
classes of QSystemTrayIcon. It's therefore not introducing QtWidget
dependency into the platform plugin.
Task-number: QTBUG-20978
Change-Id: I0d0a73835698b3b4f97219d4f5bbcfa2af57dbe2
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Stephen Kelly [Tue, 3 Jul 2012 07:00:00 +0000 (09:00 +0200)]
Use qmake dirname function correctly.
It takes a variable name apparently.
Change-Id: I9e2e2a0f6f5c42ecf9d07e4ac45954f14676d559
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Stephen Kelly [Mon, 2 Jul 2012 08:21:54 +0000 (10:21 +0200)]
Simplify the creation of QMetaTypeId specializations.
Change-Id: I07405f91b6f73a4e129859ca45a983d3ec7029ab
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Miikka Heikkinen [Mon, 18 Jun 2012 14:26:30 +0000 (17:26 +0300)]
Fix focus handling when the application has QAxWidgets.
Removed old defunct platform specific code from
QWidget::isActiveWindow() and added call to
QPlatformWindow::isActive() instead. This is done because
the embedded native windows inside QAxWidgets can have
focus but are not part of the parent application's Qt
window hierarchy, so native methods are required to determine
if they are part of the active window or not.
QWidgetPrivate::setFocus_sys() was implemented to activate
the window of the focused widget if the focus was elsewhere.
This is required because embedded native windows can steal the
focus from the main application window.
Focus event handling in Windows platform adaptation plugin was
fixed to correctly identify the active window in cases where
the are embedded native widgets that can have focus.
Also fixed three test cases that were affected by these changes.
Task-number: QTBUG-25852
Task-number: QTBUG-23699
Change-Id: I817e0ce4317e88955bb49b034eacd630a876ccf0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Miikka Heikkinen [Mon, 25 Jun 2012 13:56:16 +0000 (16:56 +0300)]
Implement automatic mouse grabbing on mouse button press.
QWidget::grabMouse() documentation states that Qt automatically grabs
the mouse when a button is pressed and ungrabs it when it is released.
Implemented this functionality to make Qt5 behavior similar to Qt4.
Task-number: QTBUG-25977
Change-Id: I17aa7e8190f4f5224ebc382d62970c86ae492bdb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Friedemann Kleint [Thu, 28 Jun 2012 08:19:17 +0000 (10:19 +0200)]
Fix QDockWidgets on XCB.
Do not use native decoration.
Task-number: QTBUG-26296
Change-Id: I15a6ace737a08003ee196bde3d0b5ca65aa00408
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Marc Mutz [Tue, 3 Jul 2012 08:28:55 +0000 (10:28 +0200)]
QNX: fix compilation with C++11 enabled
QNX uses GCC, but by default not libstdc++ as the standard library,
but 'libcpp', a Dinkumware-derived implementation that doesn't sport
many of the C++11 features, yet.
Thus, the compiler detection sets Q_COMPILER_INITIALIZER_LIST, which is true,
in a way, but we're lacking stdlib support, so the next
\#include <initializer_list> will fail.
So, simply don't define Q_COMPILER_INITIALIZER_LIST if we're on QNX
and detect a Dinkumware signature (taken from Boost.Config).
This is a hot-fix. I'm also preparing a more comprehensive solution
(qstdlibdetection.h).
Change-Id: Ieeb147251c2935517faba61f75d1580a9e1649c4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Eskil Abrahamsen Blomfeldt [Mon, 2 Jul 2012 14:24:06 +0000 (16:24 +0200)]
Remove platform specific DirectWrite font engine from QtGui
This has moved into the platform plugin, but it was still lying
around in QtGui and hindering it from compiling.
Change-Id: I47fa730453cbd8aa230ccc4651afd2e774023db6
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Eskil Abrahamsen Blomfeldt [Tue, 3 Jul 2012 08:47:07 +0000 (10:47 +0200)]
Compile when -directwrite is passed to configure
The signature for alphaRGBMapForGlyph() was updated in the
header but not the implementation. The include with
QT_BUILD_GUI_LIB defined would re-export several symbols in
QtGui from the plugin which would make the link against QtGui
fail.
Change-Id: I23c67f97ca68f984b7a1603059c6f177fef60cca
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Martin Petersson [Tue, 3 Jul 2012 12:20:37 +0000 (14:20 +0200)]
tst_QTcpServer::clientServerLoop fix for Windows Xp
When we do not have dual stack the listen on QHostAddress::Any will
result in a serverAddress that is AnyIPv4.
Change-Id: I3c2c21c9412cd46a57e3ed7ce1c1bd2ef42d4bd9
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Martin Petersson [Tue, 3 Jul 2012 08:58:20 +0000 (10:58 +0200)]
QNativeSocketEngine: remove compile watning on Windows
Remove warning of unused variable.
Change-Id: Ia361dcb9081cd47c7018f5e75cdb8eb74f5474d4
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Martin Petersson [Tue, 3 Jul 2012 08:46:36 +0000 (10:46 +0200)]
SocketEngine Windows: If not dual stack, use IPv4 for AnyIPProtocol
If the Windows version doesn't support dual stack then we should bind
to IPv4. So we should change the socketProtocol to
QAbstractSocket::IPv4Protocol as well.
Change-Id: I7f9d0bdd861f82d720e347d3fa968198de720d1a
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Konstantin Ritt [Fri, 29 Jun 2012 06:07:34 +0000 (09:07 +0300)]
Add QChar::SoftHyphen enum value
Just like for the QChar::ByteOrderMark, `ch == QChar::SoftHyphen`
is much more readable than `ch == 0x00ad // (soft-hyphen)`, etc.
Change-Id: I9c85f14cfd979037d35103c3259a435fd729b869
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Marc Mutz [Tue, 3 Jul 2012 08:54:29 +0000 (10:54 +0200)]
QNX: set QMAKE_CXXFLAGS_CXX11
Rationale:
QCC is a wrapper around GCC, but it doesn't understand -std,
so we need to pass it via -Wc.
The underlying GCC is v4.4, which doesn't know -std=c++11
yet, only c++0x.
We can't use -std=c++0x here, because the QNX headers
depend on some GNU extensions (nanosleep() was one that I
saw), so it has to be gnu++0x, ie. STD C++ + GNU extensions.
Change-Id: Ia5caf68f558b1638224e4876f1bbec84a0a93f67
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Joerg Bornemann [Tue, 3 Jul 2012 11:49:11 +0000 (13:49 +0200)]
removed ancient left-over test from tst_qwidget
The part of tst_qwidget::reparent() that "makes sense only on Windows"
is antiquated at least since the introduction of alien widgets.
It basically tests if QWidget::winId() returns a valid window handle
(has been replaced with winHandleOf here in the meantime).
This is always successful, because winId() creates a valid window handle.
Change-Id: I52c370e26fd9b34861bd4d52c12dded243382d43
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Girish Ramakrishnan [Tue, 3 Jul 2012 03:46:36 +0000 (09:16 +0530)]
Suppress QWindowSystemInterface inclusion warnings.
Since QWindowSystemInterface is now part of QPA API. The correct
inclusion is:
#include <qpa/qwindowsysteminterface.h>
#include <qpa/qwindowsysteminterface_p.h>
Bulk of the work was done by:
find . -type f | xargs sed -i -e 's,#include <\(QtGui/\)\?QWindowSystemInterface>,#include <qpa/qwindowsysteminterface.h>,g'
Change-Id: If75fc32611e72ef1cf58505794def375b1acf74a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Joerg Bornemann [Mon, 2 Jul 2012 15:49:16 +0000 (17:49 +0200)]
tst_QWidget::gdiPainting fixed
We cannot use QWidget::grab for widgets that have WA_PaintOnScreen set.
QScreen::grabWindow copies the real screen contents for us.
Change-Id: If1f6233ec48bcb2b941ea683c56ce71a39642e67
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Joerg Bornemann [Mon, 2 Jul 2012 15:08:43 +0000 (17:08 +0200)]
fix QWidget::grab(QRect(x, y, -1, -1))
Grabbing a widget with a position != (0,0) and an invalid size returned
a pixmap of the widget's size. As we're grabbing just a part of the
widget, the pixmap must be smaller by the amount of x, respective y.
Autotest: tst_QWidget::grab()
Change-Id: I3d5103e6e7c042cc6112038ace236e3f69060bda
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Joerg Bornemann [Tue, 3 Jul 2012 10:19:38 +0000 (12:19 +0200)]
revive the noPaintOnScreen fix on Windows
The original commit message follows.
Fixes: Fix the windows PaintOnScreen issue once and for all
Details: To allow both the case where X11 people accidentally set
PaintOnScreen (which should not have any effect on windows)
and where people set it and subclass with paintEngine() {
return 0 } to use GDI / DirectX we do this rather nasty hack.
Original commit in Qt4:
07a2f68bd5869152471e4ffc4a63c683ef141ae8
Autotest: tst_QWidget::paintOnScreenPossible
Change-Id: Ifbb7dc4611959be3ecc362c29a1c3436b0e0fa82
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Andras Mantia [Sun, 1 Jul 2012 14:11:00 +0000 (17:11 +0300)]
Add support for SQLSTATE error codes
Postgres can report detailed information about an error using error codes.
See http://www.postgresql.org/docs/8.1/static/errcodes-appendix.html .
The current driver doesn't report the error, nor is it supported by the
QSqlError object.
The patch appends the error to the error message, helping applications to:
- handle different errors in a specific way
- show correct, translated error messages, independently on the language of the postgres installation
Change-Id: Ica3530ac33d3aaa9985e06f6c1f302ece9891033
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Girish Ramakrishnan [Tue, 26 Jun 2012 01:27:22 +0000 (18:27 -0700)]
Remove _qpa from cpp filenames
36547f4eff44361f7a6acd0cff107c0e47561f93 removed the _qpa from .h
files and promised to remove it from .cpp files at a later date.
Change-Id: I24a5c3796f6b07dd9a1931b699f3212d315edb12
Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
Kurt Korbatits [Tue, 3 Jul 2012 00:04:41 +0000 (10:04 +1000)]
Fixed warnings in qnetworkreply unit test
On windows without ssl there was a disconnect on sslError signal
that was not wrapped in ifdef.
Change-Id: I9b1327adfa853d4dc8f1d8a0120f8f0ed7c13e9e
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Damir Tatalovic [Fri, 22 Jun 2012 16:13:02 +0000 (18:13 +0200)]
MIPS DSP composition functions optimizations.
List of optimized routines:
- comp_func_DestinationOver
- comp_func_SourceIn
- comp_func_DestinationIn
- comp_func_DestinationOut
- comp_func_SourceAtop
- comp_func_DestinationAtop
- comp_func_XOR
- comp_func_SourceOut
- comp_func_solid_SourceOver
- comp_func_solid_DestinationOver
- comp_func_solid_SourceIn
- comp_func_solid_DestinationIn
- comp_func_solid_SourceAtop
- comp_func_solid_DestinationAtop
- copm_func_solid_XOR
- comp_func_solid_SourceOut
Previously optimized routines qt_blend_argb32_on_argb32_mips_dsp and
comp_func_Source_mips_dsp are redesigned and rewritten.
Overall improvement by running tst_bench_blendbench benchmark app
from tests/benchmarks/gui/image/blendbench/ is 27%.
Change-Id: I6ab09b17cac10f4aded59787074ab4c89e72ccac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Kent Hansen [Tue, 19 Jun 2012 08:46:05 +0000 (10:46 +0200)]
Silence clang warning in QVector::reallocData()
qvector.h:459:30: warning: destination for this 'memcpy' call is a
pointer to dynamic class 'QImage';
vtable pointer will be overwritten [-Wdynamic-class-memaccess]
::memcpy(dst, srcBegin, (srcEnd - srcBegin) * sizeof(T));
~~~~~~~~ ^
qvector.h:459:30: note: explicitly cast the pointer to silence
this warning
::memcpy(dst, srcBegin, (srcEnd - srcBegin) * sizeof(T));
^
(void*)
QImage inherits from QPaintDevice, which has virtual functions.
qimage.h declares QImage as a movable type, so
QTypeInfo<QImage>::isStatic is false. Hence, the memcpy codepath will
be reached when the vector is not shared.
We should trust that people declaring such type traits know what
they're doing, so silence the warning.
Change-Id: If36582f57a398fc237fb4bd4f72938fb09667118
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
João Abecasis [Fri, 8 Jun 2012 15:35:50 +0000 (17:35 +0200)]
Add erase operation to QArrayDataOps
Change-Id: I37d3ac465f5beddb5038e22e9cda32acb16c78fc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Girish Ramakrishnan [Tue, 19 Jun 2012 20:21:35 +0000 (13:21 -0700)]
Make QWindowSystemInterface part of QPA API
As discussed on mailing list and QtCS 2012.
Any file starting with qwindowsystem is now marked as
QPA API.
This change drops _qpa from the filenames and adds gui-private
where required for the code to compile. This change is backward
compatible otherwise and compat headers are created for
the old inclusion headers.
Change-Id: I72ea0f394dee74f46e614fcf11ab5500ac9fef2a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Bjoern Breitmeyer [Mon, 2 Jul 2012 08:36:25 +0000 (10:36 +0200)]
fixed compile for mouse button handling on wince
WinCE does not support SM_SWAPBUTTON, so the define will
let ce fail the function call and correctly assume normal mouse
button handling
Change-Id: Id603b3b6a995e22d8800e19a5566a56df95c8962
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Joerg Bornemann [Mon, 2 Jul 2012 16:26:30 +0000 (18:26 +0200)]
remove unused variable from QPlainTextEdit::paintEvent
Change-Id: I0959acebaca0685f799465999ed002242f3b0ec3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Girish Ramakrishnan [Mon, 2 Jul 2012 03:54:16 +0000 (09:24 +0530)]
Move DirectFB tests into qpa
Change-Id: I15c90e2e8befef5529b35fa02d3ca6d67a409cc7
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Marc Mutz [Thu, 5 Apr 2012 12:49:02 +0000 (14:49 +0200)]
QtGui: add member-swap to shared classes
Implemented as in other shared classes (e.g. QPen).
Change-Id: I5b96d4a4795870d6252aa53de6fbaedde7c0095a
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Martin Petersson [Fri, 8 Jun 2012 08:39:37 +0000 (10:39 +0200)]
QSslCertificate::fromPath fix wildcard handling
The reqExp used to handle wildcards in the path was broken. So we
always searched the working directory and not the specified path.
Autotest where passing because of a hack used for Windows paths
where we removed the first two chars in the path string.
This fix will not use nativeSeparators thus removing the Windows hack
and fix the regExp to match wildcard chars.
Task-number: QTBUG-23573
Change-Id: I56fadbb67f25b8ce9c0f17cb6232e0bdb9148b1c
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Shane Kearns [Thu, 28 Jun 2012 13:52:45 +0000 (14:52 +0100)]
Add null httpReply checks to QHttpThreadDelegate
If a request is aborted while under load, the abort signal can be
queued in front of a signal emitted from the httpReply.
The abort slot is deleting the httpReply and setting it to null.
So when the queued slot is processed the httpReply is null and
caused an MMU fault.
Removed qWarning from existing null checks, as these are expected
if abort is called with precise timing so that it races with the
reply finishing on the socket.
Task-number: QTBUG-26245
Change-Id: I0a7e0223fda1bc01d117fe8a993c7f6e43fd72ff
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Richard J. Moore <rich@kde.org>
Konstantin Ritt [Sun, 1 Jul 2012 10:10:10 +0000 (13:10 +0300)]
Optimize QWindowsFontEngineDirectWrite::initFontInfo() a bit
by using QVarLengthArray instead of allocating memory on a heap
and by skipping a subsequent checks & calls in some cases.
Change-Id: I300d8eaf02ef718ce50833b7c2ca7ebe8cfd0224
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Robin Burchell [Fri, 29 Jun 2012 07:16:15 +0000 (09:16 +0200)]
configure: properly quote glesv2 flags
pkg-config returns glesv2 build flags, which are parsed into a few
variables. However, extra spaces get included in these variables and
quoted, which makes includes paths not work.
This problem can only be hit, if you do not have GL ES 2 headers
installed system-wide, but you do have installed into $prefix, and
pkg-config configured to return the configuration for $prefix. Even
though pkg-config returns correct paths, extra space gets included.
Fix it by parsing the strings returned by pkg-config just like a shell
would parse a command line. pkg-config escapes e.g. spaces, so those
escape sequences need to be interpreted, while doing word-splitting. The
result is a quoted list, as expected in the qmake files.
Done-with: Pekka Paalanen <ppaalanen@gmail.com>
Change-Id: I0593ef7e0606ac5ea80da046e45f86806206951a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Marc Mutz [Thu, 5 Apr 2012 12:49:02 +0000 (14:49 +0200)]
QtCore: add member-swap to shared classes
Implemented as in other shared classes (e.g. QPen).
Special case:
QUrlQuery: document existing swap().
Change-Id: I4b36cc9577fbf2232d4b2a2d8822d26e41e22cad
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Konstantin Ritt [Mon, 2 Jul 2012 04:44:27 +0000 (07:44 +0300)]
DirectWrite font engine: don't leak the font table buffer
Ideally, each TryGetFontTable() call sequence should be followed
by the call to ReleaseFontTable() with the context value
taken from the first TryGetFontTable() call,
otherwise we'll leak the buffer allocated for the font table.
Change-Id: I627bf0133b7f61798e82929723ccfb780ce9ee69
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Konstantin Ritt [Sat, 30 Jun 2012 06:05:13 +0000 (09:05 +0300)]
qmake: improve the .pc files generator
Don't hardcode the "qt_config" EXTRA variable and use QMAKE_PKGCONFIG_VARIABLES instead.
This allows qmake create the .pc files that are unrelated to Qt.
Change-Id: Ic72005e8819a15f6c50f3aaf79424a247fba20af
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Yann Bodson [Mon, 25 Jun 2012 03:22:12 +0000 (13:22 +1000)]
Fix capitalization with newline bug
We only want to change the capitalization if the QScriptAnalysis flag
was Lowercase, Uppercase or SmallCaps.
Task-number: QTBUG-17485
Change-Id: Icbecb09b06a9153866ae81d592b3f6779c2dafb5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Stephen Kelly [Fri, 29 Jun 2012 06:34:28 +0000 (08:34 +0200)]
Forward the CMAKE_PREFIX_PATH to invoked tests.
Change-Id: I5166fb39dcf3ab660c971c4c68b714f534de40cb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Stephen Kelly [Fri, 29 Jun 2012 06:32:01 +0000 (08:32 +0200)]
Move the macros for invoking ctest to a shared location.
They are still internal, but all Qt5 modules will be able to use
them then.
Change-Id: I42ab656115b0976ca959293dfd664ec071f35dbf
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Fri, 29 Jun 2012 06:18:56 +0000 (08:18 +0200)]
Look for CMake config files in the same prefixes as mkspecs.
This will allow tests of modules outside of qtbase to find their
CMake config files.
Change-Id: I68036908d0fd2ec640530b57d0f572d211ef44f0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Stephen Kelly [Fri, 29 Jun 2012 20:34:12 +0000 (22:34 +0200)]
Simplify logic for paths to CMake modules in tests.
Use a command line argument instead of an environment variable.
Change-Id: I518b21d1fb9567d182384885a308c76e108598d8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Stephen Kelly [Sun, 1 Jul 2012 20:55:54 +0000 (22:55 +0200)]
Add constexpr template specializations for built in metatypes.
This will make it possible (in Qt 6) to remove the enums listing
metatype ids. As it is constexpr, it can be used in switch statements
just like enums, as enum values, and as template specialization values.
Change-Id: I51293674c403714e34cb8a8b8953522fc97a740a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Kalle Juhani Lehtonen [Mon, 2 Jul 2012 01:19:48 +0000 (11:19 +1000)]
Mark qgl autotest as significant for Windows
After Mesa 3D OpenGL library deployment to Windows 7 machines the test
starts passing.
Task-number: QTBUG-25293
Change-Id: I228cd683359f3932670bfa6ec8c4f32e2b40144b
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Joerg Bornemann [Mon, 2 Jul 2012 13:21:15 +0000 (15:21 +0200)]
qmake: remove support for X.sources in DEPLOYMENT variables
This has been deprecated in Qt 4.8.0. Use X.files instead.
Task-number: QTBUG-3216
Task-number: QTBUG-25106
Change-Id: I581321591291118a13403e92da5997497e12c3fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Konstantin Ritt [Mon, 2 Jul 2012 15:15:56 +0000 (18:15 +0300)]
shapeTextWithHarfbuzz() minor optimization
If the used font engine is of type QFontEngine::Multi, then we already have
both the "font engine runs" and the stripped glyph indicies for the kerning
-> just call the actual font engine's doKerning() method.
If the font engine is not of type QFontEngine::Multi, then we could safely
avoid the glyph indicies extra manipulations.
Change-Id: Ia8899e6d7beecfd391b050683ac41c21465336e4
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Sean Harmer [Thu, 28 Jun 2012 07:50:34 +0000 (08:50 +0100)]
QNX: Enable threaded OpenGL rendering on QNX
The only complicated aspect to this was deferring EGLsurface
re-creation as a result of window geometry changes (e.g. when we
receive an orientation change event). To allow this to be done
in a controlled way we defer the surface manipulation until the
next call to QQnxGLContext::makeCurrent().
Change-Id: I8062d3e4d19220a822fbc3b8ca563bb1e3be09d0
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Robin Burchell [Mon, 2 Jul 2012 08:23:02 +0000 (10:23 +0200)]
android: remove QT_NO_QWS_TRANSFORMED from mkspecs
this does nothing anymore
Change-Id: If8798335dea935d1df9f085a7b4e1658f426809b
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Robin Burchell [Mon, 2 Jul 2012 08:23:12 +0000 (10:23 +0200)]
android: fix stupid thinko where cflags were set before the common include
this meant that the common mkspec was unable to do 'sensible' things with the
cflags (hence -Wno-psabi not being applied to C++ code), and probably explains a
lot of other weird things.
Change-Id: I77079027dc1b2691c53212893eb90c7b935d00a2
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Holger Hans Peter Freyther [Fri, 29 Jun 2012 16:59:29 +0000 (18:59 +0200)]
buildsystem: Remove SXE from the configure and qconfig-*.h files
The SXE feature was used with Qtopia but is long gone. Clean it up.
Change-Id: I55fba97b6382300ba63e94f3a6c415227f571e37
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Thiago Macieira [Mon, 2 Apr 2012 23:52:28 +0000 (20:52 -0300)]
Make the CPU detection much more efficient in user code
First, check that the option in question hasn't been already enabled
by the compiler, via compiler switches. If it has been, then we don't
need to verify anything, and we can assume that it's safe to use such
instructions. For example, on an x86-64 build, qCpuHasFeature(SSE2) is
always a constant true.
If the compile-time check fails, then we proceed to try and detect the
processor features at runtime. But instead of insisting on a call to
qDetectCPUFeatures, allow the code using the detection to read from a
variable and simply test it for values. Only if the variable isn't
initialised should it make a function call. The Q_ASSUME allows this
code to be very efficient even with multiple uses of qCpuHasFeature.
Change the uninitialised value from -1 to 0 so that simpler
instructions can be used to check for non-initialisation.
The qDetectCPUFeatures function is renamed to qDetectCpuFeatures to
match the Qt coding style and also to catch uses this code that need
to be adapted.
Change-Id: I24ca5a6ad21075e2e249e1a4f8f5057b8f68ce7c
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jonathan Liu [Sun, 1 Jul 2012 06:19:59 +0000 (16:19 +1000)]
Fix MinGW-w64 compilation
Task-number: QTBUG-24699
Change-Id: If6210315926f0266045766bb5d3b00a6d0bdf703
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Kalle Juhani Lehtonen [Mon, 2 Jul 2012 01:12:50 +0000 (11:12 +1000)]
Change qglfunctions autotest to insignificant on Windows
Previously the test was skipped, because no OpenGL context was found.
After Mesa 3D OpenGL library distribution for Windows 7 machines,
OpenGL context is found, but the test crashes with exit code:
0xC0000409 (STATUS_STACK_BUFFER_OVERRUN)
Marking the test insignificant until the issue is resolved.
Task-number: QTBUG-26390
Change-Id: I996bbc3399704b541f5baa4832cf39b77b715c1c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Stephen Kelly [Wed, 7 Mar 2012 17:13:39 +0000 (18:13 +0100)]
Implement QVariant conversions for QObject derived pointer metatypes.
canConvert() and convert() use the metaobject to convert such types.
Change-Id: Ic05e74c5c2423b4b9682b88adc856a16dcba4cff
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Stephen Kelly [Sun, 1 Apr 2012 18:31:55 +0000 (20:31 +0200)]
Store the QMetaObject with the QMetaType.
This will allow conversion between pointers to compatible QObject
derived types.
Change-Id: I19e08934571fb3f1b91e594892214041fe5f6a11
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Thiago Macieira [Fri, 29 Jun 2012 09:22:27 +0000 (11:22 +0200)]
Don't lower the code generation level options for the compiler
If the default settings already include the necessary flags, do not
override the compiler flags, possibly lowering support. This allows
the user to specify a higher setting for a Qt build, such as what
MeeGo did (it enabled SSSE3 support in all builds).
Additionally, this prevents us from passing -msse2 or -arch:SSE2
options to x86-64 builds, as SSE2 is a mandatory part of that
architecture. This silences a warning from MSVC that the option is
unknown in 64-bit builds.
Change-Id: I6e2969b672bcac87168c245b8be3309e8cc49224
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Jeremy Katz [Thu, 28 Jun 2012 13:09:13 +0000 (15:09 +0200)]
Make QtNetwork compile with qconfig small
Task-number: QTBUG-24816
Change-Id: I8c7965e4498794db93ee51c8511c9a72071ddce3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Thomas McGuire [Wed, 27 Jun 2012 13:45:42 +0000 (15:45 +0200)]
Support the showIsFullScreen style hint in widgets.
Now QWidget::show() will be the same as QWidget::showFullScreen() if the
style hint is set.
This is consistent with QQuickView now.
De-inline related methods to make it easier to change them later
without breaking compatibility.
Change-Id: I843ac6f846428217bfc5dc9f1d0a554de9d0c08f
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Oswald Buddenhagen [Wed, 27 Jun 2012 13:14:34 +0000 (15:14 +0200)]
fix bugs surrounding reading super cache when no local cache is present
we would ignore the early read variables and fail to export the super
cache's path to the project.
Change-Id: I3c467802b4af22f73be05b25dbd8ccb6196d28a8
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Toby Tomkins [Fri, 29 Jun 2012 03:54:21 +0000 (13:54 +1000)]
Flag consistently failing tests as expected fail tests.
Task-number: QTBUG-26372
Task-number: QTBUG-26371
Task-number: QTBUG-20984
Change-Id: I7ae558243c366769cd6c587e77f862558e8053a1
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Donald Carr [Thu, 28 Jun 2012 23:12:28 +0000 (23:12 +0000)]
Remove stale qws related mkspecs
Should be be reintroduced with intent if there is sufficient interest, outside of the QWS context.
Change-Id: I598f47b5cf0c10dd66534294d0f27cf0b4e5069a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Donald Carr [Thu, 28 Jun 2012 23:03:27 +0000 (23:03 +0000)]
Migrate linux-clang mkspec out of unsupported
Change-Id: I84abc4c305c28e46dd514d3fb78d27c051dc6048
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Giuseppe D'Angelo [Fri, 29 Jun 2012 11:40:03 +0000 (12:40 +0100)]
QAbstractProxyModel autotest doesn't need widgets
After the QStandardItemModel move to QtGui.
Change-Id: I2be82d89518ff97cf164026ee8b13a41f9c93d4a
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Giuseppe D'Angelo [Tue, 26 Jun 2012 16:30:57 +0000 (17:30 +0100)]
Move QStandardItem/QStandardItemModel to QtGui
The dependencies on QFont, QBrush, QIcon are all in QtGui, so there's
little sense to still have these classes in QtWidgets.
This also copies and pastes a version of QWidgetItemData as
QStandardItemData inside qstandarditemmodel_p.h.
Change-Id: Ibafc5a30748e7ce0b54753309ae6dc4a797fc20e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Mark Brand [Fri, 29 Jun 2012 19:26:11 +0000 (21:26 +0200)]
Merge "Merge branch 'buildsystem' (second round)" into refs/staging/master
Robin Burchell [Tue, 1 May 2012 12:39:23 +0000 (14:39 +0200)]
Add mkspecs for android cross compilation.
Using these requires setting two environment variables, e.g, for me:
export ANDROID_NDK_ROOT=/Users/burchr/android-ndk-r7c
export ANDROID_NDK_HOST=darwin-x86
./configure -opensource -confirm-license -xplatform unsupported/linux-android-armeabi-v7a-g++ -nomake examples -nomake demos -nomake tests -v
These mkspecs are somewhat based on the work of the Necessitas crew, kudos to
them for their work in getting the NDK integration into qmake.
Change-Id: I591e423ed8dc70616009f681c81890c696110e62
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Friedemann Kleint [Wed, 27 Jun 2012 14:20:18 +0000 (16:20 +0200)]
Add framestrut mouse events.
- Add infrastructure to QWindowSystemInterface.
- Add a setter for enabling framestrut events
to QPlatformWindow.
- Add Windows implementation, pass keyboard modifiers.
QDockWidget relies on it for docking.
Task-number: QTBUG-26296
Change-Id: I9d84b356e9a5eb341f57b6f51f34b6b494ff7f87
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Giuseppe D'Angelo [Fri, 29 Jun 2012 12:23:08 +0000 (13:23 +0100)]
Update .gitignore
Change-Id: Iad041f3bc58544817b0a988875eed7b7973fa65b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Fri, 29 Jun 2012 09:09:11 +0000 (11:09 +0200)]
QQnxWindow: properly scope a local variable
Change-Id: I71f1052f614f4e926acf2c2b76963770f7b35c96
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Oswald Buddenhagen [Fri, 29 Jun 2012 07:05:36 +0000 (09:05 +0200)]
Merge branch 'buildsystem' (second round)
refactoring and cleanup. fixes x-builds between different os families.
Conflicts:
mkspecs/features/qt.prf
Change-Id: I0205e6f07f77c9b015cf055dd87a471883949a91
Kurt Korbatits [Fri, 29 Jun 2012 02:05:10 +0000 (12:05 +1000)]
Fixed several unit tests to work in shadow builds
- qlogging, qthreadstorage, qnetworkreply, qapplication, qfile, qprocess
Added app_bundle and debug_and_release_target to CONFIG
Change-Id: I6212902c449520dc016da9590149a423069cc38c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Thiago Macieira [Wed, 13 Jun 2012 13:23:12 +0000 (15:23 +0200)]
Add detection for C++11 noexcept
The Q_COMPILER_NOEXCEPT feature indicates whether this compiler has
support for noexcept. Note that the GCC C++11 status page does not
list this feature, but investigation into the source code as well as
testing reveals it's supported since GCC 4.6.
Also add Q_DECL_NOEXCEPT, to be used to declare that a function throws
no exceptions, and Q_DECL_NOEXCEPT_EXPR(x), which declares that the
function throws no exceptions if x evaluates to true. In C++98 mode,
these macros expand to empty -- the old C++98 and C++03 exception
specification is deprecated and considered harmful.
Change-Id: Ic84901d13eceb06dcc7f025a4b7fc8b250769be9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Thiago Macieira [Wed, 6 Jun 2012 18:04:41 +0000 (20:04 +0200)]
Clean up the EXPORT macros in qglobal.h.
QtPlatformSupport is a static library. It should never export
anything, so Q_PLATFORMSUPPORT_EXPORT is unnecessary.
QtSql, QtXml, QtDBus, QtOpenGL and QtPrintSupport now have the macros
on their own source trees. It's possible these modules might be
separated out from qtbase in the future. For QtDBus, the macros are
moving back to where they used to be. This also leaves qglobal.h only
creating the macros for QtCore, QtGui, QtWidgets and QtNetwork, the
core libraries.
Q_CANVAS_EXPORT, Q_OPENVG_EXPORT and Q_COMPAT_EXPORT aren't used
anywhere in the Qt sources, so simply delete them. And the
Q_QUICK1_EXPORT macro in the static section was wrong, so remove it
too.
Change-Id: I50bdf86e783338f814903b25979721f788a7becf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Pekka Vuorela [Tue, 26 Jun 2012 13:41:01 +0000 (16:41 +0300)]
Remove deprecated tentative commit from QInputMethodEvent
Introduced and deprecated during Qt5 development.
Change-Id: I5bceefcb5dfc13f8eae2ad22f04feeea5f87dcb3
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Thiago Macieira [Tue, 29 May 2012 16:40:31 +0000 (18:40 +0200)]
Change CONFIG += staticlib to CONFIG += static
That's the targetted, correct way of defining a static library.
Change-Id: I43c23bf7e1bc5fb07bbb55720a320eaca680b038
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Thomas McGuire [Thu, 28 Jun 2012 09:44:47 +0000 (11:44 +0200)]
QNX: Don't detach when iterating over child windows
Change-Id: I55dcc1d188a2c45a11b0ab6a194625b50906eca9
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Frederik Gladhorn [Thu, 28 Jun 2012 11:24:58 +0000 (13:24 +0200)]
Fix warning: returning non void by using Q_UNREACHABLE
Change-Id: I08e5b629582b1286c57f6c5f991e2adaf431daa4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Mitch Curtis [Thu, 21 Jun 2012 15:44:04 +0000 (17:44 +0200)]
Make QCalendarWidget use its locale's firstDayOfWeek.
QCalendarWidget currently uses Qt::Sunday as the default first day
of the week. It has been suggested that a better user experience
would see the calendar's locale be used instead.
Task-number: QTBUG-19811
Change-Id: I4441bf9ffd52213ef622a4a7f498530b7cc9e110
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Casper van Donderen [Thu, 28 Jun 2012 10:49:06 +0000 (12:49 +0200)]
QDoc: Allow '0' to be used as 2nd arg for \qmlclass.
There can be occurences of \qmlclass where there is no C++ class (for a
pure QML Type for example). QDoc will ignore searching for a C++ class
when '0' is specified as second argument to the \qmlclass command.
Change-Id: I09c8c7ad302daffb0723a49967951ca623e646e4
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Kent Hansen [Mon, 25 Jun 2012 18:19:11 +0000 (20:19 +0200)]
Call QObject::disconnectNotify() when receiver is destroyed
Store the signal index in QObjectPrivate::Connection, thereby making
it available in "implicit" disconnect contexts (i.e., receiver
deletion).
This change does not cause the size of QObjectPrivate::Connection
to grow (still 40 bytes on 32-bit Linux, 72 bytes on 64-bit Mac).
Valgrinding the new benchmark indicates that the percentage of the
time spent in the QObject destructor increased from 7.8% to 8.4%
on ia32, for that particular stress test; the increase is the
combined cost of calling metaObject(), QMetaObjectPrivate::signal(),
and disconnectNotify() for one connection. In practice, the measured
wallclock time increased by about 3ms for a 500ms run (which
repeatedly constructs, connects, and destroys an object).
Task-number: QTBUG-4844
Change-Id: I1beb01c753f31542fc0acb62edb4c6d165fcc5b4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Laszlo Agocs [Tue, 5 Jun 2012 13:04:02 +0000 (16:04 +0300)]
Basic tablet support in xcb through XI2
The Maemo-specific function have been renamed a bit to prevent them
clashing with the more generic stuff.
Task-number: QTBUG-25865
Change-Id: Id55693159e15d5a0c679546eb48308feb48acac9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Martin Smith [Thu, 28 Jun 2012 08:46:59 +0000 (10:46 +0200)]
qdoc: Report multiple topic commands as an error
Some documenters are using two topic commands in a single qdoc
comment. This is only allowed for \qmlproperty so that multiple QML
properties can be documented with a single comment. qdoc now reports
an error for all other combinations of multiple topic commands.
Task Nr: QTBUG-26345
Change-Id: I1f9a6d2502ccffa76c2d41f961be3750014a0a56
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Thomas McGuire [Thu, 28 Jun 2012 09:34:41 +0000 (11:34 +0200)]
QNX: Make geometry changes sync to fix QWidget::showFullScreen()
These can't happen async, as otherwise the geometry of the widget is
changed too late, having the effect that QWidget::show_sys() would
overwrite the window geometry again.
Change-Id: Id60d009867a5b282ac14c112c872af1075660732
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Friedemann Kleint [Thu, 28 Jun 2012 09:32:35 +0000 (11:32 +0200)]
QMetaType: Fix warnings about truncation from uint64 to int.
Triggers warnings with MSVC2010/64bit.
Change-Id: I90abdf4de416e0db554eb46e4b3cc7a0a38cb1db
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Joerg Bornemann [Tue, 26 Jun 2012 12:56:31 +0000 (14:56 +0200)]
fix QWidget::showFullScreen on Windows
When calling SetWindowPos in QWindowsWindow::setWindowState_sys we must
inform the QWidget about the new size we have set.
Task-number: QTBUG-26226
Change-Id: I42b01125f50a94cdb97026c74f5445f9ff47d8ba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Rafael Roquetto [Thu, 14 Jun 2012 14:17:11 +0000 (16:17 +0200)]
Fix configure.exe to build qmake before tests
qmake is needed by autoDetection()/tryCompileProject() to be able to build the
tests. This patch also add a new method - generateQConfigCpp() - which
generates qconfig.cpp, needed to build qmake.
Change-Id: Ic304a364a13a2b3c28433f2a299df222a56fed67
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Miikka Heikkinen [Wed, 27 Jun 2012 14:15:42 +0000 (17:15 +0300)]
Further fixes to widget masking
If mask was set to a widget before the widget was shown,
the mask was not applied.
Also, if toplevel widgets were set a mask in Windows, the mask was
applied to frame coordinates instead of client coordinates.
Ported relevant code from Qt4 to fix these issues.
Change-Id: Id6187cf4952b81b5b60c167e2fd284b7dc83ed9c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Weng Xuetian [Sun, 24 Jun 2012 11:16:21 +0000 (19:16 +0800)]
Move QPlatformInputContextPlugin/Factory to QtGui
PlatformSupport is no longer shared and there should be no plugin
factory in it otherwise it will break plugin loading.
Since PlatformInputContext is already in QtGui, so move QPlatformInput-
ContextPlugin/Factory to resolve the platforminputcontexts plugin
loading problem. And remove platformsupport-private dependency from
existing inputcontexts plugin.
Change-Id: If4cb766470b8f9c8b72157da86cb33b4e1ff09e3
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Gatis Paeglis [Tue, 26 Jun 2012 17:14:45 +0000 (19:14 +0200)]
Set window's surface format to support alpha channel.
Task-number: QTBUG-26114
Change-Id: I33f191373327832fb9d3054366412ec5be855cff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Thiago Macieira [Wed, 13 Jun 2012 19:26:20 +0000 (21:26 +0200)]
Move the QDataStream operator<< for QPair to qdatastream.h
QPair is small and is no problem to include from
qdatastream.h. However, including QDataStream from qpair.h means
including QIODevice and QObject too.
Change-Id: I344321e9f68438008ec329a165135c3a346c6058
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Thiago Macieira [Wed, 30 May 2012 11:03:56 +0000 (13:03 +0200)]
Clean up the use of QT_NODLL
QT_NODLL is replaced by QT_STATIC, but the latter is implied if
QT_BOOTSTRAPPED is already defined. Therefore, simply remove the
QT_NODLL definitions.
Change-Id: Iac7ec0b494b7a78197c25d59547f45eaf92d7465
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Thiago Macieira [Wed, 30 May 2012 10:09:00 +0000 (12:09 +0200)]
Update the macros for shared/DLL and static builds
Up until now, we had a mess of different macros used for building
DLLs, for building shared libraries on Unix systems and for building
static libraries. Some of the macros were contradictory and did not
work. From now on, there shall be only:
- QT_STATIC: indicates that it's a static Qt build and the export
macros should expand to empty
- QT_SHARED: indicates that it's a shared / dynamic Qt build and the
export macros should expand to Q_DECL_EXPORT or Q_DECL_IMPORT,
depending on whether the macro corresponds to the current module
being built (the QT_BUILD_XXXX_LIB macro comes from the module's
.pro file)
QT_BOOTSTRAPPED implies QT_STATIC since the bootstrapped tools link
statically to some source code.
QT_STATIC is recorded in qconfig.h by configure when Qt is configured
for static builds. Nothing is recorded for a shared / dynamic build,
so QT_SHARED is implied if nothing is defined. This allows for the
existence of a static_and_shared build: with nothing recorded,
defining QT_STATIC before qglobal.h causes the export macros to be
that of the static form. Linking to the static libraries is out of the
scope of this change (something for the buildsystem and linker to
figure out).
From this commit on, the proper way of declaring the export macros for
a module called QtFoo is:
#ifndef QT_STATIC
# ifdef QT_BUILD_FOO_LIB
# define Q_FOO_EXPORT Q_DECL_EXPORT
# else
# define Q_FOO_EXPORT Q_DECL_IMPORT
# endif
#else
# define Q_FOO_EXPORT
#endif
The type of the Qt build is recorded in QT_CONFIG (in qconfig.pri) so
all Qt modules build by default the same type of library. The keywords
are "static" and "shared", used in both QT_CONFIG and CONFIG. The
previous keyword of "staticlib" is deprecated and should not be used.
Discussed-on: http://lists.qt-project.org/pipermail/development/2012-April/003172.html
Change-Id: I127896607794795b681c98d08467efd8af49bcf3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Gunnar Sletta [Wed, 13 Jun 2012 19:45:44 +0000 (21:45 +0200)]
Get started with patching up the Qt GUI docs
Primary goal, make the front page of the Qt GUI module a bit more
clarifying and avoid downstream references inside the Qt GUI docs.
Change-Id: Icbcfbb64b93963add889bf83711daa9575885c02
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Thiago Macieira [Wed, 27 Jun 2012 15:32:01 +0000 (17:32 +0200)]
Include QScopedPointer in qsettings.h
qobject.h includes it, but only if QT_NO_QOBJECT isn't defined. It is
during the build of the bootstrapped tools.
Change-Id: I8fc921fb17c283358af263a6932b763a21209d40
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>