diff options
author | Topi Reinio <topi.reinio@qt.io> | 2019-08-28 22:46:08 +0200 |
---|---|---|
committer | Topi Reinio <topi.reinio@qt.io> | 2019-09-18 19:31:31 +0200 |
commit | 3f7040bb4f47d430921b428f1e2cee43835c2690 (patch) | |
tree | ad0834674ef88f6790b120641069fadacf1dc07c /src/qdoc/cppcodemarker.cpp | |
parent | 3403c170ed7a95c6effead6e91aa7d6cb245f9f3 (diff) | |
download | qttools-3f7040bb4f47d430921b428f1e2cee43835c2690.tar.gz |
qdoc: Fix regression in single-exec mode
A regression was introduced when refactoring QDoc's config system:
the processQdocconf() function in main.cpp no longer constructs a
new Config object; instead, it sets some config values using
Config::setStringList(). However, unlike its name would imply,
this function did not (re)set a config variable, it added to it.
As a result, when in single-exec mode, the first call (prepare phase)
to processQdocconf() worked as expected, as the default boolean
variables were set as QStringList("false"), which is correctly
evaluated to false. During the second call (generate phase),
calling Config::setStringList() again resulted in 'false' boolean
variable to be stored as QStringList("false", "false"), which
evaluates to true.
These boolean variables include REDIRECTOUTPUTTODEVNULL, which
unsurprisingly caused problems as it was always set for single-
exec builds.
To fix this, make Config::setStringList() behave as its name
implies, add insertStringList() function to add to an existing
variable, and fix the code that tried to combine two string
lists to use this new function.
Fixes: QTBUG-77897
Change-Id: I62282f31c35e47e4791919688adb4ff49fd2e2df
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'src/qdoc/cppcodemarker.cpp')
0 files changed, 0 insertions, 0 deletions