- 14 Sep, 2018 - 31 commits
-
-
Edward Welbourne authored
For Q_OS_WIN, a path is only truly absolute if it includes a drive letter; merely starting with a slash is not enough. (We can't support UNC paths, so don't even try: qmake runs various commands in the source directory using CMD.exe, which doesn't support UNC as PWD.) This requires, when resolving a path relative to a root, transcribing the root's drive to such not-quite-absolute paths. Changed QMakeGlobals, $$absolute_path() and $$relative_path() to now use IoUtils::resolvePath() rather than delegating to QDir's absolute path method, since that doesn't correctly recognize the need for a drive letter (and qmake did run into problems with some paths, from splitPathList and a failing test, as a result). Moved existing ioUtils tests for handling of relative / absolute paths out into separate functions and expanded significantly. Fixed some existing tests to use an absolute path where one is needed; added two tests involving driveless (but rooted) paths; and fixed the test init to set a value for QT_HOST_DATA/src property (the lack of which lead to an assertion failure with this fix). Task-number: QTBUG-50839 Change-Id: I2bfc13c1bfbe1ae09997274622ea55cb3de31b43 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io> (cherry picked from qtbase/e86f3c018833141776db2d15772ba53995656eac) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
the replacement value may well constitute the whole output string - this is in fact common, given this rather typical usage pattern: BAR = $$replace(FOO, -flag, -otherflag) this must be considered when constructing the return value. compare 3c8134958c6. as of now, this is irrelevant, as QString::replace(QRegExp, QString) will always memcpy the replacement into a detached copy of the target, but one never knows. Change-Id: Ia1f271f45023746040fc28ce6d88a6609e05e5c2 Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/e8b9a17a3bd770f6bf1bc8f4e0586565acf425e2) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
technically, we should not rely on the i/o classes not storing the strings beyond the instantiated object's life time. Change-Id: I0990769b3cf86860184869036c096c531160e9be Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/702be65532263bd52ad0b67235c112083120699e) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
property values are de-facto guaranteed to be backed by full QStrings, so there is nothing to be gained from using the raw data optimization, while doing so risks raw data leaks. Change-Id: I3d43da9aaadd4d5811c4b1a9d7ac734049da423c Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/18533ae2a72aba9ad8c0f1862e1e6ace50655864) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
it's not clear why detaching would be necessary; there is no danger of a raw data leak here. concatenating a QStringRef with a non-empty QLatin1String (the only expected use of this overload) will yield a detached QString anyway, so this makes little difference in practice. amends d5014234f. Change-Id: I521c0e89a8b0c1ae62b1450e81b0ae91a931bcfa Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/14505bbfea220a39c2158480db8ba788707ff332) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
no m_tmp is involved any more in this code path; it uses QStringRef. amends 14893e28 . Change-Id: Ib272d61edfb150a549c5e6a9a60d53502702e802 Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/9f98935d33cc15c938be2b9295ba2fbe4edb0ee0) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
saves some noisy toQString() uses. Change-Id: I62a9e2725c4baabac311124d19c7d8b40f54c8f7 Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/ce5e6876d4a191087969134e489db99cf167ca69) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
... in $$basename(), $$dirname(), and contains(). the latter case is marginal, as it only applies to mutuals which are regexes, which i don't remember ever seeing used. QRegExp saves a copy of the matched string, so it's necessary to alternate between two temporaries to avoid detaching. we already did that in most places. Change-Id: I97b8294585c17c76d1756f83971f42cb88353af0 Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/5131bb9bed3af7a2ecfce27af3940ff11ed219c2) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
the m_tmp array is a member, so the index toggle for accessing it also needs to be one - otherwise, odd iteration counts will defeat the mechanism. Change-Id: If7a800ed5a4b4168625daf1ebbd5d2d164569d8e Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/ccb8afcda752093bfb6bc32f560131a91bd826a1) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
in most cases, the main advantage is not using toQString(m_tmp), which reduces the possibility of raw data leaks. in cases where we used toQString() without temporary, this is a slight optimization. Change-Id: Ib343acffd383aa2c4fefab75fb52762fb534dfc6 Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/eb0ba90b0af9fa7d5b70c74140f64295f2d05c18) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
The strings remember in which file they were created/assigned. However, this used a non-counting reference to a ProFile, which could become dangling. If a subsequent ProFile re-used the exact same address, a string's source would be mis-identified, which would be fatal in conjunction with discard_from(). Since we actually need only a unique id for comparison, let's use an integer for that. Task-number: QTBUG-62434 Started-by:
Simon Hausmann <simon.hausmann@qt.io> Change-Id: I395153afaf7c835d0119690ee7f4b915e6f90d4a Reviewed-by:
Simon Hausmann <simon.hausmann@qt.io> (cherry picked from qtbase/190aa94be7f5e146bef44862b974d733755cec85) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Simon Hausmann authored
Similar to the two parent commits, this patchs preserves the time stamps of files we install as a result of recursive directory copying. Change-Id: Id5931a467196d5cd67acfa0deffc2488af8a3669 Task-number: QTBUG-59004 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io> (cherry picked from qtbase/c12b96daf2195c475c086f8f9be833aa0e28b26c) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Simon Hausmann authored
On non-windows platforms, we use the "-p" parameter of install(1) to preserve the last modification timestamps of files. On Windows the use of copy does not preserve them. As a cross-platform solution, this patch introduces a simple built-in install command in qmake to copy files. Task-number: QTBUG-59004 Change-Id: I3064d29a2b8c7b009a1efbf8f00b84c079ea5417 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io> (cherry picked from qtbase/2ad7f6ddf5042d7442c97a89b083ca2853cf5721) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Marc Mutz authored
Add ProString::toQStringView() to avoid creating QStrings just to pass them to QString::arg() (single-arg; multiArg() does not, yet, accept QStringViews). I could have used the existing toQStringRef() function, but QStringRef is a tad more complex to copy and quite a bit less future-proof. Change-Id: I344c46f301768e844c487d36ce3e6cb276de8843 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io> (cherry picked from qtbase/f5d8ad61a4c85a656a7332c43d0c42f5eaf43593) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Marc Mutz authored
Change-Id: I91a65776124f88a7e2e4778dbe9154b597f52212 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io> (cherry picked from qtbase/cdbe9d1483b0761c9b5e72cc56dacf09d1b54118) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Simon Hausmann authored
On POSIX compliant platforms, the default precision we apply to preserving time stamps is seconds. However we can do better and use utimensat() - if available - to increase the precision to nanoseconds. The values are provided by statbuf's st_mtim. This is guarded for compatibility with older systems, similar to commit 494ced13292fa9d7b572f5310090f6b8fab36e26. Change-Id: I6928660230d84f8511bf0f58e268906d2e575e04 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io> (cherry picked from qtbase/d83a20af1d05b5958d3559482b715777a57dea7a) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by:
Simon Hausmann <simon.hausmann@qt.io>
-
Oswald Buddenhagen authored
in particular, -before (just for symmetry, as it's the default), -early (the actual objective), and -late (for symmetry again). Change-Id: I274303582a348b052c3e5106ff360ab4fd7d4ee2 Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/4adc1012e19f5e12ab2fb96effc9ea88d2a05eda) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
the arguments after '--' are by definition meant only for the top-level project, as that's where configure is invoked from. passing them to sub-projects just adds noise to the make output and misleads users. note that this specifically does not support qmake -r, which will break if the subprojects rely on the arguments being absent. this isn't a problem, because the qt build doesn't support qmake -r anyway. Change-Id: I7ecff6212ce3137526005fc324a4a7ae45e3345e Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/34cc41d8a17e6e30f01f22c5d382c28d49ae37e1) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
there is no point in iterating BAR if FOO is (or became) empty. Change-Id: I86c89bf0ad726a5ab7ead990a27ef7cc32caebbf Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/33c33f6475910bad607abac67eef6c581d6188dd) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
this is of marginal value, as only our own code ever messes with QMAKESPEC, and we mostly stopped matching on the spec in favor of compiler and platform flags. Change-Id: Ibdd9a9c85067623f0f1f064d139d23b4e6b0677d Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/d88ff29c57b5407339da00389c522e5f1d4e3398) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
no real effect on lupdate. Change-Id: I45ab3156b8e040f683328ac46e48b09c2eb94ef7 Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/f2b31fdb6bb357c0c5c97d4fabd2561da3ba2093) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
will be needed by configure. Change-Id: If14e6944fe84767bd67604ecde98076f873749ef Reviewed-by:
Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/b6b44b368c6fc2df168195eaee57a2f925a29646) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
in lupdate, the only effect is not complaining about the previously unknown function. Started-by:
Paolo Angelelli <paolo.angelelli@qt.io> Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6 Reviewed-by:
Jake Petroules <jake.petroules@qt.io> (cherry picked from qtbase/169a40d511165f6c3c9a71cd5c079786c22d2aca) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
otherwise, infinite loops can result, as amply demonstrated by the new configure (which duly replicated the old configures' behavior ...). QMakeEvaluator::evaluateBuiltinExpand() now returns a VisitReturn like all other evaluate*() functions. the string list return value is now an out parameter; i used a reference instead of a pointer to avoid adjusting 56 usages of it. Task-number: QTBUG-13964 Change-Id: I51ca7df8d694c6ffe9d9899cba414b1b46f5ce95 Reviewed-by:
Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/80e63223f80643a93255cde9e0a4e82c705b2262) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oliver Wolff authored
Tested with RC Task-number: QTBUG-57086 Change-Id: I21f56edca3852b52edd2c5fdcce76817141e8d4a Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from qtbase/38675e18fcc841228141568a2ecfafdeb99eba2a)
-
Oswald Buddenhagen authored
when the file's effects are discarded, the mention of the file should be as well. Change-Id: I894b7e2b887dd34d18533b197bfa9d0d84d647e7 Reviewed-by:
Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/c05f0a83fdb4823604d76f61bb884e206887e704) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
for completeness. Change-Id: I3ffc14e041408c773e277442828170e3df04ec8d Reviewed-by:
Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/965e861e61ec56c91216d483987d33fb5a508b85) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
the normal mode forces the prompt into a pattern which may be undesirable. Change-Id: I01689c7a6573415801862348b32bafc6a609ed4a Reviewed-by:
Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/cff05b398cb767af7fddae6a617f26f998c7a781) Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Allan Sandfeld Jensen authored
We can not improve the result from JSON parsing without changing API, so instead recalculate the line and column based on input and offset. Change-Id: I54149233f71023aa5d30deff854d6f3406c5c48c Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io> (cherry picked from qtbase/887e260a9370dfd8061754ed47cda7d9e4621711) Reviewed-by:
Allan Sandfeld Jensen <allan.jensen@qt.io>
-
Oswald Buddenhagen authored
the autotest was also broken, because it was created by pasting the bogus message into the result ... Change-Id: I02b8663b96c7d96cdb3c19639e2213e49fd2bcec Reviewed-by:
Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from qtbase/8db556d29919fd0c0ddb23b743cb5e6c218b1ae2) Reviewed-by:
hjk <hjk@qt.io>
-
Oswald Buddenhagen authored
Fixes: QTBUG-70489 Change-Id: Idcc4c8b2cdb9db6fb28758f56ad80c540518d34c Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-
- 11 Sep, 2018 - 3 commits
-
-
Oswald Buddenhagen authored
the primary method of doing that is via the -nomake tools machanism, which is the default when cross-building. amends 78df61b5 . Fixes: QTBUG-70454 Change-Id: I837d5d130c1295154dab5d0424da46dacbfe2a34 Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Oswald Buddenhagen authored
... and build it even when building with -nomake tools, like the other *deployqt tools. note that we still don't build it when cross-building for uikit, because the bootstrapped host build does not work due to a QProcess dependency. that's no loss, because all our uikit builds are currently static, where this tool is pointless. Task-number: QTBUG-58827 Change-Id: I8eda4a85716ceeb844a3e97f5f38d35868cffeef Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-
Liang Qi authored
Conflicts: src/macdeployqt/shared/shared.h src/qdoc/sections.cpp Change-Id: I708a20d0061e82b99ecced7d24e7a2b8c475f706
-
- 09 Sep, 2018 - 3 commits
-
-
Qt Forward Merge Bot authored
Change-Id: I3fe629d8a2493504e8cfea56c590db4fc92e3d56
-
Topi Reinio authored
Allow optional parameters for commands that enclose code snippets. This is intended for replacing simple strings within the snippet, typically using a macro that extends to certain parameter(s). Within the snippet, the parameter locations are marked similarly to .qdocconf macro parameters: \code foo bar \1+\2=\1\2 \encode Renders "foo+bar=foobar" A code snippet parameter cannot contain spaces, as space is used as a delimiter. If no parameters are passed, the snippet is rendered as-is. Task-number: QTBUG-67818 Change-Id: I500e6b1a9095c9c55f47c8d75951792f31745545 Reviewed-by:
Martin Smith <martin.smith@qt.io>
-
Topi Reinio authored
This commit adds support for a special format (.match) option to QDoc macros. The use case is to do additional regular expression pattern matching for expanded macros; For example, macro.qtminorversion = "$QT_VER" macro.qtminorversion.match = "\\d+\\.(\\d+)" creates a macro that expands to the minor version based on the QT_VER environment variable. A macro that defines a match pattern outputs all capture groups concatenated together, or the exact matched string if the pattern does not contain any capture groups (parentheses). Task-number: QTBUG-67818 Change-Id: I8dd5b08a05555b381d100e30aaef7a9930710993 Reviewed-by:
Paul Wicking <paul.wicking@qt.io> Reviewed-by:
Martin Smith <martin.smith@qt.io>
-
- 06 Sep, 2018 - 3 commits
-
-
Kai Koehne authored
Do not rely on endPos, but instead use the length of the macro already calculated. This amends commit 85bc5586 . Task-number: QTBUG-67818 Change-Id: Icc0268e67eceee83bb5510b5199684c465b2dd56 Reviewed-by:
Martin Smith <martin.smith@qt.io>
-
Martin Smith authored
This update fixes the part of the bug where inherited members were being listed on the obsolete members page. They are no longer listed there. Change-Id: Ibd9cc0af22deda501d5ec7eb09e472840831f256 Task-number: QTBUG-70321 Reviewed-by:
Paul Wicking <paul.wicking@qt.io> Reviewed-by:
Topi Reiniö <topi.reinio@qt.io>
-
Martin Smith authored
This update fixes the part of the bug where all the members of the namespace were being listed in the detailed documentation in the obsolete members file. Now only the obsolete members are listed there. Change-Id: I757bc4b4a6e32b0b3c2ff5b03624c6d501845063 Task-number: QTBUG-70321 Reviewed-by:
Paul Wicking <paul.wicking@qt.io> Reviewed-by:
Topi Reiniö <topi.reinio@qt.io>
-