Commit Graph

3582 Commits

Author SHA1 Message Date
Jørgen Lind
d29d4c2afa Add a way to query for global handles in QPlatformNativeInterface
Change-Id: I4f29f40a3d6d4237f7da092bb34b8e596321b47d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 00:50:47 +01:00
Martin Petersson
d1a5bb55d9 QHttpNetworkConnectionChannel: Warn if bytesAvailable and no reply
If there are no bytesAvailable and no reply then the channel
can be closed without any need for this warning.

Task-number: QTBUG-9315
Change-Id: Ifbb1f4732d3173a7807ac5bd0dc78fb5144faaf3
Reviewed-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-15 00:50:47 +01:00
Mark Brand
9e87104295 QTableView: call model->submit() on row change
QTreeView already does this in the exact same way. It's necessary to
call submit() so edit strategy OnRowChange in QSqlTableModel will
work as expected.

Change-Id: Ib430143e8a71f3b0bcd842fcc772cc7ee4525f0a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-15 00:50:47 +01:00
Mark Brand
273508205c QSqlTableModel bugfix: consider uncached rows submitted
Change-Id: I7ec0529b88fd8e3ae0cf8dadfcb5899579e52745
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-15 00:50:47 +01:00
Friedemann Kleint
f7957f3993 Refactor theme plugin loading.
In the old implementation, the QPlatformIntegration was asked
for the theme first, so there was no way of overriding that
by a custom plugin. Also, there was a memory leak in case
the platform theme was actually created by a plugin.

QGuiApplication now asks the QPlatformIntegration for a list
of potential theme names first, tries to load them using
the plugin loader and finally invokes a factory method of
QPlatformIntegration in case that fails. The theme is now
owned by QGuiApplication.

In the XCB plugin, the environment variable DESKTOP_SESSION
is queried and appended to the list of themes, making it possible
to load plugins for other session types.

Change-Id: I1a4b4e061815bca16c65b23e591bb7563a3e44e2
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 00:50:47 +01:00
Jędrzej Nowacki
d295b9b9cf Simplify QMetaObject::newInstance
To create space on stack for a QObject pointer QVariant is not really
essential.

Change-Id: Iaf04a4f77005e33823f0e14bfdc6fe927cb59867
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-03-14 23:04:57 +01:00
Jędrzej Nowacki
dfba10441e Reimplement QMetaType::create method.
The method was reimplemented using QMetaTypeSwitcher. That should
reduce maintenance costs, because types list is populated automatically
now.

Change-Id: I6637f7b928218ce60b2ec7436079a44089f0e00f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-14 23:04:18 +01:00
Morten Johan Sorvig
d6311a0651 Cocoa: Improve basic window handling.
Refactor NSWindow creation into createNSWindow and
setNSWindow. This is necessary to support QMacNativeWidget
where we re-use an already created window.

Implement popup window handling. Make sure the window
is displayed correctly and closes when it should.

Take control over window activation in order to prevent
infinite loops involving the QtCreator "cmd-k" window.
Activation events are for now not sent to popup-type
windows.

There is now a different set of test failures: add
and remove some QEXPECT_FAILs.

Change-Id: I229761b59f90c9815b968eacc2cbc9c20cc5047e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-14 23:02:12 +01:00
Jędrzej Nowacki
439a789745 Fix a memory leak in QMetaObject::connectSlotsByName function.
QObjectPrivate::Connection time life should be controlled by
QMetaObject::Connection handle.

Change-Id: Ie7fcd950082a3e6cebc29ecc0622007470914edb
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-14 18:45:28 +01:00
Friedemann Kleint
087d6c21b8 Fix compilation of the Windows accessibility code for MinGW.
Temporarily disable the code for MinGW.

Change-Id: I435305167e06af05b9a78901e6e3a35347c5c3f5
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-14 18:36:05 +01:00
Friedemann Kleint
259332e655 Add QGuiApplication::platformName.
Store the name of the QPA plugin as platformName.

Change-Id: Id87cab2a189743c0dd727c86080f7d4595a852bb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-14 18:35:25 +01:00
Donald Carr
7f09f36873 Explicit use of null namespace breaks namespaced build
These changes are currently required to successfully build Qt when it is
configured with a namespace via the configure -qtnamespace argument

Change-Id: I9f3ab30579c16085c4d3d05705336b810466c331
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-14 18:31:31 +01:00
Sergio Martins
a3420b127e Remove unused forward declaration.
Change-Id: Ib207e0036226dd7131195244bf49bbfae142cd22
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2012-03-14 18:24:38 +01:00
Giuseppe D'Angelo
f57190fb82 bootstrap: remove QtXml dependency
Only qdoc is now using QtXml classes, so just add them to qdoc.pro
and drop them from the bootstrap library.

