]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_layout.cpp
another segfault fix
[wxWidgets.git] / src / html / m_layout.cpp
index c8fe7096be433699ecc24715d1c576fc5e5cd81a..e828f01e1ddc6ac0a7ede27b8782fdea18b73265 100644 (file)
@@ -20,7 +20,6 @@
 #endif
 
 #ifndef WXPRECOMP
 #endif
 
 #ifndef WXPRECOMP
-#include "wx/wx.h"
 #endif
 
 
 #endif
 
 
@@ -37,7 +36,7 @@ TAG_HANDLER_BEGIN(P, "P")
     TAG_HANDLER_PROC(tag)
     {
         if (m_WParser->GetContainer()->GetFirstCell() != NULL)
     TAG_HANDLER_PROC(tag)
     {
         if (m_WParser->GetContainer()->GetFirstCell() != NULL)
-           {
+        {
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
         }
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
         }
@@ -78,7 +77,7 @@ TAG_HANDLER_BEGIN(CENTER, "CENTER")
 
         m_WParser->SetAlign(wxHTML_ALIGN_CENTER);
         if (c->GetFirstCell() != NULL)
 
         m_WParser->SetAlign(wxHTML_ALIGN_CENTER);
         if (c->GetFirstCell() != NULL)
-           {
+        {
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
         }
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
         }
@@ -86,12 +85,12 @@ TAG_HANDLER_BEGIN(CENTER, "CENTER")
             c->SetAlignHor(wxHTML_ALIGN_CENTER);
 
         if (tag.HasEnding())
             c->SetAlignHor(wxHTML_ALIGN_CENTER);
 
         if (tag.HasEnding())
-           {
+        {
             ParseInner(tag);
 
             m_WParser->SetAlign(old);
             if (c->GetFirstCell() != NULL)
             ParseInner(tag);
 
             m_WParser->SetAlign(old);
             if (c->GetFirstCell() != NULL)
-               {
+            {
                 m_WParser->CloseContainer();
                 m_WParser->OpenContainer();
             }
                 m_WParser->CloseContainer();
                 m_WParser->OpenContainer();
             }
@@ -114,7 +113,7 @@ TAG_HANDLER_BEGIN(DIV, "DIV")
         int old = m_WParser->GetAlign();
         wxHtmlContainerCell *c = m_WParser->GetContainer();
         if (c->GetFirstCell() != NULL)
         int old = m_WParser->GetAlign();
         wxHtmlContainerCell *c = m_WParser->GetContainer();
         if (c->GetFirstCell() != NULL)
-           {
+        {
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
             c = m_WParser->GetContainer();
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
             c = m_WParser->GetContainer();
@@ -122,7 +121,7 @@ TAG_HANDLER_BEGIN(DIV, "DIV")
             m_WParser->SetAlign(c->GetAlignHor());
         }
         else
             m_WParser->SetAlign(c->GetAlignHor());
         }
         else
-           {
+        {
             c->SetAlign(tag);
             m_WParser->SetAlign(c->GetAlignHor());
         }
             c->SetAlign(tag);
             m_WParser->SetAlign(c->GetAlignHor());
         }
@@ -131,7 +130,7 @@ TAG_HANDLER_BEGIN(DIV, "DIV")
 
         m_WParser->SetAlign(old);
         if (c->GetFirstCell() != NULL)
 
         m_WParser->SetAlign(old);
         if (c->GetFirstCell() != NULL)
-           {
+        {
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
         }
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
         }
@@ -151,15 +150,13 @@ TAG_HANDLER_BEGIN(TITLE, "TITLE")
     TAG_HANDLER_PROC(tag)
     {
         if (m_WParser->GetWindow())
     TAG_HANDLER_PROC(tag)
     {
         if (m_WParser->GetWindow())
-           {
+        {
             wxHtmlWindow *wfr = (wxHtmlWindow*)(m_WParser->GetWindow());
             if (wfr)
             wxHtmlWindow *wfr = (wxHtmlWindow*)(m_WParser->GetWindow());
             if (wfr)
-               {
-                wxString title = "";
-                wxString *src = m_WParser->GetSource();
-
-                for (int i = tag.GetBeginPos(); i < tag.GetEndPos1(); i++) title += (*src)[(unsigned int) i];
-                wfr->OnSetTitle(title);
+            {
+                const wxString& src = *m_WParser->GetSource();
+                wfr->OnSetTitle(src.Mid(tag.GetBeginPos(), 
+                                        tag.GetEndPos1()-tag.GetBeginPos()));
             }
         }
         return TRUE;
             }
         }
         return TRUE;
@@ -177,7 +174,7 @@ TAG_HANDLER_BEGIN(BODY, "BODY")
         wxColour clr;
 
         if (tag.GetParamAsColour(wxT("TEXT"), &clr))
         wxColour clr;
 
         if (tag.GetParamAsColour(wxT("TEXT"), &clr))
-           {
+        {
             m_WParser->SetActualColor(clr);
             m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(clr));
         }
             m_WParser->SetActualColor(clr);
             m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(clr));
         }
@@ -186,7 +183,7 @@ TAG_HANDLER_BEGIN(BODY, "BODY")
             m_WParser->SetLinkColor(clr);
 
         if (tag.GetParamAsColour(wxT("BGCOLOR"), &clr))
             m_WParser->SetLinkColor(clr);
 
         if (tag.GetParamAsColour(wxT("BGCOLOR"), &clr))
-           {
+        {
             m_WParser->GetContainer()->InsertCell(
                 new wxHtmlColourCell(clr, wxHTML_CLR_BACKGROUND));
             if (m_WParser->GetWindow() != NULL)
             m_WParser->GetContainer()->InsertCell(
                 new wxHtmlColourCell(clr, wxHTML_CLR_BACKGROUND));
             if (m_WParser->GetWindow() != NULL)
@@ -208,12 +205,12 @@ TAG_HANDLER_BEGIN(BLOCKQUOTE, "BLOCKQUOTE")
         m_WParser->CloseContainer();
         c = m_WParser->OpenContainer();
 
         m_WParser->CloseContainer();
         c = m_WParser->OpenContainer();
 
-           if (c->GetAlignHor() == wxHTML_ALIGN_RIGHT)
+        if (c->GetAlignHor() == wxHTML_ALIGN_RIGHT)
             c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_RIGHT);
         else
             c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_LEFT);
 
             c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_RIGHT);
         else
             c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_LEFT);
 
-           c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
+        c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
         m_WParser->OpenContainer();
         ParseInner(tag);
         c = m_WParser->CloseContainer();
         m_WParser->OpenContainer();
         ParseInner(tag);
         c = m_WParser->CloseContainer();