X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..34040e3126a6714928377e6f81cc2a9eb476075f:/src/html/m_pre.cpp

diff --git a/src/html/m_pre.cpp b/src/html/m_pre.cpp
index 313d8a88bc..2594df910c 100644
--- a/src/html/m_pre.cpp
+++ b/src/html/m_pre.cpp
@@ -7,7 +7,7 @@
 // Licence:     wxWindows Licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation
 #endif
 
@@ -35,8 +35,8 @@ FORCE_LINK_ME(m_pre)
 static wxString LINKAGEMODE HtmlizeWhitespaces(const wxString& str)
 {
     wxString out;
-    size_t i = 0, j = 0, len = str.Len();
-    for (i = 0; i < len; i++)
+    size_t len = str.Len();
+    for (size_t i = 0; i < len; i++)
     {
         switch (str[i])
         {
@@ -52,7 +52,10 @@ static wxString LINKAGEMODE HtmlizeWhitespaces(const wxString& str)
                 out << wxT("<br>");
                 break;
             case wxT('\t'):
-                for (j = 8 - i%8; j > 0; j--) out << wxT("&nbsp;");
+                {
+                    for (size_t j = 8 - i%8; j > 0; j--)
+                        out << wxT("&nbsp;");
+                }
                 break;
             default:
                 out << str[i];
@@ -69,6 +72,7 @@ static wxString LINKAGEMODE HtmlizeWhitespaces(const wxString& str)
 
 
 TAG_HANDLER_BEGIN(PRE, "PRE")
+    TAG_HANDLER_CONSTR(PRE) { }
 
     TAG_HANDLER_PROC(tag)
     {
@@ -90,6 +94,8 @@ TAG_HANDLER_BEGIN(PRE, "PRE")
 
         m_WParser->CloseContainer();
         c = m_WParser->OpenContainer();
+        c->SetWidthFloat(tag);
+        c = m_WParser->OpenContainer();
         c->SetAlignHor(wxHTML_ALIGN_LEFT);
         c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
 
@@ -102,6 +108,7 @@ TAG_HANDLER_BEGIN(PRE, "PRE")
         m_Parser->DoParsing();
         m_Parser->RestoreState();
 
+        m_WParser->CloseContainer();
         m_WParser->CloseContainer();
         c = m_WParser->OpenContainer();