Bug 79926

Summary: Quanta automatically puts <fieldset /> when i try to type <fieldset>, <fieldset /> is not valid html/xhtml
Product: quanta Reporter: Ed Martin <edman007x>
Component: generalAssignee: András Manţia <amantia>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 3.2.1   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Ed Martin 2004-04-19 01:34:44 UTC
Version:           3.2.1 (using KDE 3.2.1, compiled sources)
Compiler:          gcc version 3.3.3
OS:          Linux (i686) release 2.6.4

When I'm typing some HTML and try to do the fieldset tag Quanta thinks that the fieldset tag is like the img tag where it ends in /> and has no end tag, that is not valid HTML, it must have an end tag, when it does this its auto tag editing changes the name of the tag before it if i try to edit making it a lot of work to add the end tag, example

when i type this
<fieldset>
it ends up as this
<fieldset />
typing the </ closes the tag before the fieldset instead of the fieldset tag, trying to edit the name of that close tag renames the tag before the fieldset tag


the w3c validator says the <fieldset /> is invalid for all HTML and XHTML

and if this helps
the loaded plugins are:
cvs management
kfilereplace
xslt debugger

and when i tried this i was using the XHTML 1.0 transitional DTD
Comment 1 András Manţia 2004-05-08 16:10:27 UTC
CVS commit by amantia: 

<fieldset> is not a single tag.

CCMAIL: 79926-done@bugs.kde.org


  M +3 -0      ChangeLog   1.205.2.36
  M +1 -1      quanta/data/tags/xhtml/fieldset.tag   1.1.4.1
  M +1 -1      quanta/data/tags/xhtml-frameset/fieldset.tag   1.1.4.1
  M +1 -1      quanta/data/tags/xhtml-strict/fieldset.tag   1.1.4.1
  M +1 -1      quanta/data/tags/xhtml11/fieldset.tag   1.2.4.1
  M +0 -1      quanta/parser/node.cpp   1.39.2.7
  M +0 -2      quanta/parser/parser.cpp   1.159.2.17
  M +1 -1      quanta/parser/tag.cpp   1.52.2.7


--- quanta/ChangeLog  #1.205.2.35:1.205.2.36
@@ -16,4 +16,7 @@
         - remove the backup files in every case when the document was saved and don't warn
           about their presence on the next startup.
+        - don't crash when saving files while the structure tree is visible [#79803]
+        - fix a major memory leak, cause of many crashes and instability
+        - <fieldset> is not a single tag [#79926]
 
     - improvements:

--- quanta/quanta/data/tags/xhtml/fieldset.tag  #1.1:1.1.4.1
@@ -2,5 +2,5 @@
 <!DOCTYPE TAGS>
 <TAGS>
-<tag name="fieldset" hasScript="1" hasCore="1" hasI18n="1" single="1">
+<tag name="fieldset" hasScript="1" hasCore="1" hasI18n="1">
 
 <children>

--- quanta/quanta/data/tags/xhtml-frameset/fieldset.tag  #1.1:1.1.4.1
@@ -2,5 +2,5 @@
 <!DOCTYPE TAGS>
 <TAGS>
-<tag name="fieldset" hasScript="1" hasCore="1" hasI18n="1" single="1">
+<tag name="fieldset" hasScript="1" hasCore="1" hasI18n="1">
 
 <children>

--- quanta/quanta/data/tags/xhtml-strict/fieldset.tag  #1.1:1.1.4.1
@@ -2,5 +2,5 @@
 <!DOCTYPE TAGS>
 <TAGS>
-<tag name="fieldset" hasScript="1" hasCore="1" hasI18n="1" single="1">
+<tag name="fieldset" hasScript="1" hasCore="1" hasI18n="1">
 
 <children>

--- quanta/quanta/data/tags/xhtml11/fieldset.tag  #1.2:1.2.4.1
@@ -2,5 +2,5 @@
 <!DOCTYPE TAGS>
 <TAGS>
-<tag name="fieldset" hasScript="1" hasCore="1" single="1">
+<tag name="fieldset" hasScript="1" hasCore="1">
 
 <children>

--- quanta/quanta/parser/node.cpp  #1.39.2.6:1.39.2.7
@@ -177,5 +177,4 @@ void Node::setNodeValue(QString value)
   {
     tag = new Tag();
-    kdDebug(24000) << "node:176" << endl;
   }
   tag->setStr(value);

--- quanta/quanta/parser/parser.cpp  #1.159.2.16:1.159.2.17
@@ -280,6 +280,4 @@ Node *Parser::parseArea(int startLine, i
           //a trick here: replace the node's DTD with this one //Note: with the new SAParser, the top level nodes must be Tag::ScriptTag-s!
          // const DTDStruct *savedDTD = node->tag->dtd;
-         if (!dtd)
-           kdDebug(24000) << "parser.cpp:283: " << endl;
           node->tag->setDtd(dtd);
           node->tag->type = Tag::ScriptTag;

--- quanta/quanta/parser/tag.cpp  #1.52.2.6:1.52.2.7
@@ -38,5 +38,5 @@ Tag::Tag(const AreaStruct &area, Documen
   QString s = write->text(area);
   m_area = area;
-  assert(dtd);
+//  assert(dtd);
   m_dtd = dtd;
   if (doParse)