Change-Id: I821839396141d1d7a2ada565a513aa46c54c9620
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-14 18:24:32 +01:00
Friedemann Kleint
c8ba6a49da QStyleSheetStyle: Fix icon properties.
Convert icon structure returned by the CSS parser.

Change-Id: I19b846c6cb0ec19045b6d07b3caa5ecfac75ca86
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-14 11:37:18 +01:00
Thorbjørn Lund Martsum
39e0d35fe9 QHeaderView - documentation update. Prefer hideSection over 0-resize.
There is a different behavior on 0 sections and hidden sections
e.g with scrollbars. Normally people want to use hideSection.

Change-Id: Id99de30ea46906bb4ef7720ed12d4ac9615c9743
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
kb
fae4a2555a Disconnect slots from the old sourcemodel in QIdentityProxyModel
When setting a new sourcemodel QIdentityProxyModel::setSourceModel
tries to disconnect from signals belonging to the NEW model instead of
from the existing sourceModel(). QIdentityProxyModel thus receives
signals from both the old model(s) and the new model. This results in
ASSERTS triggering in various slots, for example:
"Q_ASSERT(topLeft.isValid() ? topLeft.model() == model : true);"
in QIdentityProxyModelPrivate::_q_sourceDataChanged.

Change-Id: Ic6f65a9ee10981d00206335f2edef78272fadc1a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
Thorbjørn Lund Martsum
b64426248d QHeaderView - renaming functions in Qt5
This patch renames the functions in Qt5 according to the
notes. It also renames resizeMode to be consistent.

The old functions are both marked with both QT_DEPRECATED
and '### Qt 6 - remove'

All usage of the function within the qtbase are also
changed to use the new functions.

Change-Id: I9e05fa41d232e9ca43b945fcc949987017f3aedd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
Harald Fernengel
7220d7f365 Fix LSB build
Fix compliation in LSB by removing legacy calls and adding an explicit
header.

Change-Id: I13a73211c07457195b5d5aad0854643da1e25f9b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-03-14 11:37:18 +01:00
Thorbjørn Lund Martsum
8c3e5700a1 Add two (forgotten) since 5.0
SHA for QWidget::hasHeightForWidth change:
466107107a

SHA for QAbstractItemDelegate::destoryeditor change
15f253a46a

Change-Id: Ic7e38c15f62eef22ab95414fad6e7b6c9c7d4f59
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
Pierre Rossi
f254c5c8bf Use the lazily-queried families for all QPA multi font engines.
This is the approach introduced together with the  WebKit "backdoor"
that lets us use QRawFont with QTextLayout. We could use it all
over the place and share more code.

Change-Id: Ie1963679755f37ba9204d67554a163f1d1115604
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-14 11:37:18 +01:00
Giuseppe D'Angelo
8b6338be4a QRegExp: remove docs about RegExp2 being default in Qt5
Change-Id: I37f4086d53ce6f2d6774ab204808d0d678a68349
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-14 11:37:18 +01:00
sh kim
ba061da5f0 Fix build error when QT_NO_FILESYSTEMWATCHER is set
QPollingFileSystemWatcherEngine inherits from QFileSystemWatcherEngine.
This class should be covered by !QT_NO_FILESYSTEMWATCHER.

Change-Id: I053a873018cf3c9c443435c9b3f44240b0965c24
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-14 11:37:18 +01:00
jian liang
255079124a build fix for -no-freetype in Windows
Don't use QWindowsFontDatabaseFT::systemDefaultFont() and
QWindowsFontDatabaseFT::LOGFONT_to_QFont() in qwindowsfontdatabase.cpp and
qwindowstheme.cpp because it is not available when building with
-no-freetype.

Change-Id: I11075475ff435c55b0c641540f95a4d3861b79da
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-14 09:45:07 +01:00
Samuel Rødal
9a68dd0156 Made sure first created xcb window still receives focus.
Change 50ca45f059 caused mapped windows to not receive focus by
default. The _NET_WM_USER_TIME spec says that if the user time is set to
0 (or CurrentTime), the window will not be initially focused. Thus, if
the connection time has not yet been set, we skip this part to restore
the old behavior.

Change-Id: I19de3602c78629ad2bc65f5e1976313949c82c4c
Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-14 09:45:07 +01:00
Jędrzej Nowacki
22494ea8e8 Unify QMetaType::TypeFlags detection.
Duplicated code was removed. As an side effect:
- one runtime flag check was replaced by a compile time check.
- is enum flag can be used together with built-in types.

