Commit Graph

5649 Commits

Author SHA1 Message Date
Anselmo L. S. Melo
8b5218a1e9 Make QWindow::isActive return false when the application loses the focus
In QTBUG-24807 there is a test case that shows a case when a segmentation
fault happens inside isAncestorOf. When the whole application loses the
focus, e.g. when it is minimized or other application receives the focus,
QGuiApplication::focusWindow() returns a null pointer, so we need to
do a check before proceed inside of isActive.

Task-number: QTBUG-24807
Change-Id: I732c92bb9f236804ede5e89592f6e6609a4711b9
Reviewed-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 15:13:45 +01:00
Friedemann Kleint
1741f6890c UTF8-Codec test: Fix compilation with g++/C++0X.
Change-Id: I704f8d1b07ca371c36e4eecc52c80ac783e3da3c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-15 14:51:50 +01:00
Jerome Leclanche
006a49b19a Fix compiling with --no-accessibility
Adds missing QT_NO_ACCESSIBILITY checks where required to build
without accessibility support.

Change-Id: Id98ecdcb9b351289b21dc2d382100d0b63857db9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-03-15 14:51:47 +01:00
Morten Johan Sorvig
99b8b647e3 Implement cocoa clipboard support.
Add QCoccoaClipboard which wraps the existing
QMacPasteboard implementation. Remove unused
QClipboard integration code from qmacclipboard.mm

Change mime type cleanup from using qAddPostRoutine
to using an explicit call to destroyMimieTypes in
the cocoa platform integration destructor. This is
necessary to ensure cleanup happens in the correct
order on app shutdown.

Change-Id: Ief0e0d996b04c8e84e9fd2cd3a17fb5bd73bb761
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-15 11:40:50 +01:00
Debao Zhang
65a2613e3e tst_qsharedpointer: Fix auto test fail under Windows 7
The tst_QSharedPointer generate another Process to test some invalid
codes, and it expect that the prcoess will crash and return a non-zero
value.

The process which is a console application was linked to windows
subsystem, and QProcess seems can not get its return value. This
cause the unit test fail.

In addition, when the process crash under debug mode, a debug error
report-dialog will appear, which is very annoying, so I suppress it too.

Task-number: QTBUG-24160
Change-Id: Ia1c872d4515c83b0aa516bcfe3783f59797d2d49
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-15 11:40:50 +01:00
Xizhi Zhu
92659bacda Make sure QGlobalNetworkProxy is created for QNetworkProxy.
Otherwise, you don't have any socket engine handler created when
directly setting a proxy to a socket.

Change-Id: I35cd7f52331672a6d3e7bcdf817c0fe1fd1e7de3
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-15 11:40:50 +01:00
Samuel Rødal
e8a7e926cf Fixed incorrect reporting of child window geometry in xcb plugin.
We should only query the position for top levels, otherwise trust the
position given in the event.

Change-Id: Ic29f25983af3e2c2f27eeb527c08069435ac938c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-03-15 11:40:50 +01:00
Donald Carr
0738c38f0e Add Qt Widgets opt out support to build system
There should be a clear QWidget free path for people with no interest in
legacy QWidget functionality. Adding this option to configure makes this
path readily accessible and hence testable.

Change-Id: If87c1063fcf4c46f5280836126c11999feaa9f8a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-15 11:40:50 +01:00
Johannes Zellner
7ae2ea5426 Remove unmaintained and broken uikit platform plugin
There was no development done to make this working on Qt 5

Change-Id: Ia08d53c6680a65cb1e60a30e55caa992eaa54bc7
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-03-15 11:40:50 +01:00
Samuel Rødal
0b70d8c6af Improved qWaitForWindowShown().
Made faster by actually waiting for the window to be exposed, using
similar waiting logic as qWait(). Should speed up autotests that use it
quite a bit.

Change-Id: I628c6110a554fdbbf5bed7e91f57c2fe341113ed
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-15 11:40:50 +01:00
Frederik Gladhorn
a17907829e Use pointers for QAccessibleEvent.
At least on mac g++ badly wants to copy the event and
cannot use the copy ctor. The sensible solution is thus
to use pointers. This is in line with QCoreApplication::sendEvent.

Change-Id: Icb58852be351ab04ffa17069989d7a07d4b377da
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-15 11:40:50 +01:00
Honglei Zhang
8cec8a4f68 Update QtSql module name according to the new naming convention
According to the new module name convention, QtSql should be replaced
with Qt SQL in documentation.

Task-number: QTBUG-24775
Change-Id: I712ef17c8245d30fe5e3cf879ef6e3e6aa2ff75c
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
088ae4ca71 Re-enable native print/pagesetup dialogs on Mac OS X
Since QtPrintSupport does not have access to the internals of the print
engine on Mac OS X (it lives in the platform plugin). We instead use the
NSPrintInfoFromPrintEngine() invokable method in
QPlatformNativeInterface to return an NSPrintInfo* that we can use where
needed, or we use QPrintEngine::property()/setProperty() to communicate
with the engine.

