summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Implement QRegularExpression overload for QTextEdit::findSamuel Gaist2018-10-085-0/+87
| | | | | | | | | | | | This patch adds the missing overload for QRegularExpression to match the QRegExp one for QTextEdit. [ChangeLog][QtWidgets][QTextEdit] Added QRegularExpression find() method overload. Change-Id: Ic7be224dcc59fc8d832daddd1999a713b7f04253 Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: David Faure <david.faure@kdab.com>
* Use the stack for storing objectsJesus Fernandez2018-10-081-669/+646
| | | | | | | | | | Theoretically, it could improve the speed. Some of the modified lines also make the style homogeneous. Change-Id: Iaed7b16fa75e485be0f825220c366903525448ce Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-10-0870-236/+579
|\ | | | | | | | | | | | | Conflicts: src/widgets/styles/qstylesheetstyle.cpp Change-Id: I3a503b44ae413fbc0a90f4af70b8f84daffd86ad
| * winrt: Explicitly set main thread in QCoreApplication's constructorOliver Wolff2018-10-083-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For winrt we cannot rely on the fact, that QThread::current will be called from the correct thread for the first time. The application's main entry point creates a suspended thread and starts it right afterwards. At that moment, other functionality (QLoggingRegistry for example) might have called QThread::current, which set the wrong thread as the main thread. In order to avoid this situation, the main thread is explicitly set in QCoreApplication's constructor. Task-number: QTBUG-66418 Change-Id: I8b6347357a80eb395ae758bd3d420adef0826751 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QLineEdit: take the size of actions' icons from a styleAlexander Volkov2018-10-062-2/+3
| | | | | | | | | | | | | | | | | | | | The height of a line edit depends on the height of its font, which in turn depends on DPI. So use the DPI-scaled icon size from a style instead of hard-coded values. Task-number: QTBUG-65627 Change-Id: Ic1f5af61b0d6346cfbc828817c4a3a39296a41ba Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Cleanup in eglfs device integration .pro filesSimon Hausmann2018-10-0511-12/+0
| | | | | | | | | | | | | | | | | | There is no need to apply QMAKE_LFLAGS_NOUNDEF in a .pro file that loads qt_module.prf or qt_plugin.prf, both of which do the same. Change-Id: I1ec86cddb4d0991becc136f8bd50d6652c885a6b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * uic: Write the float and double properties in 'f' formatJarek Kobus2018-10-055-41/+41
| | | | | | | | | | | | | | | | Make the code consistent with the DomProperty::write() method. Task-number: QTBUG-70613 Change-Id: I622b4a019a4473823584de97304f8324f2cf0c6b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Optimize gamma-table lookup on SSE2 and NEONAllan Sandfeld Jensen2018-10-051-34/+122
| | | | | | | | | | | | | | Speeds up gamma-corrected text rendering. Change-Id: I38c12ff52f4601853c3f3524de2761a932111160 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| * QtWidgets: Fix Qt application coming to the foreground when launching app by ↵Friedemann Kleint2018-10-051-2/+5
| | | | | | | | | | | | | | | | | | | | popup menu Check on the application state before requesting activation. Fixes: QTBUG-70810 Change-Id: I550137dc00209b17f4b3c033287ceef1b871ff50 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QTreeView: adjust documentation of key bindingsChristian Ehrlicher2018-10-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | The documentation for key bindings was a little bit unclear for key asterisk. Also sync the names of the left and right key was not consistent (Left/RightArrow - Left/Right) Change-Id: Icee0821880fcc3ebc2ade939cf80127ebf0976ad Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * StyleSheetStyle: Load @Nx imagesMorten Johan Sørvig2018-10-046-9/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | Perform a @Nx image file lookup when loading pixmaps. Make drawBackgroundImage() handle high-dpi pixmaps, here the layout calculations needs to be in device- independent pixels Fixes: QTBUG-36825 Change-Id: I61e6f53c59f61f3bd88c34a036349e51e8c8ad92 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * Cocoa integration: fix incorrect keyboard mappingTimur Pocheptsov2018-10-041-4/+6
| | | | | | | | | | | | | | | | When switching between different input sources, we have to update layouts. Task-number: QTBUG-50865 Change-Id: I0c23c19b79a2102dcc533822b0f861c387582c6c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * QCocoaKeyMapper: Properly initialize all members and reset on updateUlf Hermann2018-10-042-12/+10
| | | | | | | | | | | | | | | | | | | | | | Previously some of the members would have random initial values. Also, on updateKeyboard() if we don't find usable uchrData, we should just reset keyboard_layout_format and keyboard_mode, rather than keep the previous values. Task-number: QTBUG-50865 Change-Id: I1297fa55bb1593dd549d0bc122713d5d98f7b1fc Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * QGraphicsScene: Make focusing on touchBegin optionalUlf Hermann2018-10-044-27/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually we focus in when we receive a click or equivalent. QGraphicsScene by default also transfers the focus when you start a touch on a trackpad or similar. Most of the time this also generates a synthetic mouse click, so people don't necessary notice. However, at least on macOS you can configure this behavior. With focusOnTouch switched off, QGraphicsScene behaves as one would expect on macOS. Fixes: QTBUG-59442 Change-Id: Ib87112640eef6b77892ad2490d80eedd055e6dce Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QAccessibleTable(Header)Cell: fix isValid()Christian Ehrlicher2018-10-031-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | QAccessibleTable(Header)Cell::isValid() did not check if the view is still valid as it is done in QAccessibleTable::isValid() which can lead to a crash during destruction when e.g. operator<<(QAccessibleInterface) is called. Change-Id: I930bf4c22aa0aa6868f58a8e5d0dd1557f6b17af Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * macOS: Don't call [NSOpenGLContext update] for every frameTor Arne Vestbø2018-10-032-3/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling update has a cost, and should only be done when the drawable object changes size or location. Instead of calling update each time makeCurrent is called, we listen for the appropriate notifications, limiting the number of update calls significantly. We still call update on the thread owning the QOpenGLContext, which is not ideal, as [NSOpenGLContext update] should only be called on the main thread, but in practice this works. Getting out of this situation is tricky, and setView has in theory the same problems. Until those problems have been solved we keep the behavior as is. Task-number: QTBUG-63572 Change-Id: Ibac9f8be7843f2aa006af6f7ee670bf027122440 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Extend tst_QGL::graphicsViewClipping blacklistingTor Arne Vestbø2018-10-031-1/+1
| | | | | | | | | | | | | | Change-Id: Ife72db5a0d7cb8abe55c60c519087e2b60f26990 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * macOS: Only verify the major and minor version of the platform SDKTor Arne Vestbø2018-10-031-2/+4
| | | | | | | | | | | | Change-Id: I8de6c06e8be09483591efdf37c1631134d4ef826 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * macOS: Bump the SDK version we've tested with to 10.14Tor Arne Vestbø2018-10-032-5/+1
| | | | | | | | | | Change-Id: Ibfdb8be91be46b22e0f0b97105121176a02a8576 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * macOS: Ensure QFontDialog picks up changes in NSFontPanelTor Arne Vestbø2018-10-031-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the font changes in NSFontPanel, it notifies NSFontManager via -[NSFontManager modifyFontViaPanel:], which in turn sends the font manager's action (by default changeFont:) to its target (nil, unless set). Sending the action in -[NSApplication(NSResponder) sendAction:to:from:] will sanitize the 'to' argument via _NSTargetForSendAction. If the argument is non-nill (if we've set the NSFontManager target explicitly), and we're running in an app-modal session (which we are), the target is checked for worksWhenModal -- a property which is defined on NSWindow, and only supposed to be set for subclasses of NSPanel. Since our QNSFontPanelDelegate class doesn't implement this method, the _NSTargetForSendAction function will return nil, and the action is never sent. If we don't set the NSFontManager target (leaving it as nil), the function will skip the worksWhenModal check, and fall back to resolving the target via the responder chain, which includes taking the NSPanel's delegate into account: #0 -[NSWindow delegate] () #1 -[NSWindow(NSEventRouting) supplementalTargetForAction:sender:] () #2 _objectFromResponderChainWhichRespondsToAction () #3 _NSTargetForSendAction () #4 -[NSApplication(NSResponder) sendAction:to:from:] () #5 -[NSFontManager sendAction] () ... Since we want to end up in the QNSFontPanelDelegate, we can rely on the default logic to resolve the target based on the responder chain. But in case _NSTargetForSendAction will at some point also check the resolved target for worksWhenModal, we also implement the worksWhenModal method, to be on the safe side. Fixes: QTBUG-69878 Change-Id: Ie739d016fe0efd17b3d8a99cc1fb1ace81807aff Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Restore styling of QDockWidget title fontAllan Sandfeld Jensen2018-10-031-2/+6
| | | | | | | | | | | | | | | | | | Do not override a custom font with the style default. Task-number: QTBUG-70276 Change-Id: I58bf43f791aee5409e29459d579725365703e4f3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * QSFPM: don't let setFilterRegExp(QString) overwrite CaseSensitivityDavid Faure2018-10-032-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression from commit 346c15102b, which creates a new QRegExp in setFilterRegExp, losing previously set case sensitivity property (i.e. when the code does proxy->setFilterCaseSensitivity(Qt::CaseInsensitive) before setFilterRegExp). Interestingly that commit ensured that setFilterFixedString would still preserve CaseSensitivity, but not setFilterRegExp(QString). Change-Id: I3d37d001ce6e86dd90e7e07431440a42607172f9 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
| * QtSql: fix code snippetsChristian Ehrlicher2018-10-033-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code snippets retrieving the native database driver handles was using qstrcmp() wrong since that is returning 0 when the strings are equal. In some snippets there was even a plain char * comparison which would not work at all. Fix all the places by correctly using qstrcmp() and replace the checks for the valid pointer by not checking for 0. Fixes: QTBUG-70598 Change-Id: I5c53dcfc51c958203fc60fa6a23dd6b27faa1d96 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Prevent instantiation of QGestureManager in ~QWidget, ~QGraphicsItem()Friedemann Kleint2018-10-035-6/+8
| | | | | | | | | | | | | | | | | | | | | | Debugging PYSIDE-815 revealed that QGestureManager is instantiated in the application destruction sequence. To prevent that, add a "force" parameter defaulting to true to QGestureManager::instance() and pass false in the destructors and QGestureManager::gesturePending(). Change-Id: I1b76173c926c2a156252b88832b032508d8e8a73 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Windows QPA: Fix multiple mouse button presses detectionAndre de la Rocha2018-10-021-16/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | The detection of multiple mouse button presses was broken in the new WM_POINTER-based implementation. The bug was due to the incorrect assumption that the press/release of a second mouse button (while another one is held) would also send WM_POINTERDOWN/WM_POINTERUP, while in fact it sends a WM_POINTERUPDATE with the actual event type given by pointerInfo->ButtonChangeType. Task-number: QTBUG-70787 Change-Id: Ib6776ab7f3d0b8eb5e832a0c863a15bde456e0dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Android: bump android gradle plugin versionv5.12.0-beta1BogDan Vatra2018-10-021-1/+1
| | | | | | | | | | | | | | | | Needed to fix "No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android" Change-Id: I62d9bae0bf424bb9ba32adce98426245922a841b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * QSFPM: setFilterRegExp and setFilterRegularExpression overloads to slotsSamuel Gaist2018-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The setters of both filterRegExp and filterRegularExpression are currently normal functions. This patch moves them to slots to make them usable using the old syntax. This can be done since there are already overloads for both of them so people using the new connect syntax would have needed to use qOverload already therefore there is no SIC. [ChangeLog][QtCore][QSortFilterProxyModel] Setters of both the filterRegExp and filterRegularExpression properties are now slots and can be used with the old as well as the new syntax. Change-Id: Id5cd9a50fa4a62e2bbd6bd665b44bd25a0402852 Fixes: QTBUG-18113 Reviewed-by: David Faure <david.faure@kdab.com>
| * Doc: fix QRegularExpression::wildcardToRegularExpression snippetSamuel Gaist2018-10-021-1/+4
| | | | | | | | | | | | | | | | The sample output from wildcardToRegularExpression was from an earlier version of the implementation. This patch fixes this. Change-Id: I48108add01aafed69490ef2527c1ea6a209b220b Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
| * wasm: use config for natural scroll on safariLorn Potter2018-10-011-0/+29
| | | | | | | | | | Change-Id: Idc2ee096144194e3f0d9ca165a578ff9745ef13d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Make overloaded function appear in assistant indexJarek Kobus2018-10-0114-31/+0
| | | | | | | | | | | | | | | | | | | | When there are overloaded function for one class, at least one of them mustn't possess \overload command, otherwise it won't appear at all in doc index. Task-number: QTBUG-59506 Change-Id: I650a3969cb45c1a5efdfc3a654e01d113c398f16 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | Do not include qprintdialog in a kernel/ fileAlbert Astals Cid2018-10-051-13/+3
| | | | | | | | | | | | | | | | | | | | The only use is for ::tr so use QCoreApplication::translate Automatic is not used in dialog/ anyway so there's no translation to reuse Change-Id: I0c993e87f46384a0f09d83c9b5e96de5366f1eb9 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | ppmhandler: Fix undefined overflow behaviorAlbert Astals Cid2018-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | image/qppmhandler.cpp:260:53: runtime error: signed integer overflow: 44444444 * 255 cannot be represented in type 'int' #0 0x4cbc8a in read_pbm_body(QIODevice*, char, int, int, int, QImage*) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:260:53 #1 0x4ca3d8 in QPpmHandler::read(QImage*) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:514:10 #2 0x4b238d in QImageReader::read(QImage*) /src/qt/qtbase/src/gui/image/qimagereader.cpp:1253:22 #3 0x4b1b61 in QImageReader::read() /src/qt/qtbase/src/gui/image/qimagereader.cpp:1201:12 #4 0x486f66 in QImage::fromData(unsigned char const*, int, char const*) /src/qt/qtbase/src/gui/image/qimage.cpp:3624:37 #5 0x486cd8 in QImage::loadFromData(unsigned char const*, int, char const*) /src/qt/qtbase/src/gui/image/qimage.cpp:3590:13 #6 0x434b2e in LLVMFuzzerTestOneInput /src/qimage_fuzzer.cc:28:7 #7 0x44b167 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:570:15 #8 0x44a535 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) /src/libfuzzer/FuzzerLoop.cpp:479:3 #9 0x44c428 in fuzzer::Fuzzer::MutateAndTestOne() /src/libfuzzer/FuzzerLoop.cpp:707:19 #10 0x44d1b5 in fuzzer::Fuzzer::Loop(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, fuzzer::fuzzer_allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) /src/libfuzzer/FuzzerLoop.cpp:838:5 #11 0x440a29 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:764:6 #12 0x434bf8 in main /src/libfuzzer/FuzzerMain.cpp:20:10 #13 0x7fe01697282f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f) #14 0x409bb8 in _start (/out/qimage_fuzzer+0x409bb8) Change-Id: Ibc5df6db52639f12319910b927f6443d927206d8 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | qppmhandler: Fix undefined overflow behaviorAlbert Astals Cid2018-10-051-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | image/qppmhandler.cpp:77:25: runtime error: signed integer overflow: 10 * 300000000 cannot be represented in type 'int' #0 0x4cecb5 in read_pbm_int(QIODevice*) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:77:25 #1 0x4cb1ac in read_pbm_body(QIODevice*, char, int, int, int, QImage*) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:271:29 #2 0x4ca3d8 in QPpmHandler::read(QImage*) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:509:10 #3 0x4b238d in QImageReader::read(QImage*) /src/qt/qtbase/src/gui/image/qimagereader.cpp:1253:22 #4 0x4b1b61 in QImageReader::read() /src/qt/qtbase/src/gui/image/qimagereader.cpp:1201:12 #5 0x486f66 in QImage::fromData(unsigned char const*, int, char const*) /src/qt/qtbase/src/gui/image/qimage.cpp:3624:37 #6 0x486cd8 in QImage::loadFromData(unsigned char const*, int, char const*) /src/qt/qtbase/src/gui/image/qimage.cpp:3590:13 #7 0x434b2e in LLVMFuzzerTestOneInput /src/qimage_fuzzer.cc:28:7 #8 0x44b167 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:570:15 #9 0x44a535 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) /src/libfuzzer/FuzzerLoop.cpp:479:3 #10 0x44c428 in fuzzer::Fuzzer::MutateAndTestOne() /src/libfuzzer/FuzzerLoop.cpp:707:19 #11 0x44d1b5 in fuzzer::Fuzzer::Loop(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, fuzzer::fuzzer_allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) /src/libfuzzer/FuzzerLoop.cpp:838:5 #12 0x440a29 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:764:6 #13 0x434bf8 in main /src/libfuzzer/FuzzerMain.cpp:20:10 #14 0x7fba939a082f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f) #15 0x409bb8 in _start (/out/qimage_fuzzer+0x409bb8) Change-Id: I9ad78afc4ea9c5c8b7530aa17013abe91202e84b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | QCocoaWindow - close the underlying NSWindow before releasing itTimur Pocheptsov2018-10-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, when deleting a widget, setVisible(false) calls -orderOut: and then ~QCocoaWindow will call -release, as a result the window will disappear from the screen and will be deallocated. But -orderOut: has no effect on minimized/iconified window. As a result, a 'zombie' window still can be seen on screen, while all Qt-thingies already deleted/dead. The similar behavior can be reproduced with a native NSWindow where we do not call -orderOut:/-close and only call -release. To fix this - we call -close. Task-number: QTBUG-70794 Change-Id: Iee8e1fc98018885f1f6e9628d966843d21ac7d38 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | waylandscanner: use --include-core-onlyJohan Klokkhammer Helsing2018-10-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to ship our own version of wayland.xml protocol code we need to get rid of all includes of system versions of wayland-client-protocol.h and wayland-server-portocol.h. These were unfortunately included by wayland-client.h and wayland-server.h and now can't be removed because of compatibility issues. To solve this, wayland-client-core.h and wayland-server-core.h can be included instead, which don't include any generated protocol code. Again, due to compatibility concerns, wayland-scanner does not use these versions unless invoked with --include-core-only, which is what this patch fixes. Task-number: QTBUG-70553 Change-Id: Icf7c870bd4d5bf891628cbddce2a9de3dda50164 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | qdoc: Add default include dirs to qdoc command lineMartin Smith2018-10-052-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This change applies to darwin. It adds each include path in the QMAKE_DEFAULT_INCDIRS variable to the qdoc command line with the -I flag for both the prepare and the generate phase. These include paths provide access to the standard c++ and c headers, which clang needs to see. This change should work on all platforms, but it increased the qdoc warning count on the linuxsystem where it was tested, so now it only applies to darwin. Change-Id: I16e2e0d744e2cf68743dc12d39155dda2ece1536 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Unblacklist tst_QSplitter::replaceWidget(visible, not collapsed) for LinuxChristian Ehrlicher2018-10-041-2/+0
| | | | | | | | | | | | | | | | | | | | 52f1692b8451ac5b1e6fc059211e843bacc5c245 introduced a possible fix for this flaky test. Therefore unblacklist them to see if the change really fixed the issue. Task-number: QTBUG-64639 Change-Id: I759d66aac7641505487e88254d16750e87c97350 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | QAbstractScrollArea: fix sizeHint when widget is not visibleChristian Ehrlicher2018-10-045-9/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTable/QTreeView did not follow the documentation and returned their needed size with scrollbars within viewportSizeHint(). Then sizeHint() also took the size of the scrollbars into account when the policy was set to ScrollBarAlwaysOn. This lead to different results when the widget was shown/hidden and/or the scrollbar was visible or not. Fix it by only adding the additional size when the scrollbars are really visible. Also use header->isHidden() instead of isVisible() in QTreeView the same way it is done in QTableView. [ChangeLog][QtWidgets][QAbstractScrollArea] QTableView/QTreeView are now reporting their viewportSizeHint() correctly taking into account its scroll bars visibility and visibilityPolicy. Task-number: QTBUG-69120 Change-Id: If50959a9f7429275e3e33122644c978fb64972ba Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QIcon::addFile: don't use QMimeDatabase for every PNG being loadedDavid Faure2018-10-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 710ff392d9 introduced this fallback code for the case where the extension was empty. Let's make it happen only in that case, so that the much more common case of "foo.png" doesn't go through iconEngineFromSuffix twice, nor through QMimeDatabase (which has to load and parse an XML file in order to determine preferredSuffix(), unfortunately). Found using heaptrack. Change-Id: Iab6b71e1fa23916029c9e2ba25447a12d70f88a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | QStyleSheetStyle: use specified font property from css for QMenuChristian Ehrlicher2018-10-031-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | A font property specified in the css was used while drawing the QMenu action text but not within sizeFromContents() which results in a wrong size of the menu rect used for drawing. Fix it by mimic the rect calculation from QMenuPrivate::updateActionRects(). Fixes: QTBUG-70648 Change-Id: I5cf4f8b679c69197437393965c0bc6326f1c6c3a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | SQLite: enable json1 extensionChristian Ehrlicher2018-10-032-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | This patch enabled json1 support for sqlite3 by defining SQLITE_ENABLE_JSON1 [ChangeLog][QtSql][SQLite] Enable the json1-extension for the SQLite3 plugin Task-number: QTBUG-63498 Change-Id: Iaf1069ff1396c573125a5a3f490c0df5df560468 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Implement QDataStream operator for QCborSimpleValueJędrzej Nowacki2018-10-034-27/+21
| | | | | | | | | | | | | | That allows us to remove custom handling in QMetaType. Change-Id: Ic09fb96e1a05c6897803811d70aebbc6ea6e4f2e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Implement QDataStream operator for main CBOR classesJędrzej Nowacki2018-10-039-4/+200
| | | | | | | | | | | | Change-Id: Ib3b68b1963625432c68d02be3bf2ec3c4baf1104 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Implement QJsonValue data stream operatorJędrzej Nowacki2018-10-035-1/+165
| | | | | | | | | | | | Change-Id: I9cff40828ab68b4e2474da506b2da2cfed479f2c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
* | Implement QJsonObject data stream operatorJędrzej Nowacki2018-10-035-1/+81
| | | | | | | | | | Change-Id: I8528f18ad72828cd97a5ac00e1925958acf73f9f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Implement QJsonArray data stream operatorJędrzej Nowacki2018-10-035-12/+94
| | | | | | | | | | Change-Id: Ib3c83c06605f0fe39108855bc3416bf453cab043 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Handle errors when streaming QJsonDocument through QDataStreamJędrzej Nowacki2018-10-032-1/+31
| | | | | | | | | | | | Change-Id: I96df896d446e89dc4f9733a6cc6cec61a6826a1f Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Finish qmetatype migration to type switcherJędrzej Nowacki2018-10-033-434/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The matatype should not keep manually maintained list of stream operators. The patch adds automatic detection for all builtin types so load and save functions pick the right delegate automatically. This change exposed some existing anomalies: - char is enforced to be signed while it seems that just calling the operator directly does not have that feature. - [unsigned] long type is always upgraded to [unsigned] long long - QCborSimpleType doesn't have the data stream operators while metatype is able to stream it through casting Change-Id: I51178d6acd97d0585a6089e30ddd6acb2a29af54 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Implement QJsonDocument data stream operatorsJędrzej Nowacki2018-10-035-3/+68
| | | | | | | | | | | | | | Task-number: QTBUG-48313 Change-Id: I25ebeed94c9340819e925a7740bbee21de73a0ca Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Minor performance improvement to QLabel with ImageLuca Beldi2018-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | QPixmap::fromImage in QLabel paintEvent should use the rvalue reference overload for efficiency [ChangeLog][QtWidgets][QLabel] Minor performance improvement when painting a label with an image Change-Id: I8ab9bf427c1efc320907c66538e9f8e4011f5586 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>