Change-Id: I54173e7b07ce7e487d3cc21ba24dcccd28b5d049
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-14 09:45:07 +01:00
Johannes Zellner
3a47c13fa6 remove obsolete qudevhelper and adopt mouse and touch plugins
The QUDevHelper class is now replaced by QUDeviceHelper class.
All evdev input plugins are using the new udev helper now to enable
hotplugin for keyboard and mouse input.

EvdevTouch plugin still only uses the first detected device by udev,
this cannot be tested on my side, due to the lack of multiple touch input devices.

Change-Id: I01a4cfe1a80000bfb27c67a2f53faf560906b73c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-03-14 09:45:07 +01:00
Kim Motoyoshi Kalland
c45146b48c Removed invalid assert in BMP loader code.
Task-number: QTBUG-24505

Change-Id: I2e369b6d92f072caadeda41125303856ddfabd48
Reviewed-by: aavit <qt_aavit@ovi.com>
2012-03-14 06:01:38 +01:00
Miikka Heikkinen
2d68c8ee8d Windows: Fix QSpinBox background setting via stylesheet
When using stylesheets, palette mask for drawing the background
of line edit child of spinbox is already correctly resolved to style
options in QStyleSheetStyle::drawPrimitive(), so we cannot simply
ignore that mask and check the palette mask of the parent spinbox.

Fixed by using a union mask of the parent spinbox palette and the
palette supplied by style option instead of simply using the mask from
parent spinbox. If either specifies custom base color, use that to
paint the background of the spinbox's line edit.

Task-number: QTBUG-24323
Change-Id: I1e738192db83b16d9bd48da54d29779e18788ef7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-13 22:58:10 +01:00
Mark Brand
e9fdfd746b improve declaration scope
Change-Id: Id8d8f4e59793ba5fc2d3afa31674009af73a59c9
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-13 21:11:55 +01:00
Mark Brand
6c2c6a48e7 use QStringLiteral
Change-Id: I0f2b6ff758524e872d38dcbdc9335264431e3dc6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-13 21:11:55 +01:00
Honglei Zhang
dedd4a7a7c Fix memory leak when sqlite3_open_v2 fails
According to SQLite documentation, a database connection handle
is usually returned, even if an error occurs. This behavior has
caused Qt to leak memory when opening a database is failed. Now,
even if sqlite3_open_v2() does not return SQLITE_OK, Qt tries to
release SQLite database handle by calling sqlite3_close().

Task-number: QTBUG-15773
Change-Id: I6538e2897216828a9cfb95b7d4a5cec437aa6c28
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-13 21:11:55 +01:00
Laszlo Agocs
268f41ec70 Deliver events in qtestmouse
Not waiting until the QPA event queue is processed after
handleMouseEvent() is wrong. Unlike the synchronous sendEvent() calls
these tests most likely utilized earlier, many of the
QWindowSystemInterace functions are asynchronous in the sense that they
just queue the event, delivery will happen when the event dispatcher on
the main thread gets there.

Change-Id: I8197d2dc4805cda684a8279ceb8d4b317f19aba7
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-03-13 21:11:55 +01:00
Jan-Arve Saether
02d75eaaf9 Add support for IAccessible2 on Windows
Change-Id: Ia955ab46dc5037ed1c74e0acc525e98b02552c97
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-03-13 21:11:55 +01:00
Friedemann Kleint
26c3bec09b uic: Avoid creating multiline QStringLiterals for MSVC.
The compiler complains about L"foo" "bar".

Change-Id: I94be0528b26fe65413db56d210a5c02fcdba13a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-13 18:40:16 +01:00
Eskil Abrahamsen Blomfeldt
4a47187b7a Optimize HB memory consumption of PairPos1 in GPOS tables
This is pretty much the same fix as in
be0dfa3473 but for PairPos
format 1 instead of 2.

With very simple GPOS tables we would waste a lot of memory on
caching an uncompressed table, so we now compress it in memory
as well.

Change-Id: I601331b4b83f636dab9e1ac403b343558c15b0de
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-13 18:06:56 +01:00
Martin Smith
0d43b8c617 qdoc3: qdoc now handles overloaded methods for QML
When a C++ class is documented as a QML type, it can
have overloaded QML methods. These are now handled
correctly by qdoc. The method list for QML types is
now output with the full method signature. For signals
and handlers too.

Task-number:  QTBUG-24670
Change-Id: If529d4136f5b480373b6ac25d2dceef15e6ea3db
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-13 18:04:12 +01:00
Casper van Donderen
8ac05adca7 Update the footer for qdoc output for qt-project.
Change-Id: I418ac4e754aac96220d14948ce066c982c4b8054
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-03-13 18:03:18 +01:00
Bradley T. Hughes
ba6952b28d Remove -arch argument and #define QT_ARCH from configures
Do not try to detect the host or target architectures using uname or
similar, and do not override with the -arch or -host-arch configure
arguments. The configures will still accept the -arch and -host-arch
arguments, but it ignores them and instead outputs a warning stating
that these arguments are obsolete and should not be used.

