fixed bug : clock resize when date changed, number of desktop changed

git-svn-id: http://tint2.googlecode.com/svn/trunk@51 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
lorthiois@bbsoft.fr
2009-02-10 23:16:10 +00:00
parent b73b15d4be
commit 6c57698291
21 changed files with 509 additions and 361 deletions

View File

@@ -115,6 +115,7 @@ void init_panel()
init_clock(&p->clock, &p->area);
}
panel_refresh = 1;
}
@@ -129,10 +130,17 @@ void cleanup_panel()
for (i=0 ; i < nb_panel ; i++) {
p = &panel1[i];
free_area(&p->area);
// no free_area(&p->area) because it's the list of visible objects
if (p->area.list) {
g_slist_free(p->area.list);
p->area.list = 0;
}
free_area(&p->g_task.area);
free_area(&p->g_taskbar);
free_area(&p->clock.area);
if (p->area.pix.pmap) XFreePixmap(server.dsp, p->area.pix.pmap);
if (p->area.pix_active.pmap) XFreePixmap(server.dsp, p->area.pix_active.pmap);
if (p->root_pmap) XFreePixmap(server.dsp, p->root_pmap);
if (p->main_win) XDestroyWindow(server.dsp, p->main_win);
}
@@ -154,8 +162,9 @@ void visual_refresh (Panel *p)
// draw child object
GSList *l = p->area.list;
for (; l ; l = l->next)
for (; l ; l = l->next) {
refresh (l->data);
}
XCopyArea(server.dsp, p->root_pmap, p->main_win, server.gc, 0, 0, p->area.width, p->area.height, 0, 0);
@@ -244,6 +253,8 @@ void visible_object()
if (time1_format)
panel->area.list = g_slist_append(panel->area.list, &panel->clock);
//panel->area.list = g_slist_append(panel->area.list, &panel->trayer);
Taskbar *taskbar;
for (j=0 ; j < panel->nb_desktop ; j++) {
taskbar = &panel->taskbar[j];