Fix resizing logic (taskbar_distribute_size was broken, resizing triggered unnecessary redraws)

This commit is contained in:
o9000
2016-10-09 16:33:33 +02:00
parent 0d861ebd97
commit 1d15c41c1b
8 changed files with 124 additions and 120 deletions

View File

@@ -392,6 +392,8 @@ void hide(Area *a)
{
Area *parent = (Area *)a->parent;
if (!a->on_screen)
return;
a->on_screen = FALSE;
if (parent)
parent->resize_needed = TRUE;
@@ -405,10 +407,13 @@ void show(Area *a)
{
Area *parent = (Area *)a->parent;
if (a->on_screen)
return;
a->on_screen = TRUE;
if (parent)
parent->resize_needed = TRUE;
a->resize_needed = TRUE;
panel_refresh = TRUE;
}
void update_dependent_gradients(Area *a)

View File

@@ -172,6 +172,7 @@ typedef struct Area {
int posx, posy;
// Size, including borders
int width, height;
int old_width, old_height;
Background *bg;
// Each element is a pointer to a GradientClass (list can be empty), no ownership
GList *gradients;