This commit disables the generic UNIX dialogs and CUPS support on
Mac OS X, ensuring that the default format on Mac OS X is the
QPrinter::NativeFormat (previously qprinter.cpp would force PdfFormat as
default on Q_OS_UNIX which is also defined on Mac OS X).

The rest of the changes are straight forward porting. The methods:

extern void macStartInterceptWindowTitle(QWidget *window);
extern void macStopInterceptWindowTitle();

don't exist anymore, so don't use them. QMacCocoaAutoReleasePool also
doens't work, so use NSAutoreleasePool directly.

Change-Id: I341609e5efa53cadf8d174e4b282cbcae93e39e8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
86fc4aa2b6 Add method to get NSPrintInfo* from QPrintEngine in Cocoa plugin
Add an invokable method that takes the QPrintEngine (which will
always be a QMacPrintEngine) and return the NSPrintInfo* from the
QMacPrintEnginePrivate. This will be used by the native dialogs in
QtPrintSupport to get/set printer settings.

Change-Id: If1e49027e8f0d505656db51be1f40a23f60e8e57
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
7dde92d7d1 Don't keep PMPrint* state separate from NSPrintInfo
When we need to use PMPrintSession, PMPrintSettings, and PMPageLayout,
get these directly from the NSPrintInfo when needed. This avoids us
needing to keep the settings in sync. The native dialogs can then only
rely on getting a pointer to NSPrintInfo (to be done in a future
commit).

Change-Id: I4720284dcf999e454f86766b4291fbda7bf3c537
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
4f246bceb5 Add a QPlatformPrinterSupportPlugin for Cocoa
This is used to create the actual QPrintEngine and to query the system
about printer information.

The QCocoaPrinterSupport actually lives in the Cocoa platform plugin,
so the QCocoaPrinterSupportPlugin uses the
createPlatformPrinterSupport() function in the QPlatformNativeInterface
(since the latter is a QObject). This is done to avoid adding a printing
related virtual function to QPlatformIntegration (since we have plans
to do a new printing API in the future).

Change-Id: I8bf9be668ff8ae1d07840e2af1e0846dc3299334
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
7e3c632e96 Port QMacPrintEngine and QCoreGraphicsPaintEngine from Qt 4 to Qt 5
Copy qprintengine_mac_p.h, qprintengine_mac.mm, qpaintengine_mac_p.h,
and qpaintengine_mac.cpp (as qpaintengine_mac.mm) from src/gui/painting/
in the 4.8 branch of http://git.gitorious.org/qt/qt.git at commit
e6bd33d4aef0e4538d7918e7ab130624c911b553.

The following changes are necessary to port these files to the Qt 5 API:

- The copyright notice on these files has been updated to match the
  header.LGPL template.

- Fix #includes for qprintengine_mac* and qpaintengine_mac*, as some
  headers have moved in Qt 5.

- Remove extern forward declarations for functions that no longer exist.

- Remove friend declarations for classes/functions that are not part of
  the Cocoa platform plugin.

- Remove QT_MAC_USE_COCOA blocks. Qt is always using Cocoa now, there
  is no need to keep the non-Cocoa code paths anymore. The
  QMacPrintEngine::shouldSuppressStatus() method was also removed,
  since it is no longer used.

- Do not use Qt::UniteClip, it was removed in commit
  01b72952c3

- Use QCocoaAutoReleasePool in qprintengine_mac.mm

- Use QPlatformPrintSupport::convert*() functions in QMacPrintEngine,
  since we cannot use non-exported functions from QtPrintSupport in the
  Cocoa plugin.

- Use qt_mac_image_to_cg_image() to convert QPixmap to CGImageRef. First
  convert QPixmap to QImage (cheap, since the Cocoa platform plugin
  uses QRasterPlatformPixmap), and then convert the QImage to CFImageRef
  using the existing helper function.

- Copy qt_mac_cg_context() to the Cocoa platform plugin from
  qmacstyle_mac.mm, adding a note at each location about the
  duplication.

- Add qt_mac_QRegionToHIMutableShape() helper. Adapt the Qt 4.x code for
  QRegion::toHIMutableShape(), and use this in QCoreGraphicsPaintEngine.

- Add qt_mac_drawCGImage() and qt_mac_get_scalefactor() helper. These
  functions are copied directly from the 4.8 branch of
  http://git.gitorious.org/qt/qt.git at the same revision shown above.

- Add qt_mac_create_imagemask() helper in qpaintengine_mac.cpp.  This
  helper is based on the function with the same name from the 4.8
  branch of http://git.gitorious.org/qt/qt.git at the same revision
  shown above. The correctness of the implementation has not yet been
  verified.