Set QT_ARCH and QT_HOST_ARCH qconfig.pri variables based on the compiler
target. This is done by running qmake (twice when cross-compiling) on
config.tests/arch/arch.pro, which preprocesses a file that contains all
knowns processors.

On Windows, configure.exe has never run any config.tests before, and
does not currently have a function to run a program and capture its
output. Use _popen() to accomplish this (as qmake does for its system()
function). This needs to be done after qmake is built, as does the
mkspecs/qconfig.pri generation. As a side effect, the configure steps
have been slightly re-ordered, but the overall result is the same. The
displayConfig() call is moved to just before generating Makefiles, so
that it can show the detected architecture(s).

Change-Id: I77666c77a93b48848f87648d08e79a42f721683f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-13 12:27:44 +01:00
Frederik Gladhorn
76ddc9bc0c Autotest details of QAccessibleEvent.
Change-Id: Ieec33c23e7b18cfedf061088d6561203a5e7ac39
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-13 10:11:22 +01:00
Martin Petersson
c68737add3 QNam: only init channels when needed.
Each channel will create a socket that will allocate memory for the
read and write buffers. This change will instead initialize
channels only when they are needed.

Change-Id: I112b4c7b944a7dd345414f06260c92803394eaed
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-13 10:11:22 +01:00
Mark Brand
1de1a50603 take opportunity to use const
Change-Id: Ief12d4b55e1705c758dae8078cf52948fcd9565b
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-03-13 10:11:22 +01:00
Casper van Donderen
6694181bb7 qdoc: Update to prepare to run on a directory.
This change sets some default file extensions to accept to generate
documentation. It also removes support for the sourceModules qdocconf
variable which is not used anymore. It was used just after
modularization.

Change-Id: Iabdcfb534dc662bd44e0928036fd68ee4e460b07
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-13 10:11:22 +01:00
Rick Stockton
0bb95b183b Cocoa platform plugin: Add support for up to 16 mouse buttons
OS-X provides a buttonNumber within Event data for otherMouseDown:
and otherMouseUp: Events. Instead of mapping all occurences of these
event types to Qt::MiddleButton, this Update uses that data
to support a total of 16 mouse buttons.

Task-number: QTBUG-24702

Change-Id: I3cffb32498f98ea182509d7c42f3fc6634155ebb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-13 08:18:42 +01:00
Charles Yin
703b4a0e20 Move variant animation interpolators from QtWidgets to QtGui
There is no reason these interpolators need to stay in QtWidgets library.

Change-Id: I27db49fea2cfd8f0ef417dc52edf66dd1835e7a1
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2012-03-13 06:08:51 +01:00
Balazs Kelemen
3e45d48246 Fix QFont hinting preference with fontconfig
Consider if the hinting preference of the QFont
is not PreferDefaultHinting.

Change-Id: I0f50b320356787b6c1eabee5f009e7d326a06925
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-03-12 23:29:37 +01:00
Andy Shaw
0850b5d76a Cleanup after the qsf cache file if it fails to be written to
It is possible that although a qsf cache file could be opened that it
could not be written to, therefore it should clean up after itself in
these cases so that it does not cause a problem later on.

Task-number: QTBUG-24122
Change-Id: I1999759837607657ddc3f967eeda370ce9991a16
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-03-12 23:29:37 +01:00
Mark Brand
13c57d0f68 QSqlTableModel::isDirty(): new overloaded method
Checks if model has any changes to submit.

Includes new test covering isDirty(index) as well the new
overloaded function.

Task-number: QTBUG-3108
Change-Id: I0ccbda45d5d9f06434cf1e1c037a9efb76d0cc37
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-12 23:29:37 +01:00
Alexei Rousskikh
612040a0cd Trailing comma should result in an error during JSON parsing
1. QJsonParseError::MissingObject defined
2. QJsonDocument::fromJson() will result in defined error after parsing
of something like "{ 'key':1 , }" or "[ {'key':1}, ]"

Change-Id: I8e6234a03b8aca4e5ad6180f273f91066b86d7a1
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-12 21:38:51 +01:00
Donald Carr
0353430806 Clean up src.pro
Removing (some) stale assumptions about dependencies from src.pro file

Change-Id: I713e3ad8c164321ef035e6c62b25e18e45d1d3ef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-12 21:38:51 +01:00