diff -Naur e:\dll\iup\a/src/iup_childtree.c e:\dll\iup\b/src/iup_childtree.c
--- e:\dll\iup\a/src/iup_childtree.c	2019-11-02 18:01:53.000000000 -0300
+++ e:\dll\iup\b/src/iup_childtree.c	2020-01-04 13:17:20.177023100 -0300
@@ -25,7 +25,7 @@
   if (!iupObjectCheck(ih))
     return NULL;
 
-  for (ih = ih; ih->parent; ih = ih->parent)
+  for (; ih->parent; ih = ih->parent)
     ; /* empty*/
 
   if (ih->iclass->nativetype == IUP_TYPEDIALOG)
diff -Naur e:\dll\iup\a/src/iup_classinfo.c e:\dll\iup\b/src/iup_classinfo.c
--- e:\dll\iup\a/src/iup_classinfo.c	2019-12-05 10:43:30.000000000 -0300
+++ e:\dll\iup\b/src/iup_classinfo.c	2020-01-04 13:54:23.459629400 -0300
@@ -339,7 +339,7 @@
             iupStrEqual(className, "tuioclient") ||
             iupStrEqual(className, "webbrowser"))
             folder = "ctrl";
-  else if (className[0] == 'G' && className[0] == 'L')
+  else if (className[0] == 'G' && className[1] == 'L')
     folder = "gl";
 
   if (iupStrEqualPartial(className, "mgl") ||
diff -Naur e:\dll\iup\a/src/iup_ledparse.c e:\dll\iup\b/src/iup_ledparse.c
--- e:\dll\iup\a/src/iup_ledparse.c	2019-12-10 14:29:16.000000000 -0300
+++ e:\dll\iup\b/src/iup_ledparse.c	2020-01-04 13:55:34.959614900 -0300
@@ -38,7 +38,7 @@
   iupASSERT(buffer != NULL || filename != NULL);
   if (!buffer && !filename)
   {
-    if (buffer)
+    if (!buffer)
       return "invalid buffer";
     else
       return "invalid file name";
diff -Naur e:\dll\iup\a/src/iup_maskparse.c e:\dll\iup\b/src/iup_maskparse.c
--- e:\dll\iup\a/src/iup_maskparse.c	2019-07-25 16:55:01.000000000 -0300
+++ e:\dll\iup\b/src/iup_maskparse.c	2020-01-04 13:56:12.134479700 -0300
@@ -410,7 +410,7 @@
 
     if (match_functions[loop1].ch == '\0')
     {
-      int temp;
+      unsigned int temp;
 
       switch (vars->string[vars->j])
       {
