- 07 Oct, 2016 - 1 commit
-
-
Jan Arve Saether authored
This allows us to not have conflicts between the point ids between different devices for QtQuick pointer handlers. We do this in QtGui because we can then safely compare point ids from QTouchEvent::TouchPoint and QQuickEventPoint. (Point ids that QtQuick pointer handlers use will be based on the point ids provided by QTouchEvent::TouchPoint::id) Change-Id: I8b9ab0d44224b15175b820d33cbb2d8bd21e99f2 Reviewed-by:
Shawn Rutledge <shawn.rutledge@qt.io>
-
- 06 Oct, 2016 - 2 commits
-
-
Oleksandr Tymoshenko authored
FreeBSD 12 has evdev implementation dropin-compatible with Linux's /dev/input. Add #ifdef wrappers around platform-specific headers. Change-Id: Ia50c3f2d2e9f0f3689a92e327305d5e7547e9407 Reviewed-by:
Laszlo Agocs <laszlo.agocs@qt.io>
-
Gunnar Sletta authored
[ChangeLog][QtGui][QPainter] Fix fills of negatively sized QRects. Task-number: QTBUG-28851 Change-Id: I59abad28266eea6118da3ec37473ff101000bb7a Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-
- 05 Oct, 2016 - 1 commit
-
-
Laszlo Agocs authored
This patch initializes a local GLuint that gets checked after an if() chain that assigns it but does not match all cases. Change-Id: I132c26fa944f11c7b77131906ff8143a7b57c10f Reviewed-by:
Edward Welbourne <edward.welbourne@qt.io>
-
- 04 Oct, 2016 - 2 commits
-
-
Nico Vertriest authored
To correct following type of error message: Cannot find 'isValidPartOfObjectPath(...)' in \fn .... Change-Id: I25850c69307511dc9a24a0c937fd219d4d3cb084 Reviewed-by:
Martin Smith <martin.smith@theqtcompany.com>
-
Jan Arve Saether authored
For dllexport, the signatures has to match. We therefore must add the missing inline keyword. This is now similar to how e.g. qsize.h does it. Change-Id: I4de227c7ae8522d5b36a4d9200953cf364eb03d4 Reviewed-by:
Oliver Wolff <oliver.wolff@qt.io>
-
- 03 Oct, 2016 - 2 commits
-
-
Giuseppe D'Angelo authored
They don't modify "this", so they should be const. Mark the existing non-const overloads for removal in Qt 6. [ChangeLog][QtCore][QObject] QObject::dumpObjectInfo and QObject::dumpObjectTree now have const overloads. Change-Id: If9fb15692d2d1536930f86d043d688236d4b778a Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Anton Kudryavtsev authored
Change-Id: I48847b329c10277820f67dc11fc86f2a84d6b303 Reviewed-by:
Laszlo Agocs <laszlo.agocs@qt.io>
-
- 29 Sep, 2016 - 4 commits
-
-
Jake Petroules authored
There's no reason for this to be separated, regardless of the support status of i386 macOS builds. Additional architectures may appear in the future (and currently there's actually 3 - i386, x86_64, and x86_64h for Haswell CPUs). So this feature could be used to get combined generic x86_64 and Haswell builds. Some system libraries appear to have an x86_64h slice in Sierra. [ChangeLog][Build System] Support for universal binaries on macOS has been re-introduced. Change-Id: I1c89904addf024431fdb3ad03ea8ab85da7240ad Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Jake Petroules <jake.petroules@qt.io>
-
Liang Qi authored
Change-Id: I3b51bb706e401edfda09a433c67aa58e44f33e83
-
Liang Qi authored
-
Aleix Pol authored
Use QTextStream::readLineInto instead of using N internal buffers temporarily to read the mime types file into a QSet<QString>. Change-Id: I05110a4d484cc9485ceb3bc2be2fc7c78f4b2434 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
- 28 Sep, 2016 - 12 commits
-
-
Liang Qi authored
Conflicts: mkspecs/features/uikit/xcodebuild.mk tests/auto/other/lancelot/tst_lancelot.cpp tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Change-Id: Ia0ae2de86094120281abd445138877c2cc3e882c
-
Sune Vuorela authored
pg_config is a thing of the past, and at least debian stable offers a pkg-config file for libpq Change-Id: I582c0a78a77f0ebb0c43e31f04b1ef315786b478 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
BogDan Vatra authored
Nested namespaces are quite common, therefore moc should support them. Task-number: QTBUG-55415 Change-Id: I756cab36d498eb4342b402d255836d5d30f07b30 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Oswald Buddenhagen authored
this makes build dirs consistent with install dirs, which fixes launching tests, examples, and build tools in some configs. unfortunately, this makes prefix builds slower and their build dirs bigger due to the DLLDESTDIR implementation being stupid (QTBUG-11435), but i'm not inclined to fix that now. it isn't actually worse than for non-prefix builds, so whatever. Task-number: QTBUG-54438 Change-Id: Idbd034620e95cb23f7699d243678c4e9fa6353ac Reviewed-by:
Ulf Hermann <ulf.hermann@qt.io> Reviewed-by:
Jake Petroules <jake.petroules@qt.io>
-
Friedemann Kleint authored
Explain that it might become invalidated when the clipboard changes. Task-number: QTBUG-55737 Change-Id: Ic7366901f60647caab44930ab03915fd0c9aba1a Reviewed-by:
Topi Reiniö <topi.reinio@theqtcompany.com>
-
Dmitry Shachnev authored
When the application is passed an invalid style option, we should fall back to the style provided by the platform theme, not to the first available style. Change-Id: I59e25b00d4a32221dea7c960d0f4e0068247b2dd Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@qt.io>
-
Liang Qi authored
Conflicts: src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qfiledialog.cpp tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp Change-Id: I34bc8a990f8f526889a95a5c7099ef557b9681ad
-
Edward Welbourne authored
To match correctly (only) .h files, a regex needs to end in \.h$ Some of them missed the \, one missed the $. (The last also had a legitimate .* before its misunescaped .) One pair matched _p.h and _pch.h, which could be combined. Change-Id: I7539a28eb7017cd0f1b36c72e05108e03a68a952 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Marc Mutz authored
We need to delete the style returned from QStyleFactory::create() ourselves, so put them into a QScopedPointer. The alternative would have been to create this once, as a member of tst_QWidget, but this is the minimal approach that ensures behavior just as the old code, but without the leak. Change-Id: I527f1031c57be6f05942f4acc057e7dae1af2571 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Marc Mutz authored
As found by UBSan: qstandardgestures.cpp:511:67: runtime error: downcast of address 0x7ffc9beb1b90 which does not point to an object of type 'QTouchEvent' 0x7ffc9beb1b90: note: object is of type 'QPlatformSurfaceEvent' fc 7f 00 00 08 93 b1 6f f5 2a 00 00 00 00 00 00 00 00 00 00 d9 00 ec 9b 00 00 00 00 49 01 c1 5e ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QPlatformSurfaceEvent' #0 0x2af55edfa66a in QTapAndHoldGestureRecognizer::recognize(QGesture*, QObject*, QEvent*) qstandardgestures.cpp:511 #1 0x2af55ee3d9bb in QGestureManager::filterEventThroughContexts(QMultiMap<QObject*, Qt::GestureType> const&, QEvent*) qgesturemanager.cpp:276 #2 0x2af55ee4565b in QGestureManager::filterEvent(QWidget*, QEvent*) qgesturemanager.cpp:512 #3 0x2af55ee53945 in QGestureManager::filterEvent(QObject*, QEvent*) qgesturemanager.cpp:556 #4 0x2af55ea1b83a in QApplication::notify(QObject*, QEvent*) qapplication.cpp:3053 #5 0x2af573949d0f in QCoreApplication::notifyInternal2(QObject*, QEvent*) qcoreapplication.cpp:988 #6 0x2af56982ff94 in QCoreApplication::sendEvent(QObject*, QEvent*) qcoreapplication.h:231 #7 0x2af56982ff94 in QWindowPrivate::create(bool) qwindow.cpp:435 #8 0x2af55ecd10fe in QWidgetPrivate::create_sys(unsigned long long, bool, bool) qwidget.cpp:1471 #9 0x2af55ecc770e in QWidget::create(unsigned long long, bool, bool) qwidget.cpp:1333 #10 0x2af55ed80618 in QWidget::setVisible(bool) qwidget.cpp:8156 #11 0x4feec4 in tst_QWidget::touchEventsForGesturePendingWidgets() tst_qwidget.cpp:9824 qstandardgestures.cpp:512:67: runtime error: downcast of address 0x7ffc9beb1b90 which does not point to an object of type 'QMouseEvent' 0x7ffc9beb1b90: note: object is of type 'QPlatformSurfaceEvent' fc 7f 00 00 08 93 b1 6f f5 2a 00 00 00 00 00 00 00 00 00 00 d9 00 ec 9b 00 00 00 00 49 01 c1 5e ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QPlatformSurfaceEvent' #0 0x2af55edfaa19 in QTapAndHoldGestureRecognizer::recognize(QGesture*, QObject*, QEvent*) qstandardgestures.cpp:512 [... skipping common lines ...] qstandardgestures.cpp:514:95: runtime error: downcast of address 0x 0x7ffc9beb1b90: note: object is of type 'QPlatformSurfaceEvent' fc 7f 00 00 08 93 b1 6f f5 2a 00 00 00 00 00 00 00 00 00 00 d9 00 ec 9b 00 00 00 0 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QPlatformSurfaceEvent' #0 0x2af55edfa966 in QTapAndHoldGestureRecognizer::recognize(QGesture*, QObject*, QEvent*) qstandardgestures.cpp:514 [... skipping common lines ...] The problem is that the casts are done outside the switch that determines the event's type, so for any given event object, at least any two of the casts are invalid. This could actually be a real problem, because it's trivial for a compiler to prove that these three lines unconditionally invoke UB, so it has all the right in the world to decide to drop the complete rest of the function, using this line of reasoning: 1. The only way for these three casts not to be UB is if event == nullptr. 2. If event == nullptr, then event->type() invokes UB, so event cannot be nullptr. 3. The only way both can be true is if this code path is never taken. I can thus assume that object == state && event->type() == QEvent::Timer is always true, drop the check and execute the if block unconditionally (I need to call QEvent::type(), to satisfy the as-if-rule, but I needn't check its return value). Fix by moving the casts where they belong: into each case of the switch, where the type of the event has been checked to match the target type of the cast. Change-Id: I3aee8e213dc19d2f51636bcc5221cc92b3142e58 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Marc Mutz authored
Found by UBSan: qwidget.cpp:5228:62: runtime error: downcast of address 0x61b00003d480 which does not point to an object of type 'QWidget' 0x61b00003d480: note: object is of type 'QMainWindowLayout' bc 00 00 75 90 2e 2a 78 4f 2b 00 00 40 c1 02 00 f0 60 00 00 78 2f 2a 78 4f 2b 00 00 00 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QMainWindowLayout' #0 0x2b4f70efb1c2 in sendResizeEvents qwidget.cpp:5228 #1 0x2b4f70f65f7f in QWidget::grab(QRect const&) qwidget.cpp:5252 #2 0x6b1746 in tst_QWidget::render_task188133() tst_qwidget.cpp:6615 Fix by performing the cast only after the test for isWidgetType() has succeeded. Change-Id: I061a60ef35bcb5fbefb9bc7b84706c9dd5afd207 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Marc Mutz authored
Found by UBSan: tst_qapplication.cpp:1754:48: runtime error: member access within address 0x7ffda11f2220 which does not point to an object of type 'SpontaneousEvent' 0x7ffda11f2220: note: object is of type 'QMouseEvent' The code attempted to model the layout of a QEvent with another class that allows public access to the memory location that (hopefully) corresponds to QEvent::spont, gaining access by casting a QEvent object to that specifically-crafted class. Fix by the using the existing QSpontaneKeyEvent::setSpontaneous() call, which, despite its name, works for all QEvent subclasses, and which has already been fixed to not invoke UB (in bc087db5 ). Change-Id: I7db8b8a8a823f7d61ab17375142d19dc3874fea5 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
- 27 Sep, 2016 - 16 commits
-
-
Palo Kisa authored
Update fallback mechanism for Q_XDG_PLATFORM based systems to follow the Xdg specification. [ChangeLog][QtCore][QSettings] Added proper support for system-wide configuration file lookup based on Xdg spec (XDG_CONFIG_DIRS) on Unix based systems Task-number: QTBUG-34919 Change-Id: Ieddee1c0b3b1506bf19aa865bdab87fc81d58cfd Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Palo Kisa authored
Use a QVector to hold the QConfFile(s) to allow more configuration files than the statically defined number -> this will allow considering multiple system-wide configuration files if needed. To use a dynamic container we get rid of use QScopedSharedPointer, which actually wasn't needed anyway, as the "deref" logic was/is done manually in the QConfFileSettingsPrivate destructor. Change-Id: Ie9341da2cbe2e2b1379f9e2538cb4c9ebbd6fc97 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Palo Kisa authored
The Q_AUTOTEST_EXPORT is defined in all cases. So usage as #if defined(Q_AUTOTEST_EXPORT) was wrong. Change-Id: Ia1c1526ad08fdfa35ca773d7c62f8bbba39a6d38 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com> Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Tor Arne Vestbø authored
Regression from 2d2d9078 , which assumed the code in QBackingStore::beginPaint would apply to macOS as well, but QHighDpiScaling::isActive() is only active when Qt does the high DPI scaling, so we never hit the resize() code-path. Adds backingStore() accessor to go from QPlatformBackingStore to QBackingStore. Change-Id: I5de2ade74e731df445ea22e0f49b2a121e678efe Reviewed-by:
Morten Johan Sørvig <morten.sorvig@qt.io>
-
Tor Arne Vestbø authored
Change-Id: Icca393afa84bc7dae7f28669a3e73268ffed68b7 Reviewed-by:
Richard Moe Gustavsen <richard.gustavsen@qt.io>
-
Allan Sandfeld Jensen authored
Adds two formats that does not have optimized code-paths in qdrawhelper to ensure the generic path has coverage. This has already uncovered one bug fixed before this patch could go in. Change-Id: I0e0a1a873555b27f6438f69a76982b8e06263dcf Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Andreas Wilhelm authored
Implements behavior for the --verbose switch already specified but never implemented. Without this switch you would have to rebuild qdbusxml2cpp to see error output. Using -V will now produce error output such as: dbus.parser: unknown token "" "Characters" dbus.parser: Invalid D-BUS interface name 'com.qt-project.dbus' found while parsing introspection dbus.parser: unknown token "" "Characters" dbus.parser: skipping unknown element "method" dbus.parser: xml error "Opening and ending tag mismatch." doc "..." Task-number: QTBUG-34126 Change-Id: Ie5b7ec78007ddc305b1e7ddbffb1436920721c9c Reviewed-by:
Rolf Eike Beer <eb@emlix.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Simon Hausmann authored
We've observed that on machines with SELinux installed but disabled, the behavior of readdir() changes slightly. In the case of tst_qdir's entryList QDir::Hidden test case, the listing of the directory contents returns DT_UNKNOWN for the files and (broken) symlink(s) that are present. When SELinux is enabled, we do see DT_REG and DT_LNK. Our fallback to DT_UNKNOWN however resets merely the knownFlags, it does not reset entryFlags, as all the other cases do. The bug comes when QDirIteratorPrivate::advance() re-uses the QFileSystemMetaData instance across iterations, and this way we get the entryFlags values from a previous iteration (with != DT_UNKNOWN) into the evaluation of an entry with DT_UNKNOWN. The more conservative approach to fixing this is here by assuming that QFileSystemMetaData is not designed for re-use and re-initialize it explicitly in the iteration. Change-Id: I875856f5ee63a7072d172033e90d02cf41bcab20 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Morten Johan Sørvig authored
We want the coordinates for a mouse event to be the position at the time of event generation, not the current position. This is a followup to 39be577c which fixed this for some cases. This commit replaces all usages of [NSEvent mouseLocation] with code that gets the location from the event. Change-Id: I691a46a61ce65e2b33335453b5b22de01f76d767 Task-id: QTBUG-54399 Task-id: QTBUG-37926 Reviewed-by:
Shawn Rutledge <shawn.rutledge@qt.io>
-
Edward Welbourne authored
The check for Q_... macros used a regex that didn't allow digits; it thus failed to match Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(). Change-Id: I3f9339349aa21e2fea04a7f53d9d8e0903e4c65b Reviewed-by:
Marc Mutz <marc.mutz@kdab.com> Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Edward Welbourne authored
QDateTimeEdit ignores the time-spec of its date-time value, using its own time-spec instead; mostly, this works because it first conforms the value to its own time-spec. However, during construction, before doing this, it set up its display data, which could leave it with a different time (rather than a different representation of the given time) than it was asked to use. Moved the updateTimeSpec() calls to immediately after setting value in QDateTimeEditPrivate::init() to ensure correct handling. Added test. Task-number: QTBUG-54781 Change-Id: I3b07c10997abb858fc0b40558bff96e3fdabbd83 Reviewed-by:
Jesus Fernandez <jesus.fernandez@qt.io> Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Laszlo Agocs authored
The Windows Intel drivers reject shader sources without a version directive in 3.2+ compatibility profiles. This is odd but can be worked around by adding #version 110 (which should be the default...) Change-Id: I1ccac41b80121e6423d4f8964d03dda52a433296 Task-number: QTBUG-55733 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by:
Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by:
Andy Nichols <andy.nichols@qt.io>
-
Timur Pocheptsov authored
1. QSslSocketBackendPrivate::transmit was ignoring 'readBufferMaxSize'; as a result, we can have a user trying to set read buffer's size to a small value (and more important - reading slowly in a small chunks from this socket), but SSL itself socket reading 'too fast', potentially growing its internal buffer to a huge size. This also results in auto-tests failing - whenever we're trying to limit read rate in some test. 2. Update qsslsocket auto-test. Task-number: QTBUG-43388 Task-number: QTBUG-55170 Change-Id: Iedece26df0ac5b3b7cad62cc8c98aedc28e7ca5b Reviewed-by:
Richard J. Moore <rich@kde.org>
-
Nico Vertriest authored
- linking errors - parameter definition Change-Id: I879b38c159822900ab9851407f0e9067b318ca1f Reviewed-by:
Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
-
Paul Olav Tvete authored
To make NVidia EGLStreams work on the desktop, we need to use eglGetPlatformDisplayEXT instead of eglGetDisplay. Therefore, let's try that first if we have the extension. Change-Id: Id420fb46d5bc5345faa5cbb066584b0859d50417 Reviewed-by:
Laszlo Agocs <laszlo.agocs@qt.io>
-
Eskil Abrahamsen Blomfeldt authored
When color fonts are loaded from data, the font returned will be a DirectWrite engine even the hinting preference does not require it. This would cause a crash as we unconditionally cast the pointer to QWindowsFontEngine*. Using GDI and the unique family name hack to load the font from data works fine, but we need to make sure we reference count the font resource in this case, so we have to implement the setUniqueFamilyName() logic in the DirectWrite engine as well for this specific case. [ChangeLog][Windows] Fixed crash when loading color fonts from data. Task-number: QTBUG-55595 Change-Id: I05443e8a396105da68ac4872b48339130b86c7f6 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by:
Lars Knoll <lars.knoll@qt.io>
-