summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-05-20 12:19:20 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-05-20 12:19:20 (GMT)
commit534f5098c577f262b4b01d1c21cd0ec1af0f25f1 (patch)
tree4dd5ef7c208534607895012ff99af03b2c553f0f
parent800c9df03328db934ccadb94fe75c684ed282aa1 (diff)
parent11084503c711f862baa4d4027a7b97cedae1034e (diff)
downloadQt-534f5098c577f262b4b01d1c21cd0ec1af0f25f1.zip
Qt-534f5098c577f262b4b01d1c21cd0ec1af0f25f1.tar.gz
Qt-534f5098c577f262b4b01d1c21cd0ec1af0f25f1.tar.bz2
Merge branch 'qt-4.8-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-4.8-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: Fixed compilation. Re-apply licenseheader text in source files for qt4.7 Updating file with CRLF line endings for the updated header Fix a regression in QList::mid() Fixed bug in meego graphics system runtime switching. Fix memory leak in QXmlQuery::setQuery. update gitignore remove -fno-stack-protector Fix make confclean Update licenseheader text in source files doc: Fixed QTBUG-19226 doc: Fixed QTBUG-19223 doc: Remved debug code for QTBUG-18791 doc: Fixed QTBUG-18791 doc: Fixed a QML snippet reference
-rw-r--r--.gitignore7
-rw-r--r--doc/src/declarative/qmlviews.qdoc2
-rw-r--r--mkspecs/qws/linux-lsb-g++/qmake.conf3
-rw-r--r--projects.pro8
-rw-r--r--src/corelib/tools/qlist.h2
-rw-r--r--src/plugins/graphicssystems/meego/qmeegographicssystem.cpp4
-rw-r--r--src/xmlpatterns/expr/qevaluationcache.cpp4
-rw-r--r--src/xmlpatterns/expr/qevaluationcache_p.h2
-rw-r--r--src/xmlpatterns/expr/qexpressionvariablereference.cpp2
-rw-r--r--src/xmlpatterns/expr/qexpressionvariablereference_p.h8
-rw-r--r--src/xmlpatterns/expr/qtemplateparameterreference.cpp2
-rw-r--r--src/xmlpatterns/expr/qtemplateparameterreference_p.h8
-rw-r--r--src/xmlpatterns/expr/quserfunctioncallsite.cpp2
-rw-r--r--src/xmlpatterns/parser/qquerytransformparser.cpp8
-rw-r--r--tests/auto/qlist/tst_qlist.cpp3
-rw-r--r--tools/qdoc3/atom.cpp6
-rw-r--r--tools/qdoc3/atom.h26
-rw-r--r--tools/qdoc3/config.cpp1
-rw-r--r--tools/qdoc3/ditaxmlgenerator.cpp35
-rw-r--r--tools/qdoc3/ditaxmlgenerator.h2
-rw-r--r--tools/qdoc3/doc.cpp246
-rw-r--r--tools/qdoc3/doc.h18
-rw-r--r--tools/qdoc3/htmlgenerator.cpp3
-rw-r--r--tools/qdoc3/qdoc3.pro2
24 files changed, 220 insertions, 184 deletions
diff --git a/.gitignore b/.gitignore
index 11bc5b4..7a872c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,8 +51,8 @@ Makefile*
!qmake/Makefile.unix
*.prl
*.app
-*.pro.user
-*.qmlproject.user
+*.pro.user*
+*.qmlproject.user*
*.gcov
bin/Qt*.dll
bin/assistant*
@@ -202,6 +202,7 @@ release
tmp
doc-build
doc/html/*
+tools/qdoc3/doc/html/*
doc/qch
doc-build
.rcc
@@ -245,6 +246,8 @@ d_exc_*.stk
*.d
qtc-debugging-helper
+qtc-qmldump
+qtc-qmldbg
src/corelib/lib
src/network/lib
src/xml/lib/
diff --git a/doc/src/declarative/qmlviews.qdoc b/doc/src/declarative/qmlviews.qdoc
index a4905be..aca9fb4 100644
--- a/doc/src/declarative/qmlviews.qdoc
+++ b/doc/src/declarative/qmlviews.qdoc
@@ -59,7 +59,7 @@ Views display \l{qml-data-models}{models} onto the screen. A model could be a si
To assign a model to a view, bind the view's \c model property to a model.
\snippet doc/src/snippets/declarative/listview.qml model
-\snippet doc/src/snippets/declarative/listview.qml model
+\snippet doc/src/snippets/declarative/listview.qml view
For more information, consult the \l {QML Data Models} article.
diff --git a/mkspecs/qws/linux-lsb-g++/qmake.conf b/mkspecs/qws/linux-lsb-g++/qmake.conf
index 4b35925..988a6ea 100644
--- a/mkspecs/qws/linux-lsb-g++/qmake.conf
+++ b/mkspecs/qws/linux-lsb-g++/qmake.conf
@@ -14,11 +14,10 @@ QMAKE_LSB = 1
# modifications to g++.conf
QMAKE_CC = lsbcc
QMAKE_CXX = lsbc++
-QMAKE_CFLAGS = -pipe -DQT_LINUXBASE -fno-stack-protector
+QMAKE_CFLAGS = -pipe -DQT_LINUXBASE
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_LINK = lsbc++
QMAKE_LINK_SHLIB = lsbc++
-QMAKE_LFLAGS += -fno-stack-protector
load(qt_config)
diff --git a/projects.pro b/projects.pro
index 408c8e5..bf4dc5e 100644
--- a/projects.pro
+++ b/projects.pro
@@ -93,15 +93,15 @@ unix:!symbian {
(cd config.tests/x11/xshape && $(MAKE) distclean); \
(cd config.tests/x11/opengl && $(MAKE) distclean); \
$(DEL_FILE) config.tests/.qmake.cache; \
- $(DEL_FILE) src/core/global/qconfig.h; \
- $(DEL_FILE) src/core/global/qconfig.cpp; \
+ $(DEL_FILE) src/corelib/global/qconfig.h; \
+ $(DEL_FILE) src/corelib/global/qconfig.cpp; \
$(DEL_FILE) mkspecs/qconfig.pri; \
$(DEL_FILE) .qmake.cache; \
(cd qmake && $(MAKE) distclean);
}
win32 {
- confclean.commands += -$(DEL_FILE) src\\core\\global\\qconfig.h $$escape_expand(\\n\\t) \
- -$(DEL_FILE) src\\core\\global\\qconfig.cpp $$escape_expand(\\n\\t) \
+ confclean.commands += -$(DEL_FILE) src\\corelib\\global\\qconfig.h $$escape_expand(\\n\\t) \
+ -$(DEL_FILE) src\\corelib\\global\\qconfig.cpp $$escape_expand(\\n\\t) \
-$(DEL_FILE) mkspecs\\qconfig.pri $$escape_expand(\\n\\t) \
-$(DEL_FILE) .qmake.cache $$escape_expand(\\n\\t) \
(cd qmake && $(MAKE) distclean)
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h
index e6f041f..4eb05d6 100644
--- a/src/corelib/tools/qlist.h
+++ b/src/corelib/tools/qlist.h
@@ -641,6 +641,8 @@ Q_OUTOFLINE_TEMPLATE QList<T> QList<T>::mid(int pos, int alength) const
if (pos == 0 && alength == size())
return *this;
QList<T> cpy;
+ if (alength <= 0)
+ return cpy;
cpy.reserve(alength);
cpy.d->end = alength;
QT_TRY {
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
index ab40379..3423d2c 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
@@ -124,14 +124,14 @@ void QMeeGoGraphicsSystemSwitchHandler::addWidget(QWidget *widget)
void QMeeGoGraphicsSystemSwitchHandler::handleMapNotify()
{
- if (m_widgets.isEmpty() && QMeeGoGraphicsSystem::switchPolicy == QMeeGoGraphicsSystem::AutomaticSwitch)
+ if (QMeeGoGraphicsSystem::switchPolicy == QMeeGoGraphicsSystem::AutomaticSwitch && visibleWidgets() == 0)
QTimer::singleShot(0, this, SLOT(switchToMeeGo()));
}
void QMeeGoGraphicsSystemSwitchHandler::removeWidget(QObject *object)
{
m_widgets.removeOne(static_cast<QWidget *>(object));
- if (m_widgets.isEmpty() && QMeeGoGraphicsSystem::switchPolicy == QMeeGoGraphicsSystem::AutomaticSwitch)
+ if (QMeeGoGraphicsSystem::switchPolicy == QMeeGoGraphicsSystem::AutomaticSwitch && visibleWidgets() == 0)
QTimer::singleShot(0, this, SLOT(switchToRaster()));
}
diff --git a/src/xmlpatterns/expr/qevaluationcache.cpp b/src/xmlpatterns/expr/qevaluationcache.cpp
index 6a276a1..67109eb 100644
--- a/src/xmlpatterns/expr/qevaluationcache.cpp
+++ b/src/xmlpatterns/expr/qevaluationcache.cpp
@@ -47,9 +47,9 @@
template<bool IsForGlobal>
EvaluationCache<IsForGlobal>::EvaluationCache(const Expression::Ptr &op,
- const VariableDeclaration::Ptr &varDecl,
+ const VariableDeclaration *varDecl,
const VariableSlotID aSlot) : SingleContainer(op)
- , m_declaration(varDecl.constData())
+ , m_declaration(varDecl)
, m_varSlot(aSlot)
{
Q_ASSERT(m_declaration);
diff --git a/src/xmlpatterns/expr/qevaluationcache_p.h b/src/xmlpatterns/expr/qevaluationcache_p.h
index a831a94..4111634 100644
--- a/src/xmlpatterns/expr/qevaluationcache_p.h
+++ b/src/xmlpatterns/expr/qevaluationcache_p.h
@@ -97,7 +97,7 @@ namespace QPatternist
{
public:
EvaluationCache(const Expression::Ptr &operand,
- const VariableDeclaration::Ptr &varDecl,
+ const VariableDeclaration *varDecl,
const VariableSlotID slot);
virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const;
diff --git a/src/xmlpatterns/expr/qexpressionvariablereference.cpp b/src/xmlpatterns/expr/qexpressionvariablereference.cpp
index 6976334..73586dd 100644
--- a/src/xmlpatterns/expr/qexpressionvariablereference.cpp
+++ b/src/xmlpatterns/expr/qexpressionvariablereference.cpp
@@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE
using namespace QPatternist;
ExpressionVariableReference::ExpressionVariableReference(const VariableSlotID slotP,
- const VariableDeclaration::Ptr &varDecl) : VariableReference(slotP)
+ const VariableDeclaration *varDecl) : VariableReference(slotP)
, m_varDecl(varDecl)
{
}
diff --git a/src/xmlpatterns/expr/qexpressionvariablereference_p.h b/src/xmlpatterns/expr/qexpressionvariablereference_p.h
index 9f80684..7711689 100644
--- a/src/xmlpatterns/expr/qexpressionvariablereference_p.h
+++ b/src/xmlpatterns/expr/qexpressionvariablereference_p.h
@@ -77,7 +77,7 @@ namespace QPatternist
{
public:
ExpressionVariableReference(const VariableSlotID slot,
- const VariableDeclaration::Ptr &varDecl);
+ const VariableDeclaration *varDecl);
virtual bool evaluateEBV(const DynamicContext::Ptr &context) const;
virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const;
@@ -90,9 +90,9 @@ namespace QPatternist
virtual ExpressionVisitorResult::Ptr accept(const ExpressionVisitor::Ptr &visitor) const;
inline const Expression::Ptr &sourceExpression() const;
- inline const VariableDeclaration::Ptr &variableDeclaration() const;
+ inline const VariableDeclaration *variableDeclaration() const;
private:
- const VariableDeclaration::Ptr m_varDecl;
+ const VariableDeclaration *m_varDecl;
};
inline const Expression::Ptr &ExpressionVariableReference::sourceExpression() const
@@ -100,7 +100,7 @@ namespace QPatternist
return m_varDecl->expression();
}
- inline const VariableDeclaration::Ptr &ExpressionVariableReference::variableDeclaration() const
+ inline const VariableDeclaration *ExpressionVariableReference::variableDeclaration() const
{
return m_varDecl;
}
diff --git a/src/xmlpatterns/expr/qtemplateparameterreference.cpp b/src/xmlpatterns/expr/qtemplateparameterreference.cpp
index 2067371..9ebbfc4 100644
--- a/src/xmlpatterns/expr/qtemplateparameterreference.cpp
+++ b/src/xmlpatterns/expr/qtemplateparameterreference.cpp
@@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE
using namespace QPatternist;
-TemplateParameterReference::TemplateParameterReference(const VariableDeclaration::Ptr &varDecl) : m_varDecl(varDecl)
+TemplateParameterReference::TemplateParameterReference(const VariableDeclaration *varDecl) : m_varDecl(varDecl)
{
}
diff --git a/src/xmlpatterns/expr/qtemplateparameterreference_p.h b/src/xmlpatterns/expr/qtemplateparameterreference_p.h
index c7d3d62..9b3803e 100644
--- a/src/xmlpatterns/expr/qtemplateparameterreference_p.h
+++ b/src/xmlpatterns/expr/qtemplateparameterreference_p.h
@@ -70,7 +70,7 @@ namespace QPatternist
class TemplateParameterReference : public EmptyContainer
{
public:
- TemplateParameterReference(const VariableDeclaration::Ptr &varDecl);
+ TemplateParameterReference(const VariableDeclaration *varDecl);
virtual bool evaluateEBV(const DynamicContext::Ptr &context) const;
virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const;
@@ -81,10 +81,10 @@ namespace QPatternist
virtual Properties properties() const;
inline const Expression::Ptr &sourceExpression() const;
- inline const VariableDeclaration::Ptr &variableDeclaration() const;
+ inline const VariableDeclaration *variableDeclaration() const;
private:
- const VariableDeclaration::Ptr m_varDecl;
+ const VariableDeclaration *m_varDecl;
};
inline const Expression::Ptr &TemplateParameterReference::sourceExpression() const
@@ -92,7 +92,7 @@ namespace QPatternist
return m_varDecl->expression();
}
- inline const VariableDeclaration::Ptr &TemplateParameterReference::variableDeclaration() const
+ inline const VariableDeclaration *TemplateParameterReference::variableDeclaration() const
{
return m_varDecl;
}
diff --git a/src/xmlpatterns/expr/quserfunctioncallsite.cpp b/src/xmlpatterns/expr/quserfunctioncallsite.cpp
index e68d731..d49777e 100644
--- a/src/xmlpatterns/expr/quserfunctioncallsite.cpp
+++ b/src/xmlpatterns/expr/quserfunctioncallsite.cpp
@@ -227,7 +227,7 @@ void UserFunctionCallsite::setSource(const UserFunction::Ptr &userFunction,
/* Note that we pass in cacheSlotOffset + i here instead of varDecls.at(i)->slot since
* we want independent caches for each callsite. */
m_operands[i] = Expression::Ptr(new EvaluationCache<false>(m_operands.at(i),
- varDecls.at(i),
+ varDecls.at(i).data(),
cacheSlotOffset + i));
}
}
diff --git a/src/xmlpatterns/parser/qquerytransformparser.cpp b/src/xmlpatterns/parser/qquerytransformparser.cpp
index f93ec30..c9801c8 100644
--- a/src/xmlpatterns/parser/qquerytransformparser.cpp
+++ b/src/xmlpatterns/parser/qquerytransformparser.cpp
@@ -988,9 +988,9 @@ static Expression::Ptr pushVariable(const QXmlName name,
* In some cases the EvaluationCache instance isn't necessary, but in those cases EvaluationCache
* optimizes itself away. */
if(type == VariableDeclaration::ExpressionVariable)
- checked = create(new EvaluationCache<false>(checked, var, parseInfo->allocateCacheSlot()), sourceLocator, parseInfo);
+ checked = create(new EvaluationCache<false>(checked, var.data(), parseInfo->allocateCacheSlot()), sourceLocator, parseInfo);
else if(type == VariableDeclaration::GlobalVariable)
- checked = create(new EvaluationCache<true>(checked, var, parseInfo->allocateCacheSlot()), sourceLocator, parseInfo);
+ checked = create(new EvaluationCache<true>(checked, var.data(), parseInfo->allocateCacheSlot()), sourceLocator, parseInfo);
var->setExpression(checked);
@@ -1042,7 +1042,7 @@ static Expression::Ptr resolveVariable(const QXmlName &name,
* mechanism must. */
case VariableDeclaration::ExpressionVariable:
{
- retval = create(new ExpressionVariableReference(var->slot, var), sourceLocator, parseInfo);
+ retval = create(new ExpressionVariableReference(var->slot, var.data()), sourceLocator, parseInfo);
break;
}
case VariableDeclaration::FunctionArgument:
@@ -1057,7 +1057,7 @@ static Expression::Ptr resolveVariable(const QXmlName &name,
}
case VariableDeclaration::TemplateParameter:
{
- retval = create(new TemplateParameterReference(var), sourceLocator, parseInfo);
+ retval = create(new TemplateParameterReference(var.data()), sourceLocator, parseInfo);
break;
}
case VariableDeclaration::ExternalVariable:
diff --git a/tests/auto/qlist/tst_qlist.cpp b/tests/auto/qlist/tst_qlist.cpp
index 496f3d9..3901b6f 100644
--- a/tests/auto/qlist/tst_qlist.cpp
+++ b/tests/auto/qlist/tst_qlist.cpp
@@ -200,6 +200,9 @@ void tst_QList::mid() const
QCOMPARE(list.mid(3, 3),
QList<QString>() << "bak" << "buck" << "hello");
+
+ QList<int> list1;
+ QCOMPARE(list1.mid(1, 1).length(), 0);
}
void tst_QList::at() const
diff --git a/tools/qdoc3/atom.cpp b/tools/qdoc3/atom.cpp
index 96a8c29..2100cd6 100644
--- a/tools/qdoc3/atom.cpp
+++ b/tools/qdoc3/atom.cpp
@@ -184,9 +184,7 @@ static const struct {
{ "CodeQuoteCommand", Atom::CodeQuoteCommand },
{ "DivLeft", Atom::DivLeft },
{ "DivRight", Atom::DivRight },
-#ifdef QDOC_QML
{ "EndQmlText", Atom::EndQmlText },
-#endif
{ "FootnoteLeft", Atom::FootnoteLeft },
{ "FootnoteRight", Atom::FootnoteRight },
{ "FormatElse", Atom::FormatElse },
@@ -199,6 +197,8 @@ static const struct {
{ "Image", Atom::Image },
{ "ImageText", Atom::ImageText },
{ "InlineImage", Atom::InlineImage },
+ { "JavaScript", Atom::JavaScript },
+ { "EndJavaScript", Atom::EndJavaScript },
{ "LegaleseLeft", Atom::LegaleseLeft },
{ "LegaleseRight", Atom::LegaleseRight },
{ "LineBreak", Atom::LineBreak },
@@ -214,10 +214,8 @@ static const struct {
{ "Nop", Atom::Nop },
{ "ParaLeft", Atom::ParaLeft },
{ "ParaRight", Atom::ParaRight },
-#ifdef QDOC_QML
{ "Qml", Atom::Qml},
{ "QmlText", Atom::QmlText },
-#endif
{ "QuotationLeft", Atom::QuotationLeft },
{ "QuotationRight", Atom::QuotationRight },
{ "RawString", Atom::RawString },
diff --git a/tools/qdoc3/atom.h b/tools/qdoc3/atom.h
index 5f93658..9d0ddb1 100644
--- a/tools/qdoc3/atom.h
+++ b/tools/qdoc3/atom.h
@@ -56,7 +56,7 @@ class Atom
{
public:
enum Type {
- AbstractLeft, // 00
+ AbstractLeft,
AbstractRight,
AnnotatedList,
AutoLink,
@@ -66,19 +66,17 @@ class Atom
C,
CaptionLeft,
CaptionRight,
- Code, // 10
+ Code,
CodeBad,
CodeNew,
CodeOld,
CodeQuoteArgument,
CodeQuoteCommand,
- DivLeft, // 16
- DivRight, // 17
-#ifdef QDOC_QML
+ DivLeft,
+ DivRight,
EndQmlText,
-#endif
FootnoteLeft,
- FootnoteRight, // 20
+ FootnoteRight,
FormatElse,
FormatEndif,
FormatIf,
@@ -88,11 +86,9 @@ class Atom
GuidLink,
Image,
ImageText,
- InlineImage, // 30
-#ifdef QDOC_QML
+ InlineImage,
JavaScript,
EndJavaScript,
-#endif
LegaleseLeft,
LegaleseRight,
LineBreak,
@@ -100,7 +96,7 @@ class Atom
LinkNode,
ListLeft,
ListItemNumber,
- ListTagLeft, // 40
+ ListTagLeft,
ListTagRight,
ListItemLeft,
ListItemRight,
@@ -108,11 +104,9 @@ class Atom
Nop,
ParaLeft,
ParaRight,
-#ifdef QDOC_QML
Qml,
QmlText,
-#endif
- QuotationLeft, // 50
+ QuotationLeft,
QuotationRight,
RawString,
SectionLeft,
@@ -122,7 +116,7 @@ class Atom
SidebarLeft,
SidebarRight,
SinceList,
- SnippetCommand, // 60
+ SnippetCommand,
SnippetIdentifier,
SnippetLocation,
String,
@@ -132,7 +126,7 @@ class Atom
TableHeaderRight,
TableRowLeft,
TableRowRight,
- TableItemLeft, // 70
+ TableItemLeft,
TableItemRight,
TableOfContents,
Target,
diff --git a/tools/qdoc3/config.cpp b/tools/qdoc3/config.cpp
index 2120882..4ca4ddc 100644
--- a/tools/qdoc3/config.cpp
+++ b/tools/qdoc3/config.cpp
@@ -696,6 +696,7 @@ void Config::load(Location location, const QString& fileName)
} while (isMetaKeyChar(c));
QStringList keys = stack.getExpanded(location);
+ //qDebug() << "KEYS:" << keys;
SKIP_SPACES();
if (keys.count() == 1 && keys.first() == "include") {
diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp
index 818dcc4..b801e1e 100644
--- a/tools/qdoc3/ditaxmlgenerator.cpp
+++ b/tools/qdoc3/ditaxmlgenerator.cpp
@@ -801,15 +801,18 @@ int DitaXmlGenerator::generateAtom(const Atom *atom,
break;
case Atom::DivLeft:
{
+ bool inStartElement = false;
attr = atom->string();
DitaTag t = currentTag();
if ((t == DT_section) || (t == DT_sectiondiv)) {
writeStartTag(DT_sectiondiv);
divNestingLevel++;
+ inStartElement = true;
}
else if ((t == DT_body) || (t == DT_bodydiv)) {
writeStartTag(DT_bodydiv);
divNestingLevel++;
+ inStartElement = true;
}
if (!attr.isEmpty()) {
if (attr.contains('=')) {
@@ -833,7 +836,8 @@ int DitaXmlGenerator::generateAtom(const Atom *atom,
attr = values;
}
}
- xmlWriter().writeAttribute("outputclass", attr);
+ if (inStartElement)
+ xmlWriter().writeAttribute("outputclass", attr);
}
break;
case Atom::DivRight:
@@ -1253,9 +1257,6 @@ int DitaXmlGenerator::generateAtom(const Atom *atom,
break;
case Atom::GuidLink:
{
-#if 0
- qDebug() << "GUID LINK:" << atom->string() << outFileName();
-#endif
beginLink(atom->string());
skipAhead = 1;
}
@@ -1484,7 +1485,7 @@ int DitaXmlGenerator::generateAtom(const Atom *atom,
generateLink(atom, relative, marker);
}
else {
- writeCharacters(protectEnc(atom->string()));
+ writeCharacters(atom->string());
}
break;
case Atom::TableLeft:
@@ -1637,7 +1638,7 @@ int DitaXmlGenerator::generateAtom(const Atom *atom,
int numColumns = 1;
const Node* node = relative;
- Doc::SectioningUnit sectioningUnit = Doc::Section4;
+ Doc::Sections sectionUnit = Doc::Section4;
QStringList params = atom->string().split(",");
QString columnText = params.at(0);
QStringList pieces = columnText.split(" ", QString::SkipEmptyParts);
@@ -1650,13 +1651,13 @@ int DitaXmlGenerator::generateAtom(const Atom *atom,
if (params.size() == 2) {
numColumns = qMax(columnText.toInt(), numColumns);
- sectioningUnit = (Doc::SectioningUnit)params.at(1).toInt();
+ sectionUnit = (Doc::Sections)params.at(1).toInt();
}
if (node)
generateTableOfContents(node,
marker,
- sectioningUnit,
+ sectionUnit,
numColumns,
relative);
}
@@ -1743,6 +1744,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark
enterSection("h2","Detailed Description");
generateBody(nsn, marker);
+ generateAlsoList(nsn, marker);
leaveSection();
leaveSection(); // </apiDesc>
@@ -1877,6 +1879,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark
generateSince(cn, marker);
enterSection("h2","Detailed Description");
generateBody(cn, marker);
+ generateAlsoList(cn, marker);
leaveSection();
leaveSection(); // </apiDesc>
@@ -1995,6 +1998,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark
generateSince(fn, marker);
enterSection("h2","Detailed Description");
generateBody(fn, marker);
+ generateAlsoList(fn, marker);
leaveSection();
leaveSection(); // </apiDesc>
@@ -2115,6 +2119,7 @@ DitaXmlGenerator::generateClassLikeNode(const InnerNode* inner, CodeMarker* mark
generateBody(qcn, marker);
if (cn)
generateQmlText(cn->doc().body(), cn, marker, qcn->name());
+ generateAlsoList(cn, marker);
leaveSection();
leaveSection(); // </apiDesc>
@@ -2458,7 +2463,7 @@ void DitaXmlGenerator::generateIncludes(const InnerNode* inner, CodeMarker* mark
*/
void DitaXmlGenerator::generateTableOfContents(const Node* node,
CodeMarker* marker,
- Doc::SectioningUnit sectioningUnit,
+ Doc::Sections sectionUnit,
int numColumns,
const Node* relative)
@@ -2492,7 +2497,7 @@ void DitaXmlGenerator::generateTableOfContents(const Node* node,
Atom *atom = toc.at(i);
int nextLevel = atom->string().toInt();
- if (nextLevel > (int)sectioningUnit)
+ if (nextLevel > (int)sectionUnit)
continue;
if (sectionNumber.size() < nextLevel) {
@@ -3636,10 +3641,6 @@ QString DitaXmlGenerator::registerRef(const QString& ref)
}
else if (prevRef == ref)
break;
-#if 0
- else
- qDebug() << "PREVREF:" << prevRef;
-#endif
clean += "x";
}
return clean;
@@ -3653,7 +3654,7 @@ QString DitaXmlGenerator::protectEnc(const QString& string)
return protect(string, outputEncoding);
}
-QString DitaXmlGenerator::protect(const QString& string, const QString& outputEncoding)
+QString DitaXmlGenerator::protect(const QString& string, const QString& ) //outputEncoding)
{
#define APPEND(x) \
if (xml.isEmpty()) { \
@@ -3680,6 +3681,7 @@ QString DitaXmlGenerator::protect(const QString& string, const QString& outputEn
else if (ch == QLatin1Char('"')) {
APPEND("&quot;");
}
+#if 0
else if ((outputEncoding == "ISO-8859-1" && ch.unicode() > 0x007F) ||
(ch == QLatin1Char('*') && i + 1 < n && string.at(i) == QLatin1Char('/')) ||
(ch == QLatin1Char('.') && i > 2 && string.at(i - 2) == QLatin1Char('.'))) {
@@ -3688,6 +3690,7 @@ QString DitaXmlGenerator::protect(const QString& string, const QString& outputEn
xml += QString::number(ch.unicode(), 16);
xml += QLatin1Char(';');
}
+#endif
else {
if (!xml.isEmpty())
xml += ch;
@@ -3808,7 +3811,6 @@ QString DitaXmlGenerator::guidForNode(const Node* node)
QString ref = fn->name();
if (fn->overloadNumber() != 1) {
ref += "-" + QString::number(fn->overloadNumber());
- //qDebug() << "guidForNode() overloaded function:" << outFileName() << ref;
}
}
return fn->guid();
@@ -5482,6 +5484,7 @@ void DitaXmlGenerator::writeApiDesc(const Node* node,
inDetailedDescription = true;
enterApiDesc(QString(),title);
generateBody(node, marker);
+ generateAlsoList(node, marker);
leaveSection();
}
inDetailedDescription = false;
diff --git a/tools/qdoc3/ditaxmlgenerator.h b/tools/qdoc3/ditaxmlgenerator.h
index e26ce4f..408f46c 100644
--- a/tools/qdoc3/ditaxmlgenerator.h
+++ b/tools/qdoc3/ditaxmlgenerator.h
@@ -343,7 +343,7 @@ class DitaXmlGenerator : public PageGenerator
void generateIncludes(const InnerNode* inner, CodeMarker* marker);
void generateTableOfContents(const Node* node,
CodeMarker* marker,
- Doc::SectioningUnit sectioningUnit,
+ Doc::Sections sectioningUnit,
int numColumns,
const Node* relative = 0);
void generateTableOfContents(const Node* node,
diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp
index 95ad04c..479931d 100644
--- a/tools/qdoc3/doc.cpp
+++ b/tools/qdoc3/doc.cpp
@@ -74,32 +74,105 @@ struct Macro
};
enum {
- CMD_A, CMD_ABSTRACT, CMD_ANNOTATEDLIST, CMD_BADCODE,
- CMD_BASENAME, CMD_BOLD, CMD_BRIEF, CMD_C, CMD_CAPTION,
- CMD_CHAPTER, CMD_CODE, CMD_CODELINE, CMD_DIV, CMD_DOTS,
- CMD_ELSE, CMD_ENDABSTRACT, CMD_ENDCHAPTER, CMD_ENDCODE,
- CMD_ENDDIV, CMD_ENDFOOTNOTE, CMD_ENDIF, CMD_ENDLEGALESE,
- CMD_ENDLINK, CMD_ENDLIST, CMD_ENDOMIT, CMD_ENDPART,
- CMD_ENDQUOTATION, CMD_ENDRAW, CMD_ENDSECTION1, CMD_ENDSECTION2,
- CMD_ENDSECTION3, CMD_ENDSECTION4, CMD_ENDSIDEBAR,
- CMD_ENDTABLE, CMD_EXPIRE, CMD_FOOTNOTE, CMD_GENERATELIST,
- CMD_GRANULARITY, CMD_HEADER, CMD_I, CMD_IF, CMD_IMAGE,
- CMD_INCLUDE, CMD_INLINEIMAGE, CMD_INDEX, CMD_KEYWORD,
- CMD_L, CMD_LEGALESE, CMD_LINK, CMD_LIST, CMD_META,
- CMD_NEWCODE, CMD_O, CMD_OLDCODE, CMD_OMIT, CMD_OMITVALUE,
- CMD_OVERLOAD, CMD_PART, CMD_PRINTLINE, CMD_PRINTTO,
- CMD_PRINTUNTIL, CMD_QUOTATION, CMD_QUOTEFILE,
- CMD_QUOTEFROMFILE, CMD_QUOTEFUNCTION, CMD_RAW, CMD_ROW,
- CMD_SA, CMD_SECTION1, CMD_SECTION2, CMD_SECTION3,
- CMD_SECTION4, CMD_SIDEBAR, CMD_SINCELIST, CMD_SKIPLINE,
- CMD_SKIPTO, CMD_SKIPUNTIL, CMD_SNIPPET, CMD_SPAN, CMD_SUB,
- CMD_SUP, CMD_TABLE, CMD_TABLEOFCONTENTS, CMD_TARGET, CMD_TT,
- CMD_UNDERLINE, CMD_UNICODE, CMD_VALUE, CMD_WARNING,
-#ifdef QDOC_QML
- CMD_QML, CMD_ENDQML, CMD_CPP, CMD_ENDCPP, CMD_QMLTEXT,
- CMD_ENDQMLTEXT, CMD_CPPTEXT, CMD_ENDCPPTEXT,
- CMD_JS, CMD_ENDJS,
-#endif
+ CMD_A,
+ CMD_ABSTRACT,
+ CMD_ANNOTATEDLIST,
+ CMD_BADCODE,
+ CMD_BASENAME,
+ CMD_BOLD,
+ CMD_BRIEF,
+ CMD_C,
+ CMD_CAPTION,
+ CMD_CHAPTER, // 9
+ CMD_CODE,
+ CMD_CODELINE,
+ CMD_DIV,
+ CMD_DOTS,
+ CMD_ELSE,
+ CMD_ENDABSTRACT,
+ CMD_ENDCHAPTER,
+ CMD_ENDCODE,
+ CMD_ENDDIV,
+ CMD_ENDFOOTNOTE,
+ CMD_ENDIF,
+ CMD_ENDLEGALESE,
+ CMD_ENDLINK,
+ CMD_ENDLIST,
+ CMD_ENDOMIT,
+ CMD_ENDPART,
+ CMD_ENDQUOTATION,
+ CMD_ENDRAW,
+ CMD_ENDSECTION1,
+ CMD_ENDSECTION2,
+ CMD_ENDSECTION3,
+ CMD_ENDSECTION4,
+ CMD_ENDSIDEBAR,
+ CMD_ENDTABLE,
+ CMD_EXPIRE,
+ CMD_FOOTNOTE,
+ CMD_GENERATELIST,
+ CMD_GRANULARITY,
+ CMD_HEADER,
+ CMD_I,
+ CMD_IF,
+ CMD_IMAGE,
+ CMD_INCLUDE,
+ CMD_INLINEIMAGE,
+ CMD_INDEX,
+ CMD_KEYWORD,
+ CMD_L,
+ CMD_LEGALESE,
+ CMD_LINK,
+ CMD_LIST,
+ CMD_META,
+ CMD_NEWCODE,
+ CMD_O,
+ CMD_OLDCODE,
+ CMD_OMIT,
+ CMD_OMITVALUE,
+ CMD_OVERLOAD,
+ CMD_PART,
+ CMD_PRINTLINE,
+ CMD_PRINTTO,
+ CMD_PRINTUNTIL,
+ CMD_QUOTATION,
+ CMD_QUOTEFILE,
+ CMD_QUOTEFROMFILE,
+ CMD_QUOTEFUNCTION,
+ CMD_RAW,
+ CMD_ROW,
+ CMD_SA,
+ CMD_SECTION1, // 68
+ CMD_SECTION2, // 69
+ CMD_SECTION3, // 70
+ CMD_SECTION4, // 71
+ CMD_SIDEBAR,
+ CMD_SINCELIST,
+ CMD_SKIPLINE,
+ CMD_SKIPTO,
+ CMD_SKIPUNTIL,
+ CMD_SNIPPET,
+ CMD_SPAN,
+ CMD_SUB,
+ CMD_SUP,
+ CMD_TABLE,
+ CMD_TABLEOFCONTENTS,
+ CMD_TARGET,
+ CMD_TT,
+ CMD_UNDERLINE,
+ CMD_UNICODE,
+ CMD_VALUE,
+ CMD_WARNING,
+ CMD_QML,
+ CMD_ENDQML,
+ CMD_CPP,
+ CMD_ENDCPP,
+ CMD_QMLTEXT,
+ CMD_ENDQMLTEXT,
+ CMD_CPPTEXT,
+ CMD_ENDCPPTEXT,
+ CMD_JS,
+ CMD_ENDJS,
NOT_A_CMD
};
@@ -197,7 +270,6 @@ static struct {
{ "unicode", CMD_UNICODE, 0 },
{ "value", CMD_VALUE, 0 },
{ "warning", CMD_WARNING, 0 },
-#ifdef QDOC_QML
{ "qml", CMD_QML, 0 },
{ "endqml", CMD_ENDQML, 0 },
{ "cpp", CMD_CPP, 0 },
@@ -208,7 +280,6 @@ static struct {
{ "endcpptext", CMD_ENDCPPTEXT, 0 },
{ "js", CMD_JS, 0 },
{ "endjs", CMD_ENDJS, 0 },
-#endif
{ 0, 0, 0 }
};
@@ -223,13 +294,13 @@ class DocPrivateExtra
{
public:
QString baseName;
- Doc::SectioningUnit granularity;
- Doc::SectioningUnit sectioningUnit; // ###
+ Doc::Sections granularity;
+ Doc::Sections section; // ###
QList<Atom*> tableOfContents;
QList<int> tableOfContentsLevels;
QList<Atom*> keywords;
QList<Atom*> targets;
- QStringMultiMap metaMap;
+ QStringMultiMap metaMap;
DocPrivateExtra()
: granularity(Doc::Part) { }
@@ -365,7 +436,7 @@ class DocParser
void startFormat(const QString& format, int cmd);
bool openCommand(int cmd);
bool closeCommand(int endCmd);
- void startSection(Doc::SectioningUnit unit, int cmd);
+ void startSection(Doc::Sections unit, int cmd);
void endSection(int unit, int endCmd);
void parseAlso();
void append(Atom::Type type, const QString& string = "");
@@ -385,7 +456,7 @@ class DocParser
CodeMarker *quoteFromFile();
void expandMacro(const QString& name, const QString& def, int numParams);
QString expandMacroToString(const QString &name, const QString &def, int numParams);
- Doc::SectioningUnit getSectioningUnit();
+ Doc::Sections getSectioningUnit();
QString getArgument(bool verbatim = false);
QString getOptionalArgument();
QString getRestOfLine();
@@ -426,7 +497,7 @@ class DocParser
int braceDepth;
int minIndent;
- Doc::SectioningUnit currentSectioningUnit;
+ Doc::Sections currentSection;
QMap<QString, Location> targetMap;
QMap<int, QString> pendingFormats;
QStack<int> openedCommands;
@@ -472,7 +543,7 @@ void DocParser::parse(const QString& source,
braceDepth = 0;
minIndent = INT_MAX;
- currentSectioningUnit = Doc::Book;
+ currentSection = Doc::NoSection;
openedCommands.push(CMD_OMIT);
quoter.reset();
@@ -561,7 +632,6 @@ void DocParser::parse(const QString& source,
leavePara();
append(Atom::Code, getCode(CMD_CODE, 0));
break;
-#ifdef QDOC_QML
case CMD_QML:
leavePara();
append(Atom::Qml, getCode(CMD_QML, CodeMarker::markerForLanguage(QLatin1String("QML"))));
@@ -573,7 +643,6 @@ void DocParser::parse(const QString& source,
leavePara();
append(Atom::JavaScript, getCode(CMD_JS, CodeMarker::markerForLanguage(QLatin1String("JavaScript"))));
break;
-#endif
case CMD_DIV:
leavePara();
p1 = getArgument(true);
@@ -652,7 +721,6 @@ void DocParser::parse(const QString& source,
case CMD_ENDCODE:
closeCommand(cmd);
break;
-#ifdef QDOC_QML
case CMD_ENDQML:
closeCommand(cmd);
break;
@@ -662,7 +730,6 @@ void DocParser::parse(const QString& source,
case CMD_ENDJS:
closeCommand(cmd);
break;
-#endif
case CMD_ENDFOOTNOTE:
if (closeCommand(cmd)) {
leavePara();
@@ -712,7 +779,7 @@ void DocParser::parse(const QString& source,
closeCommand(cmd);
break;
case CMD_ENDPART:
- endSection(-1, cmd);
+ endSection(Doc::Part, cmd);
break;
case CMD_ENDQUOTATION:
if (closeCommand(cmd)) {
@@ -724,16 +791,16 @@ void DocParser::parse(const QString& source,
location().warning(tr("Unexpected '\\%1'").arg(cmdName(CMD_ENDRAW)));
break;
case CMD_ENDSECTION1:
- endSection(1, cmd);
+ endSection(Doc::Section1, cmd);
break;
case CMD_ENDSECTION2:
- endSection(2, cmd);
+ endSection(Doc::Section2, cmd);
break;
case CMD_ENDSECTION3:
- endSection(3, cmd);
+ endSection(Doc::Section3, cmd);
break;
case CMD_ENDSECTION4:
- endSection(4, cmd);
+ endSection(Doc::Section4, cmd);
break;
case CMD_ENDSIDEBAR:
if (closeCommand(cmd)) {
@@ -1463,14 +1530,13 @@ void DocParser::parse(const QString& source,
location().warning(tr("Missing '\\%1'").arg(cmdName(CMD_ENDIF)));
}
- while (currentSectioningUnit >= Doc::Chapter) {
- int delta = currentSectioningUnit - priv->extra->sectioningUnit;
- append(Atom::SectionRight, QString::number(delta));
- currentSectioningUnit = Doc::SectioningUnit(int(currentSectioningUnit) - 1);
+ if (currentSection > Doc::NoSection) {
+ append(Atom::SectionRight, QString::number(currentSection));
+ currentSection = Doc::NoSection;
}
- if (priv->extra && priv->extra->granularity < priv->extra->sectioningUnit)
- priv->extra->granularity = priv->extra->sectioningUnit;
+ if (priv->extra && priv->extra->granularity < priv->extra->section)
+ priv->extra->granularity = priv->extra->section;
priv->text.stripFirstAtom();
}
@@ -1546,14 +1612,14 @@ void DocParser::checkExpiry(const QString& date)
void DocParser::insertBaseName(const QString &baseName)
{
priv->constructExtra();
- if (currentSectioningUnit == priv->extra->sectioningUnit) {
+ if (currentSection == priv->extra->section) {
priv->extra->baseName = baseName;
}
else {
Atom *atom = priv->text.firstAtom();
Atom *sectionLeft = 0;
- int delta = currentSectioningUnit - priv->extra->sectioningUnit;
+ int delta = currentSection - priv->extra->section;
while (atom != 0) {
if (atom->type() == Atom::SectionLeft &&
@@ -1772,60 +1838,34 @@ bool DocParser::closeCommand(int endCmd)
}
}
-void DocParser::startSection(Doc::SectioningUnit unit, int cmd)
+void DocParser::startSection(Doc::Sections unit, int cmd)
{
leaveValueList();
- if (currentSectioningUnit == Doc::Book) {
- currentSectioningUnit = (Doc::SectioningUnit) (unit - 1);
+ if (currentSection == Doc::NoSection) {
+ currentSection = (Doc::Sections) (unit);
priv->constructExtra();
- priv->extra->sectioningUnit = currentSectioningUnit;
+ priv->extra->section = currentSection;
}
+ else
+ endSection(unit,cmd);
- if (unit <= priv->extra->sectioningUnit) {
- location().warning(tr("Unexpected '\\%1' in this documentation")
- .arg(cmdName(cmd)));
- }
- else if (unit - currentSectioningUnit > 1) {
- location().warning(tr("Unexpected '\\%1' at this point")
- .arg(cmdName(cmd)));
- }
- else {
- if (currentSectioningUnit >= unit)
- endSection(unit, cmd);
+ append(Atom::SectionLeft, QString::number(unit));
+ priv->constructExtra();
+ priv->extra->tableOfContents.append(priv->text.lastAtom());
+ priv->extra->tableOfContentsLevels.append(unit);
+ enterPara(Atom::SectionHeadingLeft,
+ Atom::SectionHeadingRight,
+ QString::number(unit));
+ currentSection = unit;
- int delta = unit - priv->extra->sectioningUnit;
- append(Atom::SectionLeft, QString::number(delta));
- priv->constructExtra();
- priv->extra->tableOfContents.append(priv->text.lastAtom());
- priv->extra->tableOfContentsLevels.append(unit);
- enterPara(Atom::SectionHeadingLeft,
- Atom::SectionHeadingRight,
- QString::number(delta));
- currentSectioningUnit = unit;
- }
}
void DocParser::endSection(int unit, int endCmd)
{
leavePara();
-
- if (unit < priv->extra->sectioningUnit) {
- location().warning(tr("Unexpected '\\%1' in this documentation")
- .arg(cmdName(endCmd)));
- }
- else if (unit > currentSectioningUnit) {
- location().warning(tr("Unexpected '\\%1' at this point")
- .arg(cmdName(endCmd)));
- }
- else {
- while (currentSectioningUnit >= unit) {
- int delta = currentSectioningUnit - priv->extra->sectioningUnit;
- append(Atom::SectionRight, QString::number(delta));
- currentSectioningUnit =
- (Doc::SectioningUnit) (currentSectioningUnit - 1);
- }
- }
+ append(Atom::SectionRight, QString::number(currentSection));
+ currentSection = (Doc::NoSection);
}
void DocParser::parseAlso()
@@ -2141,7 +2181,7 @@ QString DocParser::expandMacroToString(const QString &name, const QString &def,
}
}
-Doc::SectioningUnit DocParser::getSectioningUnit()
+Doc::Sections DocParser::getSectioningUnit()
{
QString name = getOptionalArgument();
@@ -2164,11 +2204,11 @@ Doc::SectioningUnit DocParser::getSectioningUnit()
return Doc::Section4;
}
else if (name.isEmpty()) {
- return Doc::Section4;
+ return Doc::NoSection;
}
else {
- location().warning(tr("Invalid sectioning unit '%1'").arg(name));
- return Doc::Book;
+ location().warning(tr("Invalid section '%1'").arg(name));
+ return Doc::NoSection;
}
}
@@ -2508,14 +2548,12 @@ int DocParser::endCmdFor(int cmd)
return CMD_ENDCODE;
case CMD_DIV:
return CMD_ENDDIV;
-#ifdef QDOC_QML
case CMD_QML:
return CMD_ENDQML;
case CMD_QMLTEXT:
return CMD_ENDQMLTEXT;
case CMD_JS:
return CMD_ENDJS;
-#endif
case CMD_FOOTNOTE:
return CMD_ENDFOOTNOTE;
case CMD_LEGALESE:
@@ -2645,11 +2683,7 @@ QString DocParser::slashed(const QString& str)
}
#define COMMAND_BRIEF Doc::alias("brief")
-
-#ifdef QDOC_QML
#define COMMAND_QMLBRIEF Doc::alias("qmlbrief")
-#endif
-
Doc::Doc(const Location& start_loc,
const Location& end_loc,
@@ -2882,7 +2916,7 @@ const QString& Doc::baseName() const
}
}
-Doc::SectioningUnit Doc::granularity() const
+Doc::Sections Doc::granularity() const
{
if (priv == 0 || priv->extra == 0) {
return DocPrivateExtra().granularity;
@@ -2975,9 +3009,7 @@ void Doc::initialize(const Config& config)
DocParser::sourceDirs = config.getStringList(CONFIG_SOURCEDIRS);
DocParser::quoting = config.getBool(CONFIG_QUOTINGINFORMATION);
-#ifdef QDOC_QML
QmlClassNode::qmlOnly = config.getBool(CONFIG_QMLONLY);
-#endif
QStringMap reverseAliasMap;
diff --git a/tools/qdoc3/doc.h b/tools/qdoc3/doc.h
index 650b5cd..a745790 100644
--- a/tools/qdoc3/doc.h
+++ b/tools/qdoc3/doc.h
@@ -70,14 +70,14 @@ class Doc
{
public:
// the order is important
- enum SectioningUnit {
- Book = -2,
- Part,
- Chapter,
- Section1,
- Section2,
- Section3,
- Section4
+ enum Sections {
+ NoSection = -2,
+ Part = -1,
+ Chapter = 1,
+ Section1 = 1,
+ Section2 = 2,
+ Section3 = 3,
+ Section4 = 4
};
Doc() : priv(0) {}
@@ -103,7 +103,7 @@ class Doc
Text trimmedBriefText(const QString &className) const;
Text legaleseText() const;
const QString& baseName() const;
- SectioningUnit granularity() const;
+ Sections granularity() const;
const QSet<QString> &parameterNames() const;
const QStringList &enumItemNames() const;
const QStringList &omitEnumItemNames() const;
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 0694053..52da178 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -1792,7 +1792,8 @@ void HtmlGenerator::generateTableOfContents(const Node *node,
toc = node->doc().tableOfContents();
if (toc.isEmpty() && !sections && (node->subType() != Node::Module))
return;
-
+ bool debug = false;
+
QStringList sectionNumber;
int detailsBase = 0;
diff --git a/tools/qdoc3/qdoc3.pro b/tools/qdoc3/qdoc3.pro
index 69d7e28..bb5ff83 100644
--- a/tools/qdoc3/qdoc3.pro
+++ b/tools/qdoc3/qdoc3.pro
@@ -19,7 +19,7 @@ qdoc_bootstrapped {
#CONFIG += debug
build_all:!build_pass {
CONFIG -= build_all
- CONFIG += release
+ CONFIG += debug-and-release
# CONFIG += debug
}