Since these files use the QPrinter API from QtPrintSupport, the Cocoa
plugin now needs to link to that library as well.

Change-Id: I90b9bbe201327489ef9e1b3294e68e91ddda27bd
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Harald Fernengel
cad51669d8 Remove QtWidgets dependencies
Remove references to libQtOpenGL, and use QGuiApplication instead of
QApplication

Change-Id: If8f652223492cf758175a260c27b687f3af1c4ad
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 09:50:18 +01:00
Mark Brand
6d67ff4061 improve processing stylesheet properties
By scanning the properties in reverse order we don't have to save
properties in the list only to remove them later when the occur
again. It's also unnecessary to cache the values since they can
be easily plucked out of decls. Various other tests can be done
once per property instead of once per property occurence in decls.

Change-Id: I81cf60c59efaeed57fc9c12df98279d6cae116cd
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: John Brooks <john.brooks@dereferenced.net>
2012-03-15 09:50:18 +01:00
Gunnar Sletta
96fe217467 implement virtual destructor in QPlatformSurface
Change-Id: Iaadd9c3cd7c2e2022066ca859cbe1e912050c561
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 07:55:55 +01:00
Johannes Zellner
91752c43b8 Add new plugin metadata description and eglfs.json file
Change-Id: Ia594c18ba24e5fccf9fa59b9be6efcbeae00fad6
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 07:54:45 +01:00
Jason McDonald
07764b9c15 Verify expected warnings in QSettings autotest.
Use QTest::ignoreMessage() so that the warnings don't appear in the test
output and so that the test will fail if the warnings are not produced.

Change-Id: I418d78819fc9dbfd7da2a8b6c0a1ebfa967347e2
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-15 06:00:52 +01:00
Johannes Zellner
8a79e8b645 Remove unmaintained and broken VNC platform plugin
Change-Id: Ie0a07c3a6822870b095a20d997b63fb1635f20be
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Robert Griebl <robert.griebl@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-03-15 02:45:31 +01:00
Rohan McGovern
329469d5a1 headersclean: omit -Wcast-align also on MIPS
These issues are permitted to go unfixed for ARM and MIPS, for the time
being.

Change-Id: Ibdf33dc42e3de19ef20e9dc50f12f451ea6dbf23
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-15 00:50:47 +01:00
João Abecasis
0147ee75dd Use strlen to determine length of returned path
Change-Id: I8603f032bacdbb060be043f8720bd2b8c34d7ec6
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-15 00:50:47 +01:00
Rohan McGovern
aac68052af Mark tst_qtimeline as insignificant on Windows
This test has been repeatedly unstable.

Task-number: QTBUG-24796
Change-Id: I603965c0189ad6da0cdf48527c4919c55e1918b4
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-03-15 00:50:47 +01:00
Harald Fernengel
cdec3b376f Use the LSB linker to link
Fixes those cases where things would magically link, although they were
everything but LSB compliant.

Also fix a linker error, it seems we need to explicitly link to -lrt,
otherwise, the non-LSB compliant system lib will be taken into account.

Change-Id: I40e278f1c4d2e02084c4c5f15b9bbff8c5901d32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-15 00:50:47 +01:00
Harald Fernengel
f282629224 LSB requires an explicit header include
Makes the plugin build in the LSB environment

Change-Id: Ic9a54b984f7fc1f393853ec01e32886f49a041c6
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 00:50:47 +01:00
Harald Fernengel
7794928ebb Compile in the LSB env
madvise is not part of the LSB, use posix_madvise instead

Change-Id: I661e8c5aece5a764a2a9032fcfab49241ab96dd8
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-15 00:50:47 +01:00
Casper van Donderen
6a1b5a88f6 Rename qdoc index file to qdoc-index.html
Change-Id: I74fcbce7d2929c31031db379d5e0b4b0d2f48800
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-15 00:50:47 +01:00
Casper van Donderen
e164353d85 Rename all occurences of qdoc3 to qdoc in the qdoc manual.
Change-Id: I84cfab5a7130aff9ed8a6eb568d78f29167e1ac8
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-15 00:50:47 +01:00
Martin Smith
33ea784aa8 qdoc3: Change suffix of DITA files to .dita
The files output by the DITA XML generator now
have .dita on the end instead of .xml, but the
ditamap files still use .ditamap .

Task-number:  Mzilla bug - 7291
Change-Id: Idb8b70c5d3f2ac2c4fdf195e385393f7ac68b7ba
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-15 00:50:47 +01:00
Harald Fernengel
44159a0b3b Build with the LSB build env
LSB doesn't define some functionality that we expect on Linux, so
fall back to the generic code.

Change-Id: I19e09908b9e9002140535f159ae0745d7ca80b70
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-15 00:50:47 +01:00
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