summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QDateTime - Switch to using msecs based functionsJohn Layt2013-09-142-185/+29
| | | | | | | | | | | | | | | | | | | | | | A number of QDateTime functions directly use or modify the data stored in the private, but future changes to store msecs and status make this maintenance more complicated. Where possible simplify this code to use the standard msecs functions, standard constructors, or public api instead. This greatly simplifies the functions and the following msecs storage code changes. This is an intermim step towards storing the time in msecs. Some functions will be slower as a result of this change, optimization will take place after all the msecs changes are completed. Note this also removes a test that used valid QDates outside the range of msecs, this change in behavior will be documented in the final mscs change. Change-Id: I6ef710f24babc7024091010064082e9be0b5bbfe Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* winmain for winrtAndrew Knight2013-09-142-1/+156
| | | | | | | | | | | | | WinRT passes the executable and Appx server info to the CRT main, and supports several additional activation arguments as well. This handles the arguments passed to main as well as the case where a modern app is launched from an external application (e.g. Qt Creator). Task-number: QTBUG-30198 Change-Id: Ia843e98c7843d5705f5f6d1c809de0b6bcdb5d26 Done-with: Kamil Trzcinski Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Drop leftovers after 02651060b6ce5b16b06721378a239a6d2bd9f528Konstantin Ritt2013-09-141-6/+0
| | | | | Change-Id: I011359a47ed47308a7d25e306fbf45a83a3a5715 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix build with -WerrorKonstantin Ritt2013-09-141-1/+1
| | | | | | | | | The actual warning is: src/gui/text/qharfbuzzng.cpp:589:67: error: cast from ‘void*’ \ to ‘uint {aka unsigned int}’ loses precision [-fpermissive] Change-Id: I75cc7bad2147cd5e5e7c17bc22fe613280e86755 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* ICC 13.0 supports atomicsThiago Macieira2013-09-141-0/+1
| | | | | | | See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler Change-Id: I45ba6aa640f82df4d06fd4412264892bfd58ffc3 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Base64: Implement the "base64url" encoding and the stripping of '='Thiago Macieira2013-09-144-14/+116
| | | | | | | | | The "base64url" encoding is defined in RFC 4648, which is the newest version of Base64. There are also a few situations where the ending '=' is not desired. Change-Id: I9bb9fa55817b57d125189e4e795d6fde97caea6d Reviewed-by: Richard J. Moore <rich@kde.org>
* Whitespace: re-indent the {to,from}Base64 functionsThiago Macieira2013-09-141-44/+52
| | | | | | | | The code must have been copied from somewhere, a sample implementation. Change-Id: Ieb6ac5d69824fe8a3f38710a22beb79ac986e182 Reviewed-by: Richard J. Moore <rich@kde.org>
* Merge "Merge branch 'stable' into dev" into refs/staging/devSergio Ahumada2013-09-1439-8944/+8936
|\
| * Merge branch 'stable' into devSergio Ahumada2013-09-1339-8944/+8936
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/qtconcurrentmedian.h src/corelib/itemmodels/qabstractitemmodel.cpp Change-Id: Iac46a90bbb2958cef7670031a4b59c3becd8538a
| | * Fix highdpi CE_HeaderLabel pixmaps in fusion styleMorten Johan Sørvig2013-09-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure enough pixels is sourced by multiplying the layout rect size with the pixmaps devicePixelRatio. Task-number: QTBUG-31477 Change-Id: I742603c09a65a520587da3eef9479ef7f0c87022 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * QNX: new signals for foreign windows creation/closingMyoungSeok Song2013-09-132-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the foreignWindowCreated and foreignWindow closed signals, emitted when foreign windows are created and closed, respectively. Change-Id: I72dd5380e6061f191eb8362fda5dd8fb8e9ed06b Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| | * QNX: add nativeResourceForScreenMyoungSeok Song2013-09-122-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implemented nativeResourceForScreen api to return QObject* which can be used to connect foreignWindowCreated, foreignWindowClosed signal in QQnxScreen. Usecase is to connect signal in custom QML component as below QObject * obs = interface->nativeResourceForScreen("QObject*", screen); connect(obs, SIGNAL(foreignWindowCreated(void*)), d, SLOT(newForeignWindowCreated(void*))); Change-Id: I512c3b6d188a2e90ef7b8e89c413ca420a29dd9b Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| | * Windows style: Support underlined mnemonics from Qt Quick ControlsGabriel de Dietrich2013-09-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | We use the usual accessibility + private property combo pattern. Task-number: QTBUG-33030 Change-Id: I7fbb704c949ff2df163536534f6f46d2e226402d Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| | * QtConcurrent: fix median calculationMarc Mutz2013-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The median, for arrays of odd size, is found in [size/2], not [size/2+1]. For arrays of even size, the code doesn't work anyway, so nothing to do there. Change-Id: Id23ff3fe9538c2d8ef8f88e23127cb92af08b444 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * QMessageBox: implemented shortcut for selectAllShawn Rutledge2013-09-121-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The context menu all along has indicated that Ctrl-A selects all the text, so now that is actually implemented. Task-number: QTBUG-6731 Change-Id: I82dac3aea530e5a3fcd59217c4c0118025061c7d Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * QMessageBox: shortcuts for selectAll, copy don't conflict with buttonsShawn Rutledge2013-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You can hit a key with no modifier to select a dialog button that has the corresponding mnemonic, but it doesn't make sense to do that if the Control or Meta key is being held. Now you can hit Ctrl-A, Ctrl-C to select all the message detail text and copy it to the clipboard, even if the dialog has buttons with mnemonics like &Continue and Save &Again. But as before, Alt-C, plain C, Alt-A and plain A select the mnemonic buttons on the dialog. Change-Id: I40c052dbb7730bde444ac2de405724a3203d1472 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Windows: Fix window opacity for non-translucent windows.Friedemann Kleint2013-09-122-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the UpdateLayeredWindow() functions only for windows with alpha. Task-number: QTBUG-33025 Change-Id: I64b0c28ee0997cd3d09dc76babe105ed474c6835 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * Compilation fix for libjpeg release 9aavit2013-09-111-23/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the latest libjpeg version, the "boolean" type is changed so that true and false no longer can be used instead of TRUE and FALSE. Also, purge some ancient code remains meant to support a now defunct OS´s idea about the boolean type. Task-number: QTBUG-33166 Change-Id: Iebbdf300cfdc22775954de65f985358424ed2b49 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Fix the internal QDir sortingGiuseppe D'Angelo2013-09-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If two items are equal according to the current sorting criterion, the sorting predicate uses the address of the items to break the tie. The problem is that the items themselves are being moved during the sort; therefore, this will break the Strict Weak Ordering that std::sort requires. For instance, suppose to be sorting case-insensitively the following array: ("b", "a", "A") Simulating a swapped-based sorting can lead to: Array before Evaluated predicate Array after ("b", "a", "A") "a" < "A" (1) ("b", "a", "A") ^ ^ ("b", "a", "A") "b" < "A" (2) ("A", "a", "b") ^ ^ ("A", "a", "b") "A" < "a" (3) (XXXXXXXXXXXXX) ^ ^ (1) True, because of the array ordering (they're equal otherwise) (2) False: swap them (3) True, because of the array ordering (they're equal otherwise) (1) and (3) say that "a" < "A" and "A" < "a", SWO gets violated, leading to undefined behavior. This problem was causing QFileSystemModel autotests failures (cf. [1]) after switching to STL algorithms instead of using qSort. The array to be ordered in that case is ("a", "c", "C"), cf. tst_QFileSystemModel::caseSensitivity. (STL algorithms are much smarter than good ol' quicksort in qSort; if we're ordering on an array which fits in a cache line, they turn to the much faster (~1 robe) insertion sort. Violating SWO with a quick sort usually just gets to a non-sorted container; insertion sort is implementable in ways that rely on SWO, otherwise they will overflow the iterator; cf. Cormen/Leiserson/Rivest and the other literature on the topic.) This commit reverts commit fa5f3a44 (in Qt 4). [1] http://testresults.qt-project.org/ci/QtBase_dev_Integration/build_01749/linux-g++_shadow-build_Ubuntu_11.10_x86/log.txt.gz Change-Id: I5d8ac0d0907675c501717969abee2816b41eca18 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * Fix Invalid Drawable error when using createWindowContainer on Mac.Chris Meyer2013-09-102-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You are not supposed to call NSOpenGLContext -setView: for a view that has not yet called drawRect. Doing this would result in a invalid drawable error. Similar to 4.8 commit cd2a51a66f52767c20e80361033c573651b3a08d Change-Id: Ibb2300a8c6fe52f786f813987e93d4a3dc145366 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * Doc: split up Qdoc-manualNico Vertriest2013-09-1018-8893/+8859
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc-manual.qdoc is now an overview document Each section is a separate qdoc file Title modification in minimal qdocconf qdoc file Task-number: QTBUG-31801 Change-Id: I9e50eb8c4f1f501e9c0bc768372d4393b73053ed Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * Fix a typo in documentationJędrzej Nowacki2013-09-101-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-33408 Change-Id: I84729139ff40ac62b29031eb161761a8205259cc Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
| | * Correct type mismatches sentence in signals and slots documentation.Mitch Curtis2013-09-101-1/+3
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-15994 Change-Id: I19581ae33313de44bcb6e5eb2c06fc9e507ad101 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * QRawFont::fromFont does not get antialias setting from fontconfigAllan Sandfeld Jensen2013-09-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating a fontengine in QFontconfigDatabase::fontEngine we solely base the antialias setting on the QFont StyleStrategy and forget to ask fontconfig it has an overriding definition for this font match. This patch will now let fontconfig decide the antialias setting unless the NoAntialias stylestrategy has been set. Change-Id: I67981582a37cfd3c59aa1db929095585af554088 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
| | * Removed unused distance field functions.Yoann Lopes2013-09-091-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are not needed anymore since 5971e091 and 184e27c0 have been integrated. Change-Id: Id611f1432a010f3c2af86951e1c79cb8fc73f9e4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * Move winId!=0 assertion from QWindow to QWidgetAndrew Knight2013-09-092-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In "very basic platform plugins", the platform window ID can be null, which conflicts with QWidget's special treatment of 0 as a parented widget. Such is the case with EGLFS, which can return a null native window handle for winId on some EGL implementations. Move the assertion winId!=0 into the widget framework, as this assert is not relevant for non-widget applications. A large proportion of basic platform plugin users will see relief from this unnecessary assertion. Change-Id: I25c9d96550cd747c77c9516d773e9cdebf7440ab Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
| | * Doc: Fix copy+paste errors for QAbstractItemModelSze Howe Koh2013-09-082-5/+5
| | | | | | | | | | | | | | | Change-Id: Ia462544cc86870d9870ae1be3b4f9135c9efe45c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | QMessageBox - move margins to a left spacerThorbjørn Martsum2013-09-131-27/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves labels indent and contents margins into a left spacer, and it only puts the iconLabel in the layout if there is an icon. Change-Id: I6f3563a08fc15ec6ec267e095adf1734f7828355 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | | QTime - Add public api for get/set msecs since start of dayJohn Layt2013-09-132-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new public api to get and set the number of msecs since the start of the day. Modify QDateTime to use the new msecs api. [ChangeLog][QtCore][QTime] Added new methods fromMSecsSinceStartOfDay() to create a new QTime from an msecs value, and msecsSinceStartOfDay() to return the QTime as the number of msecs since the start of the day. Change-Id: I285b725b883f1f5524fda87ca81bd64ed99fe6f4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | | Add a static QFileInfo::exists(fileName) functionhjk2013-09-133-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids dynamic construction of the private class. According to the benchmark we go from 4,550 to 3,900 instruction reads per iteration. (without change 32629676 the baseline is 5,600) Change-Id: I5df925e30dbd49bdde87173e481820574ce5abe1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add a note on symlink behavior of QFile::existshjk2013-09-131-0/+3
| | | | | | | | | | | | | | | | | | Change-Id: I41ede0536f1b7093a7cde3d74a5e221df413aeea Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Don't use an extension to the C++ language in public headersThiago Macieira2013-09-132-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Clang 3.3, this is an extension: qpalette.h:178:9: error: anonymous types declared in an anonymous union are an extension [-Werror,-Wnested-anon-types] qsizepolicy.h:148:9: error: anonymous types declared in an anonymous union are an extension [-Werror,-Wnested-anon-types] If you try to simply give the struct a name, it complains with: qpalette.h:178:16: error: types cannot be declared in an anonymous union Change-Id: I61c69b8e42a1f4c4a15a0733f2d7efa0b3e44864 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | | Optimize QBitArray::count(bool)Thiago Macieira2013-09-131-17/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ever since 76e0223619da02911d02813961ef631a5e02d826, qPopulationCount was extracted from QBitArray and moved elsewhere. That unfortunately meant that the 24-bit loads are completely useless, since qPopulationCount always operates on 32 bits. Instead, do a full loop on 32-bit and then do 16-bit and finally 8-bit (for which there are qPopulationCount overloads). Change-Id: If945609f075095257d12877c39434909ac190e54 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Remove unused QPF font engine support.Thiago Macieira2013-09-132-1501/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | QWS is gone. Change-Id: Ic04c4dcfff51522dd538bf2cb198dc2e02fe7572 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
* | | Make nativeOrientation available in the public APIPaul Olav Tvete2013-09-132-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QtSensors module defines the coordinate system relative to QPlatformScreen::nativeOrientation(). However, that is not part of the public Qt API. Task-number: QTBUG-32144 Change-Id: I6941c5b8589219064749f18880775b803f23fbbd Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Fix QWindow::moveEvent documentationLaszlo Agocs2013-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | It handles window movement events, not mouse move events. Change-Id: Ibc8fd0272756fcf87dfac210addbf2f87cfb39d5 Reviewed-by: aavit <eirik.aavitsland@digia.com>
* | | Remove qFill usages from uicGiuseppe D'Angelo2013-09-131-2/+4
|/ / | | | | | | | | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I58d0c78609381b20ffe8a68e36c8216689362ed5 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | MetaType: Fix operator{+,-}(int) with the type-erased const_iterators.Stephen Kelly2013-09-132-4/+32
| | | | | | | | | | | | | | | | Make sure we don't modify the lhs. Instead copy it and advance the copy. Change-Id: I3440e8e175bfc299f8f83b816faca54fa3f79e43 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Remove some unneeded constructors.Stephen Kelly2013-09-131-11/+3
| | | | | | | | | | Change-Id: I34f86960dc0cfaada509957bca5466b2765e8239 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | qdoc: Eliminate duplicate page warnings in some casesMartin Smith2013-09-131-1/+15
| | | | | | | | | | | | | | | | | | Prevent qdoc from reporting duplicate pages for external pages with the same URL and title. Task-number: QTBUG-33462 Change-Id: Idabdb241aaa4fe105f7b3ea78229ff1ae8776ecf Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | iOS: Interleave Qt application main() with iOS startup sequenceTor Arne Vestbø2013-09-136-33/+569
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our previous event loop integration had two unfortunate flaws: 1. We would call qt_user_main() from a timer, after returning from didFinishLaunchingWithOptions. This had the effect of showing the iOS application window long before the Qt application UI had been set up, resulting in a 1-2 second flash of black/pink between the launch image disappearing and the actual application showing. 2. We spun a nested event loop, where our implementation of the different event loop modes did not perfectly match the Apple implementation. This resulted in scrolling being busted in some cases such as when showing the virtual keyboard for Emoji characters. These two issues have now been solved by calling the user's main() from didFinishLaunchingWithOptions. Normally this would not work, as the user's main would call QApplication::exec() at the end of their main(), which would block and we would never return back from the didFinishLaunchingWithOptions callback, resulting in no UI on screen. We work around this by longjmp'ing out of QApplication::exec(), back into didFinishLaunchingWithOptions, so that it can return. Again, this would normally not work, as the call stack where QApplication and friends would live would get smashed as the application continued executing. We work around this by allocating a block of stack space at the start of main(), which we then redirect the stack pointer to before calling the user's main. This results in the whole stack of the user's main() and below being preserved, even if we longjmp out of the call stack (which then restores the stack pointer). This approach should work fine together with garbage-collection as well, since the mark-and-sweep phase will walk the stack from the stack pointer to the stack base, including sections of the stack that were part of qt_user_main() and live in the reserved area. One case where GC will fail though is if it happens as part of the qt_user_main() call, where the GC will not mark anything in the 'real' callstack below UIApplicationMain(), but this is not expected to happen. The size of the reserved stack can be controlled through the Info.plist key 'QtRunLoopIntegrationStackSize', as well as the 'QtRunLoopIntegrationDisableSeparateStack' key to disable the separate stack approach completely. This will fall back to the old approach. The amount of stack space used by the user's main can be determined by enabling a special debugging mode, using the 'QtRunLoopIntegrationDebugStackUsage' key. Change-Id: I2af7a6cfe1a006a80fd220ed83d8a66d4c45b523 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix typo in note on symlink behavior of QFileInfo::existshjk2013-09-131-2/+2
| | | | | | | | | | Change-Id: Iacd957cd9cd04e9153efd826bb42d872f8963f75 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Remove qSort usages from qdocGiuseppe D'Angelo2013-09-132-2/+6
| | | | | | | | | | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I419d767ea18944917888037899e6ececdb014e82 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Fix Strict Weak Ordering in qdoc's comparatorGiuseppe D'Angelo2013-09-131-1/+1
| | | | | | | | | | | | | | | | | | If both n1 and n2 are "Private", the comment says they're equivalent, but the function is actually stating that n1 < n2 AND n2 < n1. Change-Id: I8e30b32c1e5240551ab1808baf6fc476841dfde4 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | QDoc: properly initialize a memberGiuseppe D'Angelo2013-09-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spotted by valgrind: ==14189== Conditional jump or move depends on uninitialised value(s) ==14189== at 0x47B3FD: DocParser::parse(QString const&, DocPrivate*, QSet<QString> const&, QSet<QString> const&) (doc.cpp:1627) ==14189== by 0x4818AC: Doc::Doc(Location const&, Location const&, QString const&, QSet<QString> const&, QSet<QString> const&) (doc.cpp:2755) ==14189== by 0x4E6C3D: PureDocParser::processQdocComments() (puredocparser.cpp:140) ==14189== by 0x4E6A9E: PureDocParser::parseSourceFile(Location const&, QString const&) (puredocparser.cpp:109) ==14189== by 0x4D2E4C: processQdocconfFile(QString const&) (main.cpp:473) ==14189== by 0x4D3B3C: main (main.cpp:656) ==14189== Uninitialised value was created by a heap allocation ==14189== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==14189== by 0x474378: DocPrivate::constructExtra() (doc.cpp:415) ==14189== by 0x47B975: DocParser::insertTarget(QString const&, bool) (doc.cpp:1676) ==14189== by 0x476B52: DocParser::parse(QString const&, DocPrivate*, QSet<QString> const&, QSet<QString> const&) (doc.cpp:956) ==14189== by 0x4818AC: Doc::Doc(Location const&, Location const&, QString const&, QSet<QString> const&, QSet<QString> const&) (doc.cpp:2755) ==14189== by 0x4E6C3D: PureDocParser::processQdocComments() (puredocparser.cpp:140) ==14189== by 0x4E6A9E: PureDocParser::parseSourceFile(Location const&, QString const&) (puredocparser.cpp:109) ==14189== by 0x4D2E4C: processQdocconfFile(QString const&) (main.cpp:473) ==14189== by 0x4D3B3C: main (main.cpp:656) Change-Id: I5c50c6611a1d901cc19d12bc3757977c36b2a73b Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | moc: add -M<key=value> to ease static qml plugin linkingRichard Moe Gustavsen2013-09-134-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A module plugin in qml belongs to a URI/namespace. This uri is resolved run-time by QtDeclarative by knowing the path of the qmldir that references the plugin. For static plugins this becomes a problem, since we lost the information regarding which plugin belongs to which qmldir, since a static plugin has no file path. To avoid pushing the responsibility of clarifying this onto the application developer, it is better to embed this information into the meta data of the plugins themselves. Since this information can be resolved by the build system, a new option to moc has been added: -M<key=value> that will let you add meta tags to the meta data from the command line to each class that has an IID specified. For the URI case, we can then e.g do: -Muri=QtQuick.Controls -Muri=QtQuick.Controls.Private Change-Id: I81a156660148fc94db6f3cac0473e9e1c8458c58 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Adding QPlatformMessageDialogHelper and QMessageDialogOptionsShawn Rutledge2013-09-134-2/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We plan to add support for native message/alert dialogs on Android and iOS because it's otherwise impossible to have a true popup window. Then we might as well have native message/alert dialogs on other platforms too. It will become an alternative implementation behind QMessageBox and perhaps QErrorMessage. Task-number: QTBUG-30883 Task-number: QTBUG-29462 Change-Id: I73dcfc6438e696189b6d37091874c7ad69b4ec68 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Bring back Qt4 X11 session management functionality.Teo Mrnjavac2013-09-1310-4/+664
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added QXcbSessionManager to the Xcb plugin. QXcbSessionManager inherits from QPlatformSessionManager, it's a port of QSessionManager as it is in Qt 4.8. Minor changes also in QPlatformSessionManager and QGuiApplication to hook it up. Task-number: QTBUG-28228 Task-number: QTBUG-30011 Task-number: QTBUG-33033 Change-Id: I50b33d05a1e32c5278dea339f693713acc870a70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | Remove Q_PACKED from structures that do not need to be packedThiago Macieira2013-09-134-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These structures do not need to be packed. With some compilers, Q_PACKED was defined to be empty, which means that the code was working fine without packing. Or there were some lingering problems on those platforms (MSVC) and we're now exposing them in all platforms. Actually, it shouldn't be a problem anywhere. QCharAttributes, quint24 and QFontEngineQPA::Glyph have only char/uchar members, so they're packed already (they have alignof == 1). The only platform where that wasn't true was ARM OABI, which we don't support anymore. QFontEngineQPA::Header seems to always come from a QByteArray, so it doesn't neeed to be packed either. However, just to be sure, I'm inserting a check for alignment. And QFontEngineQPA::Block isn't used anywhere. Change-Id: Iacfa25edf336ef2a03aeb6e40ae90937a21661ae Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Remove the empty definition of Q_PACKEDThiago Macieira2013-09-131-3/+0
| | | | | | | | | | | | | | | | | | | | Structs defined with Q_PACKED *need* to be packed in all platforms. Having an empty define means errors might go unnoticed for a long time. Change-Id: I9c388358fed27a8e018465f05375e4bbbee3484c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>