]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/tex2rtf/src/texutils.cpp
Attempted to improve tip window behaviour, but kill focus still not working in wxGTK.
[wxWidgets.git] / utils / tex2rtf / src / texutils.cpp
index eec52b6db1acb44889a56ed88a144b29e6c99d1a..f3c25d42b7bbedecfd3c4686d3f487503306276c 100644 (file)
@@ -239,9 +239,9 @@ int ParseUnitArgument(char *unitArg)
       if (strcmp(units, "in") == 0)
         conversionFactor = 72.0;
       else if (strcmp(units, "cm") == 0)
-        conversionFactor = 72.0/2.51;
+        conversionFactor = (float)72.0/(float)2.51;
       else if (strcmp(units, "mm") == 0)
-        conversionFactor = 72.0/25.1;
+        conversionFactor = (float)72.0/(float)25.1;
       else if (strcmp(units, "pt") == 0)
         conversionFactor = 1;
     }
@@ -432,7 +432,14 @@ void ReadTexReferences(char *filename)
         istr.get(ch);
       }
       section[i] = 0;
+
+      // gt - needed to trick the hash table "TexReferences" into deleting the key 
+      // strings it creates in the Put() function, but not the item that is
+      // created here, as that is destroyed elsewhere.  Without doing this, there
+      // were massive memory leaks
+      TexReferences.DeleteContents(TRUE);
       TexReferences.Put(label, new TexRef(label, file, section, sectionName));
+      TexReferences.DeleteContents(FALSE);
     }
   }
 }
@@ -528,10 +535,10 @@ void BibReadValue(istream& istr, char *buffer, bool ignoreBraces = TRUE,
   while (!istr.eof() && !stopping)
   {
 //    i ++;
-    if (i >= 2000)
+    if (i >= 4000)
     {
       char buf[100];
-      sprintf(buf, "Sorry, value > 2000 chars in bib file at line %ld, terminating.", BibLine);
+      sprintf(buf, "Sorry, value > 4000 chars in bib file at line %ld, terminating.", BibLine);
       wxFatalError(buf, "Tex2RTF Fatal Error");
     }
     istr.get(ch);
@@ -581,7 +588,7 @@ bool ReadBib(char *filename)
   OnInform("Reading .bib file...");
 
   char ch;
-  char fieldValue[2000];
+  char fieldValue[4000];
   char recordType[100];
   char recordKey[100];
   char recordField[100];