]> Dogcows Code - chaz/tint2/blobdiff - src/util/area.c
*fix* unset sigmask only for child fork
[chaz/tint2] / src / util / area.c
index 0e151e28bcf663cbfb3bbf66f7efbaef7fc78014..827e118a40e7fe41f9cd846e7816bb18487ba560 100644 (file)
@@ -43,6 +43,11 @@ void refresh (Area *a)
        // don't draw transparent objects (without foreground and without background)
        if (a->redraw) {
                a->redraw = 0;
+               // force redraw of child
+               GSList *l;
+               for (l = a->list ; l ; l = l->next)
+                       set_redraw(l->data);
+
                //printf("draw area posx %d, width %d\n", a->posx, a->width);
                draw(a, 0);
                if (a->use_active)
@@ -67,13 +72,16 @@ void size (Area *a)
 
        if (a->resize) {
                a->resize = 0;
-               for (l = a->list; l ; l = l->next)
-                       size(l->data);
+               // force the resize of childs
+               for (l = a->list; l ; l = l->next) {
+                       Area *area = (Area*)l->data;
+                       area->resize = 1;
+                       size(area);
+               }
 
                // resize can generate a redraw
-               if (a->_resize) {
+               if (a->_resize)
                        a->_resize(a);
-               }
        }
 }
 
This page took 0.021391 seconds and 4 git commands to generate.