summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QWindowsBackingStore: Implement scroll.Friedemann Kleint2012-05-212-0/+15
| | | | | | | | | | Similar to XCB. Task-number: QTBUG-24299 Task-number: QTBUG-24296 (partially fixed) Change-Id: I4c9d813d9645f957f2caad0c4e395ce0d3d222cc Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make QStringLiteral always choke on non-literalsThiago Macieira2012-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fallback implementation of QStringLiteral did not (up to now) enforce the need to use a literal. So it was possible to write: const char *foo = "Hello"; QString s = QStringLiteral(foo); Which would do the wrong thing and create s == "Hel" on 32-bit platforms (sizeof(foo) == 4) or, wrose, s == "Hello\0XY" on 64-bit platforms (sizeof(foo) == 8, X and Y are garbage). This change enforces the need for a literal by producing errors on the above cases, as well as when foo is a char array variable. GCC: error: expected ‘)’ before ‘foo’ Clang (abbreviated): error: expected ')' namespace X { QString x() { const char foo[42] = "Hello"; return QStringLiteral(foo); } } ^ note: to match this '(' ^ ICC: error: expected a ")" namespace X { QString x() { const char foo[42] = "Hello"; return QStringLiteral(foo); } } ^ The first C++11 error currently is: error: expected primary-expression before ‘enum’ (GCC) error: expected a ")" (ICC) Change-Id: I317173421dbd7404987601230456471c93b122ed Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix QtDBus compilation for -qconfig largeTasuku Suzuki2012-05-211-0/+4
| | | | | Change-Id: I016dd3cdab10136af04bd10605efe0a665490d8e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove a line of garbageLaszlo Agocs2012-05-211-3/+1
| | | | | Change-Id: Iae931b4a944abe29097dc30f97099e9aeaa9387c Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* QRegularExpression: Fix warnings about deprecated tr()-function.Friedemann Kleint2012-05-211-2/+2
| | | | | Change-Id: I2325bcab9bb80e5507f53887b282a859d0fdb58c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNetworkReplyHttpImplPrivate::migrateBackendMartin Petersson2012-05-211-29/+2
| | | | | | | | | | | | | If the QNetworkSession change while we are handling a QNetworkRequest we should try to resume this request if possible. In that case we set the offset for where to continue the request. Abort the operation in the http thread. And then post the request again. The offset will then be set using the range header in postRequest() so that the operation is resumed. Task-number: QTBUG-25762 Change-Id: Ib7946905bcc633f8cc3dd7a7ad1ae74579e6bf56 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Cocoa: Fix memory leak in the accessibility code.Morten Johan Sorvig2012-05-211-0/+1
| | | | | | | | QCocoaAccessibleElement takes ownership of the QAccessibleinterface pointer. Delete it in dealloc(). Change-Id: I45a5540b9cf564c639bfa119ff4882008d63fd96 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fallback to IPv4 when IPv6 is not present.Jonas M. Gastal2012-05-214-5/+23
| | | | | | | In tests when IPv6 is not present QSKIP IPv6 tests. Task-number: QTBUG-23660 Change-Id: I02abc7322d765a93cbf661e53c76257f03dca73e Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix QtNetwork compilation for -qconfig largeTasuku Suzuki2012-05-211-0/+12
| | | | | | | Disables two variables completely in QNetworkProxy Change-Id: I76483310b37032c44a25e05fb879de1e9d5282f5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Don't create QBackingStore for QDesktopWidgetGirish Ramakrishnan2012-05-211-1/+1
| | | | | | | | | | QDesktopWidget doesn't need a backing store since it cannot be painted on. Since the QDesktopWidget is always created, this change avoids any resources created in the QPlatformBackingStore contructor. Change-Id: I33679c98363f9c0d7ea64d9c5e27327679ad92a0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix MSVC warnings about struct/class mismatch for dynamic metaobjects.Friedemann Kleint2012-05-211-1/+1
| | | | | Change-Id: I263f25161fa1861ca5e7da9440214fd3ba6e944e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Elaborate QUrl::toString() documentation.Leonard Lee2012-05-211-0/+2
| | | | | Change-Id: If2d726e7b4e8d408312fcb138c3dd146926bfd9a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Get rid of ambiguous overload for xgetbv.Jan-Arve Saether2012-05-211-2/+2
| | | | | | | | | | | | | | The patch that broke this was assuming the signature of xgetbv was _xgetbv(int). This lead to that there were no exact match for the function resolver, thus the ambiguity. Apparently, the signature of _xgetbv is _xgetbv(unsigned int). Changing the static xgetbv to uint makes the match exact, thus no more ambiguity. Change-Id: I8db95e00a9fef264d7a1f84d02bb929db84e6e5a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* qdoc: Write <qmlinheritedby> before <qmlinstantiates>Martin Smith2012-05-211-1/+1
| | | | | | | | | | The order of these two elements has been switched in DITA XML files for QML types. <qmlinheritedby> now comes before <qmlinstantiates>. Change-Id: I1a041c087351734d20629336bbc1c136e04d345a Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Input: evdevmouse plugin cleanupJohannes Zellner2012-05-212-22/+13
| | | | | | | Remove unused code and variables from the evdevmouse plugin. Change-Id: Id7881bc726b5ffb2fa452e4d4dd082fe70f7ed28 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Move rarely used QObjectPrivate data to extraDataMartin Jones2012-05-215-40/+49
| | | | | | | | | | | Move runningTimers, eventFilters and objectName data members to ExtraData. Saves 12 bytes per QObject for 95% of use cases (QObjectPrivate goes from 76B -> 64B). Change-Id: I5648c89f65a7be3ea51bd703ee8a9dcff6222c3c Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Change QSslCertificate::toText() to return a QString.Richard Moore2012-05-213-8/+8
| | | | | | | | | | A couple of people reviewing the toText() method (which is new in 5.0) have said that since the string returned is human readable it should be a QString not a QByteArray. This change follows their advice. Change-Id: Ibade9a24870805f7fbe2d299abeb9c6e964f0cf4 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Cocoa implementation of QPA menu interface.James Turner2012-05-1920-256/+1217
| | | | | | | | | | | Implement the QPA platform menu interface for Cocoa, including native menubar support and merging with the predefined menus created from the bundled .nib. Cleanup code previously used to maintain the menus, and add a manual test of the menus code. Change-Id: Ia99267ddb6485e18e05c540eb32c5aee6cbb85db Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QPA menu abstraction, originally based on Morten's workJames Turner2012-05-1916-191/+348
| | | | | | | | | | Create a QPA abstraction for native menus, derived from the Cocoa support in 4.8, but with the expectation to support other platforms too. Update the QtWidget QMenu and QMenuBar code to maintain their QPA equivalents if they exist. Change-Id: Id605de3da8811dc832bf48b35f9107778ad320ff Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix QtNetwork compilation for -qconfig largeTasuku Suzuki2012-05-195-3/+8
| | | | | Change-Id: I231272e59101e9492a7a1edbacab165b96927877 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Adding QPlatformTheme support for Blackberry devices.Sean Harmer2012-05-197-2/+306
| | | | | | | | Starting off simple with fonts that follow the Playbook guidelines. Change-Id: If772f9a20c5e7566543be6bba47b49cdf3bf1524 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Special case z-ordering of the QDesktopWidget windowSean Harmer2012-05-191-1/+11
| | | | | | | | | | | | | | | | | The assumption that window creation order implies correct initial z-ordering is broken when dealing with certain window types. In this commit we special case the QDesktopWidget's window which maybe created after normal application windows yet still need to be layered below them. Without this fix we may accidentaly activate the Desktop window when the blackberry navigator service sends an event to activate the window group. That results in broken focus handling. Change-Id: I42dfde2efb4a0011e37e7bd2e7c5442590606a24 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Compile fix: Do not rely on __cpuidex() for msvc2008Jan-Arve Saether2012-05-191-4/+5
| | | | | | | | | | | | | | | Since its hard to detect if __cpuidex() is actually available at compile time, we'll add a function overload that will be chosen if the intrinsic __cpuidex() is not available. Note that the QtXgetbvHack that was used for _xgetbv did not really work (MS compiler will bail out because of ambiguous overloads if the intrinsic _xgetbv existed). Therefore, we apply the same workaround for _xgetbv. Change-Id: Iee3bf8bc6352ba0861b05d779f1f001d4eb013ff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QRegExp: fix usage of uninitialized valuesGiuseppe D'Angelo2012-05-191-1/+1
| | | | | | | | | | | | | | | | | | A (probable) typo was causing the code dealing with anchors to use uninitialized values. This used to work by chance, but was indeed detected by Valgrind f.i. when running tst_qregexp -- the indexIn test on anc11 data reported: ==3015== Conditional jump or move depends on uninitialised value(s) ==3015== at 0x514B4EA: PeppeQt::QRegExpMatchState::testAnchor(int, int, int const*) (qregexp.cpp:1813) [...] ==3015== Uninitialised value was created by a stack allocation ==3015== at 0x514B3EB: PeppeQt::QRegExpMatchState::testAnchor(int, int, int const*) (qregexp.cpp:1803) Fixing the code also makes the aforementioned test to succeed. Change-Id: If7b3e518c1bbfcf12573d2637c33ef2eca27c4d5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Don't use the deprecated translate() method anymoreLars Knoll2012-05-181-5/+0
| | | | | | | | | | The Encoding argument of QCoreApplication::translate() is deprecated and source code is always assumed to be encoded in Utf8. Simply remove the encoding argument from the generated .ui.h files. Change-Id: If6c40f6df13abd45a0303c863077972c3d1fb685 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move QIcon metatype handlers back to QtGuiOlivier Goffart2012-05-187-72/+51
| | | | | | | | | | | QIcon has been moved back from QWidget to QtGui, so the QIcon QVariant and QMetaType handler can now be moved back to QtGui. Also we can give back QIcon its old number, allowing to get rid of some compatibility hack when unstreaming QVariant Change-Id: I439d5c2987c06ecd619f394407850f678164afb8 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* QIcon: move back to QtGuiOlivier Goffart2012-05-1828-64/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move the files and tests git mv src/widgets/kernel/qicon* qrc/gui/image/ git mv tests/auto/widgets/kernel/qicon/ tests/auto/gui/image/ - update the include of QIcon git grep -O"sed -i s,QtWidgets/qicon,QtGui/qicon," "QtWidgets/qicon" git grep -O"sed -i s,QtWidgets/QIcon,QtGui/QIcon," "QtWidgets/QIcon" - Adapt QIcon \ingroup documentation sed -i s/QtWidgets/QtGui/ src/gui/images/qicon* - Adapt export macro sed -i s/Q_WIDGETS_EXPORT/Q_GUI_EXPORT/g src/gui/image/qicon* - Update .pri and .pro files - Remove the use of QStyle::alignedRect by copying its content (and adapt slightly - Use QGuiApplication::palette() instead of QApplication::palette() - Add a hook in QGuiApplicationPrivate to call the QStyle::generatedIconPixmap() from QtWidgets Another commit follows to adjust QMetaType::Icon and move the QVariant and QMetaType icon handler back in QtGui Change-Id: I1b63759f892ebc02dfc30f41bb6e76e0b7451182 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Make QCoreApp::translate and related methods use UTF-8Lars Knoll2012-05-185-67/+37
| | | | | | | | | Deprecate the Encoding enum in QCoreApplication and the trUtf8() methods. Qt now assumes that source code is always encoded in UTF-8 to be consistent with QString. Change-Id: Ic62d6947046dee9be0cbd37f2d2f6976b9e572a7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use QMetaType API directly instead of going through QVariant.Jędrzej Nowacki2012-05-181-4/+4
| | | | | | Change-Id: I418ccca7cb6e2aa1ba678e24dd36b39ebecadcbe Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix backingstore crash with QAxWidgetsMiikka Heikkinen2012-05-182-5/+4
| | | | | | | | | | | | | | The crash was caused by the fact that backingStore parameter is always null (there seems to be no call in codebase that uses anything else but the default values for this function). Using "store" member variable instead of "backingStore" parameter gets rid of the crash, and it is how it was in Qt4 - probably the bug crept in when the paremeter and member variables were renamed in Qt5. Task-number: QTBUG-25803 Change-Id: I4b1ccf540fddd6baa1dffa7f8165272b54caf238 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: hooks can never be nullGirish Ramakrishnan2012-05-181-8/+4
| | | | | | | | | | e60ca0de6015a8ee16c7be54d0d430252ef525c1 reworked the hooks design. hooks is initialized with a stub pointer if we don't have a platform hook. Change-Id: Ia60facfebd9e4d9c08d237c6d49793efb598130f Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: Add support for cursor hotspotsGirish Ramakrishnan2012-05-184-14/+69
| | | | | | | | | Cursor information is now loaded from cursor.json. Done-with: Johannes Zellner Change-Id: I093cf8e944d495269973e777d0b444ae4ececee1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* qdoc: Report multiple QML property docssMartin Smith2012-05-183-20/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | Documentation authors sometimes make the mistake of documenting a QML property more than once. Here, we refer to cases where a C++ class is documented in a .cpp file as a QML type. In this context one QML property might be documented in two qdoc comments, because the author of the second comment does not search the file for an existing qdoc comment for the property before adding the second one. When DITA XML is generated for this case, the QML type element will contain two <qmlproperty> elements with identical id attributes, which is invalid XML. id attributes must be unique within an XML document. qdoc now reports an error for this case, indicating that the QMLN property has been documented multiple times. This problem can't occur when documenting QML in a .qml file because in .qml files, each comment must appear directly above the thing it applies to. Change-Id: I3a22650a58371fbda2ac7a5429fc036f41750423 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Merge two simple version of translate() functions for QT_NO_TRANSLATIONTasuku Suzuki2012-05-181-13/+0
| | | | | | | | the commit 53a420a4d1a2d845603dd85ce9ce345c6819088e merged translate() functions. The simple versions need to be merged too. Change-Id: Ie873483beb8ed0b911ae0568e97b427f4c6b74e3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make the windows socket handle non inheritableShane Kearns2012-05-181-1/+23
| | | | | | | | | | | | This is for behaviour consistency with Qt on unix, as well as the socket close issues described in the task. Task-number: QTBUG-4465 Change-Id: Ida95650d8a9bd7b5bc3d3926d22e20a6d7eeb30b Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix FreeType glyph caching for high resolutionJiang Jiang2012-05-182-21/+25
| | | | | | | | | | | | | | | | | | | | For high resolution or extremely large font sizes, the advance cached here is likely to overflow, since FreeType returns 26.6 fixed point value and we only take signed char here for advance. In those cases we should skip caching because there won't be that many big glyphs after all. Also move the metrics caching block a bit down to take glyph embolden and oblique into account. As a result we also don't need to increase the linearAdvance size because any linearAdvance less than 128 should fit in the old 10.6 fixed format. Change-Id: Ic4920ada49954ce1e0a8673c9f33f30e385e3046 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* QMetaObject::activate() overload that doesn't require a metaobjectAaron Kennedy2012-05-182-0/+8
| | | | | | | | | This allows QML to emit signals without having to built lazily created metaobjects. Change-Id: If8068fb3cb35d79dc8f3ef79253d9c2eb7c93205 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Avoid qobject_castAaron Kennedy2012-05-181-1/+2
| | | | | | | | | This is slightly faster, and also avoids accessing the object's meta object that would cause any lazily created meta objects from being built. Change-Id: I0a78e09511c120bdbe707a1efc91ba480ab7680c Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Encapsulate the dynamic meta object pointerAaron Kennedy2012-05-185-13/+28
| | | | | | | | | This change allows us to delay creating the actual meta object until it is actually required. Change-Id: I1c4a4226bd82fa606b206dd60322f49b49c32463 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Clean up some QT_HAVE_xxx macros in qcompilerdetection.hThiago Macieira2012-05-182-12/+3
| | | | | | | | | | | | | | We no longer have code doing MMX or 3dNow! on Qt 5, so nothing defines those macros. If nothing defines them, we don't need to undef them. Note that the SSE case is a mislabel: the old "SSE" code on Qt 4 wasn't real SSE, it was MMX with some instructions added at the same time as SSE was added. It's MMX that Windows 64 doesn't support. As for QT_HAVE_ARMV6, this macro is replaced by the sub-arch detection in qprocessordetection.h. Change-Id: Ic3b00e1533e6b4cea32ba7824233de0a5c0fb32b Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* testlib: added missing newline to error messageRohan McGovern2012-05-171-1/+1
| | | | | Change-Id: I8b205da4d225d99f8505a46d8d78ad302cb2b9e3 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* add some more widely-used QChar::SpecialCharacter enum valuesKonstantin Ritt2012-05-173-2/+10
| | | | | | Change-Id: Iad58f4366ba6cd6da29a268c56c8a4bc4cf0329c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* eglfs: Allow cursor atlas to be specified using an env variableGirish Ramakrishnan2012-05-171-1/+4
| | | | | | | | The atlas it assumed to have 8 cursors per row. All cursors have to be square. Change-Id: I7ffbad4662be450b146f84032bb26187894d528f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: delete cursor textures in the destructorGirish Ramakrishnan2012-05-171-1/+7
| | | | | Change-Id: I7e86313134c428bacda41f5e5401ebc392ceecd8 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: remove multiple references to qeglfshooks.h in HEADERSGirish Ramakrishnan2012-05-171-1/+0
| | | | | | | ce2b46daea5815df1070463b6bc379e1b4573dae introduced the mistake. Change-Id: Ifbd276dc24138dfb771d0cb14cb5d18dfa7beb2d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove src/widgets/kernel/x11.pri.Robin Burchell2012-05-172-5/+0
| | | | | | | | | | | | | | Presumably, this was set for QSound, which has since moved to QtMultimedia (and no longer uses nas, anyway). Configure also no longer seems to have logic for setting nas, as of 4535913c4fb908293f8f1667eff480efc3fadd73. Change-Id: Ie5b351844bd169ad0548b0d29513adbf6f5d9a12 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* turn off exceptions by default where they aren't requiredLars Knoll2012-05-176-8/+9
| | | | | | | | | | | | | This significantly reduces the size of the generated code in places where we don't need exceptions. The -(no-)exceptions configure flag has been removed in the process, as there is now a fine grained way to control this on a per module level, and Qt is being compiled without exceptions in most places. Change-Id: I99a15c5d03339db1fbffd4987935d0d671cdbc32 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix cursorToX for right to left text with trailing whitespace.Andrew den Exter2012-05-172-15/+9
| | | | | | | | | | | | | | | | QTextLine::cursorToX returned the line width for cursor positions outside the width of a wrapped right to left line because the leading space width was always calculated as 0. Returning a non-zero width for the leading space does cause problems for other uses of QTextEngine::alignLine() though as the textAdvance already doesn't include the leading/trailing space so subtracting it there double accounts for it. Task-number: QTBUG-24801 Change-Id: I56cbb139814c32813bebb49de8c045b29154a958 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* QDoc: Generate correct relative paths and links when using -installdir.Casper van Donderen2012-05-162-6/+9
| | | | | | | | This change will generate working links between all modules in qtbase. Some testing needs to be done on the other modules. Change-Id: Ic65a9c753f891ac51427ca7c1cdcab13611d2f5b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Fix bug when destruction fields in QWizardCarl Schumann2012-05-161-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Maintain the consistency of QWizardPrivate's two members: QVector<QWizardField> fields; QMap<QString, int> fieldIndexMap; during and after calls to QWizardPrivate's void _q_handleFieldObjectDestroyed(QObject *) member function. The failure to maintain this consistency caused an out of bounds access and core dump in QWizard's field(const QString &name) member function. QWizard's field(const QString &name) member function expects the values in the QMap fieldIndexMap to be indexes into the QVector fields. Prior to this change _q_handleFieldObjectDestroyed only removed the appropriate entry from the map and erased it from the vector. It did not decrement by one all the indexes greater than the index that was removed from the map and erased from the vector in the rest of the map. For example ... So if initially have the following mapping ... "field0" -> 0, "field1" -> 1, and "field2" -> 2 with fields of size 3. After destruction of "field1" have ... "field0" -> 0, and "field2" -> 2 with fields of size 2. Now attempts to look up "field2" using QWizard::field will have an out of bounds error and possibly core dump or trigger an internal Qt assert because an attempt to access this->fields[2] will be made. It should be accessing this->fields[1], but does not because the map is no longer consistent with the vector. This change adds a decrement by one for all the indexes greater than the index that was removed from the map and erased from the vector. Task-number: QTBUG-25691 Change-Id: Ia2a41027628a65faec4ecdd5da235ddd19746a57 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>