- 16 Mar, 2016 - 15 commits
-
-
Oswald Buddenhagen authored
it's likely that these will be wrong, and the bootstrapped tools usually don't need them anyway. should they turn out necessary after all, we need to add -H* variants of the flags. Change-Id: I15c54c5e25d20ebd474073a530f00254842f515d Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-
Oswald Buddenhagen authored
it is important that the flags coming from the current qt build appear first, as otherwise a pre-existing qt installation may interfere with the build. the windows configure does not have any of this magic to start with. Task-number: QTBUG-6351 Change-Id: Iacc1d9b5aa9eed9a5f0513baef9f6c6ffcef0735 Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-
Oswald Buddenhagen authored
now that we rely on consistently sane runpath semantics everywhere (--enable-new-dtags on linux; the default elsewhere), there is no use in forcing our runpath downstream: our libraries will find their dependencies due to their embedded runpath. this does not affect qt.prf adding qt's own library path to the user projects' runpath. this effectively reverts 42a7eb8d , and some more. Change-Id: If7af7be7b7a894bebb9b146ccb0035452223c7ac Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-
Oswald Buddenhagen authored
unlike speculated in 2fe36351 , this is not a workaround at all: it causes that libraries' public link interfaces (LIBS) are exported in the first place. unlike with staticlib, this does not export LIBS_PRIVATE, so it wouldn't even be a particularly effective workaround for rpath brokenness anyway. the problem was pretty well hidden by the qt module system, which at the level of libraries is pretty redundant with the .prl file handling, which shows just how stupid the whole "design" is. unlike before, we now enable explicitlib for all libraries, not just qt modules - we enable create_prl for all of them as well, after all. an immediate effect of this change is that it fixes linking on RaspPI: the qtcore headers make the user code require linking libatomic, so we must add it to our public link interface. Task-number: QTBUG-51621 Change-Id: I5742c88694db8e8a9b79d17222dc6df2b38e5ab2 Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by:
Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
-
Jochen Seemann authored
Task-number: QTBUG-46615 Change-Id: I7f75bc7da35b9330753130338a06feb49533061c Reviewed-by:
Andrew Knight <andrew.knight@intopalo.com> Reviewed-by:
Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
-
Friedemann Kleint authored
Apply the device pixel ratio from the widget unless Shift is pressed. Task-number: QTBUG-46068 Task-number: QTBUG-50938 Change-Id: Ib806b7e545fa228043566800d22d1002728732bf Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
Eirik Aavitsland authored
Merged in the upstream version. The remaining diff to clean 1.6.20 is archived in the qtpatches.diff file. Change-Id: I56f557bfe04ac1aa0e2c090826bbb144ae93cbb7 Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
-
Mitch Curtis authored
Change-Id: I38412a119d2a91685b3fd2e4a459d33a60b154b0 Reviewed-by:
Topi Reiniö <topi.reinio@theqtcompany.com>
-
Allan Sandfeld Jensen authored
Makes the 96DPI attribute check avoid undefined behavior by using QCoreApplication::instance() directly, instead of calling through qApp, which performs an invalid cast to QGuiApplication. Change-Id: Ib86e7d2461b462a2d623f1364414f7d4d2293f22 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Maurice Kalinowski authored
Previously WinRT was using the UTC backend which fails on all platforms for some QDateTime autotests related to timezone items. Hence switch to the Windows implementation for WinRT as well. However, the windows backend does query the registry heavily, which is not supported on WinRT. Instead use the API version provided by the SDK. Long-term we might want to switch to this version on desktop windows as well, as direct registry access would not be required and we could harmonize the codepaths for both platforms. Change-Id: I620b614e9994aa77b531e5c34c9be1da7e272a30 Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
Oliver Wolff authored
If only one timer is processed in there it is possible that a reoccuring timer which has a very low timeout blocks all the other timers from being triggered. This high frequency timer might be the only one to be triggered in every processEvents call. Task-number: QTBUG-51888 Change-Id: I8a0026d1e8519171ab60d1b47c494a15d30328b3 Reviewed-by:
Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
-
Friedemann Kleint authored
Add a toggle for setting a triangular mask on the main window. Task-number: QTBUG-50938 Change-Id: Id4a3ee0b80e170f4ee1d195e60ce7bfa8e524359 Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
Maurice Kalinowski authored
A test should not write to its directory. Change-Id: I34dfc36387cf5a637b325be29c8a19ff51d9b9c3 Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
Maurice Kalinowski authored
For platforms with builtin testdata/sandboxed platforms we need to change the current directory to be able to create files. Change-Id: I440205c95dd6df1308c6bf24b1b0f67fd697feab Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
Milla Pohjanheimo authored
tst_qtabbar uses fixed values to check the minimumSizeHint and it fails with screens that have a higher resolution. The test still uses the default values, but now in the beginning it creates enough tabs so that it goes over the default. Change-Id: I3f891d2661288d7fad50ad522d73f634b3e91958 Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
- 15 Mar, 2016 - 12 commits
-
-
Joerg Bornemann authored
There is no apparent reason why the handle should be duplicated. Change-Id: I8ff2cde2f050934ed0dd9ab2d39a1b1efa327a17 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Shawn Rutledge authored
Change-Id: I01e4b69b138fd19fc7e67751d93adebc1326b2f9 Reviewed-by:
Orgad Shaneh <orgads@gmail.com>
-
Marc Mutz authored
QRect::center() should be defined for any QRect(x1,y1,x2,x2), INT_MIN <= x1, x2, y1, y2 <= INT_MAX because the average of two signed integers is always representable as a signed integer. But not when it's calculated as (x1+x2)/2, since that expression overflows when x1 > INT_MAX - x2. Instead of playing games with Hacker's Delight-style expressions, or use Google's patented algorithm, which requires two divisions, take advantage of the fact that int is not intmax_t and perform the calculation in the qint64 domain. The cast back to int is always well- defined since, as mentioned, the result is always representable in an int. Fix a test-case that expected a nonsensical result due to overflow. [ChangeLog][QtCore][QRect] Fixed integer overflow in center(). This fixes the result for some corner-cases like a 1x1 rectangle at (INT_MIN, INT_MIN), for which the previous implementation could return anything (due to invoking undefined behavior), but commonly returned (0, 0). Change-Id: I1a885ca6dff770327dd31655c3eb473fcfeb8878 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Morten Johan Sørvig authored
QCocoaBackingstore::toImage() can only be Q_DECL_OVERRIDE if QPlatformBackingStore::toImage() is present, which it isn’t for NO_OPENGL builds. Change-Id: Ib116f40fd26defb29a8d520d3e3fb104d8da8d57 Task-number: QTBUG-51694 Reviewed-by:
Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
-
Marc Mutz authored
The compiler can statically check that this is undefined behavior: tst_qrect.cpp:3173:52: warning: integer overflow in expression [-Woverflow] << QRect(QPoint(0,0), QPoint(INT_MAX+(0-INT_MIN),INT_MAX+(0-INT_MIN))); ~^~ tst_qrect.cpp:3173:72: warning: integer overflow in expression [-Woverflow] << QRect(QPoint(0,0), QPoint(INT_MAX+(0-INT_MIN),INT_MAX+(0-INT_MIN))); ~^~ Fix by skipping the test (like most of the others are in the block). Change-Id: I359a5e16db6c660c9f11d7dd8fbb40730bd63887 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Marc Mutz authored
This reverts commit 90de48493be283b9afb249f6a0fd8dbd8958517d. The call isn't necessary, but invokes undefined behavior. It invokes undefined behavior because deleteTLSysExtra() is called from deleteExtra(), which is called from ~QWidgetPrivate(), which is called from ~QObject(). Thus, by the time we call q->windowType() within setWinId(), q is no longer a QWidget, but only a QObject, and calling a QWidget member function then is UB. UBSan confirms: qwidget_p.h:300:5: runtime error: downcast of address 0x2afdd4053620 which does not point to an object of type 'QWidget' (the Q_Q macro) 0x2afdd4053620: note: object is of type 'QObject' qwidget.cpp:1712:93: runtime error: member call on address 0x2afdd4053620 which does not point to an object of type 'QWidget' 0x2afdd4053620: note: object is of type 'QObject' It is also unnecessary: deleteTLSysExtra() is called from two places: QWidget::destroy() and deleteExtra(). deleteExtra() is only called from ~QWidgetPrivate() which is only called from ~QObject() called by ~QWidget(), which, however, already calls QWidget::destroy(). QWidget::destroy(), in turn, unconditionally (for non-desktop widgets, at least) calls setWinId(0) itself. So fix the UB by removing the call without replacement. Conflicts: src/gui/kernel/qwidget_qpa.cpp Change-Id: Ib3a8cc9d28a096183f1d3dfd1941ea5fdc6a4aac Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-
Marc Mutz authored
Found by UBSan: qrawfont.cpp:618:60: runtime error: load of misaligned address 0x2acee92a5569 for type 'const quint32', which requires 4 byte alignment Fix by using MAKE_TAG(), like everywhere else, instead of a load through a type-punned and misaligned pointer. Change-Id: I52b88ca05a57f7d8c5e5bce953384de49514079b Reviewed-by:
Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Marc Mutz authored
The existing code derived a helper class from QSqlResult and overloaded two protected functions as public ones so the test could call them after casting QSqlResults to that helper class. Both the cast (which is a C-style cast, but with combined static_cast and const_cast semanics) and the following member function call are undefined behavior. Fix by making the test class a friend of QSqlResult, and dropping the casts. Change-Id: I09de2e2b46976d01cfce25892aec6ad36881d3eb Reviewed-by:
Mark Brand <mabrand@mabrand.nl>
-
Marc Mutz authored
Left-shifts of negative values are undefined in C++. In particular, they don't behave arithmetically. Reported by UBSan: qcosmeticstroker.cpp: 72:15: runtime error: left shift of negative value -14/-19/-32/-33/-34/-37/-38/-63/-64/-192/-384/-1280 qcosmeticstroker.cpp:444:20: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:451:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:483:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:762:20: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:774:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:813:47: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:839:20: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:851:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:889:47: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:932:27: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:995:27: runtime error: left shift of negative value -3/-64 Fix by using ordinary multiplication instead, because negative left-hand-side values don't look like they are an error. Change-Id: Icbebd41f6ddd3dca4abd385585fc0f82064fe8b6 Reviewed-by:
Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
-
Milla Pohjanheimo authored
Tested on the Ubuntu 14.04 VM. The test didn't fail anymore with 2000 test rounds Change-Id: Ic12c60e5ebf9c234358a6983bf87fa0a88d7886e Reviewed-by:
Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
-
Błażej Szczygieł authored
Show the widget when its initial size is 0 and the layout changes the size during showing. Task-number: QTBUG-51788 Change-Id: I3251ac27328f9715ff13d96e1b82fbf824d9e79d Reviewed-by:
Dmitry Shachnev <mitya57@gmail.com> Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
Morten Johan Sørvig authored
Maintain virtual siblings list on screen deletion. QCocoaIntegration::updateScreens() has a loop which will delete all non-current QScreen objects using QPlatformIntegration::destroyScreen(). destroyScreen() vill eventually call QWindowPrivate:: setTopLevelScreen() which accesses the virtual siblings list for the deleted screen. This can cause a stale pointer access if the virtual screen list is not up to date, especially when disconnecting two screens at the same time. Change-Id: Ia6b9d01edf8e5eea25b64604a2b3b28b173125f7 Task-number: QTBUG-48275 Reviewed-by:
Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by:
Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
-
- 14 Mar, 2016 - 1 commit
-
-
Antonio Larrosa authored
There could be cases (mostly when compiled on old systems, since modern openssl versions don't include such insecure ciphers) in which defaultCiphers included a cipher that wasn't in the supported ciphers list. With this patch we make sure that defaultCiphers is a subset of supportedCiphers Change-Id: I545ea21f5fd3a6ed13b366cdd56a1393233f9fc9 Reviewed-by:
Richard J. Moore <rich@kde.org>
-
- 13 Mar, 2016 - 1 commit
-
-
Richard J. Moore authored
The SNI extension must not include the trailing dot, even though this is legitimate for the host header. Task-number: QTBUG-51821 Change-Id: Ib7a7d8b1f8f98bc99ae745b03d2b97e507adefaf Reviewed-by:
Daniel Molkentin (ownCloud) <danimo@owncloud.com>
-
- 12 Mar, 2016 - 1 commit
-
-
Marc Mutz authored
Found by UBSan: qnetworkrequest.cpp:1016:19: runtime error: load of value 4294967295, which is not a valid value for type 'KnownHeaders' KnownHeaders does not contain a failure state, and no negative values. -1 is therefore not a valid value for an object of type KnownHeaders, so loading one is considered UB. Fix by returning the result of parseHeaderName() as an int, only casting to KnownHeaders after checking for the failure case. Change-Id: I6b165fe2b15c747344a9b2750bb753582c5bcbeb Reviewed-by:
Richard J. Moore <rich@kde.org>
-
- 11 Mar, 2016 - 6 commits
-
-
Friedemann Kleint authored
Add a command line tool that can either take a list of window ids and output information on them using a verbose debug stream or embed foreign windows using QWidget::createWindowContainer(). Task-number: QTBUG-41186 Change-Id: I14e436b5d08828f5b78b29e0701daeffe11367d3 Reviewed-by:
Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
-
Friedemann Kleint authored
A test should not write to its directory. Amends change d0b54ced . Task-number: QTBUG-47176 Change-Id: If15258b4aed199792fab422b7ac1d74e22a9e322 Reviewed-by:
Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
-
Morten Johan Sørvig authored
Ideally all native NSWindows and NSViews owned by QCocoaWindow should be deallocated during the QCocoaWindow destructor. In reality this does not always happen since Cocoa is free to hold references to the views after Qt releases its reference. We can help Cocoa clean up: - Clear the first responder for the NSWindow under the ~QCocoaWndow() autoreleasepool. - Use an autoreleasepool to clean up temp objects from [NSWindow orderFront:] immediately. Together this makes the QNSView lifetime be contained by the QCocoaWindow lifetime, at least for simple QWindow usage. It also fixes the observed memory leak reported in QTBUG-51766 Change-Id: Idd224f54ebd6f61f274461a204ff30c666b22768 Task-number: QTBUG-51766 Reviewed-by:
Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
-
Maurice Kalinowski authored
In addition to handling the pure rotation enforce a size change as well. This way content is redrawn for the correct orientation. It was done for Windows Phone 8.1 already, we only need to extent this to Windows 10. Task-number: QTBUG-50336 Change-Id: I6b3b964f44b631757ea856331c50f53c39ed9ec3 Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
Maurice Kalinowski authored
Task-number: QTBUG-38114 Change-Id: Id653487a03ca2920c46cf16e45f28677a69fa570 Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
Maurice Kalinowski authored
Change-Id: I06ec53e46d2f61f1685899b0f8a4d385051095d6 Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
- 10 Mar, 2016 - 4 commits
-
-
Samuel Gaist authored
Task-number: QTBUG-36061 Change-Id: Ibde65735d861af4e1ef768e9e4314d30fed534a1 Reviewed-by:
Oliver Wolff <oliver.wolff@theqtcompany.com>
-
Joerg Bornemann authored
Suppose a client connects while the QLocalServer is still in the loop that calls addListener. The connection would SetEvent(eventHandle), but every call to ConnectNamedPipe would ResetEvent(eventHandle). Thus, the connection is never detected by the notifier on eventHandle. Callers of addListener must check the connection state of every listener to make sure that no client connected while setting up listeners. Task-number: QTBUG-49254 Change-Id: Ia961927ea76973708e6e3f73510695eb5d6a0e4c Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Allan Sandfeld Jensen authored
Only two tests inside tst_qstatictext required private symbols, so we can enable the rest on all builds. Change-Id: Id222ba01d9676c40b6447c1526ee127fcc2090d3 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Joerg Bornemann authored
In one code path the test checked for the emission of a readyRead() signal without waiting for it. This code path was never hit, neither on Windows nor on Unix platforms. Change-Id: Ifbe464400a2a1ba8eab49bd60315289040e6bbde Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-