fixed issue 176

git-svn-id: http://tint2.googlecode.com/svn/trunk@285 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
thilor77 2009-12-16 09:04:50 +00:00
parent 7bf93151f9
commit b42e067629
4 changed files with 16 additions and 11 deletions

View file

@ -58,7 +58,7 @@ int max_tick_urgent;
// panel's initial config // panel's initial config
Panel panel_config; Panel panel_config;
// panels (one panel per monitor) // panels (one panel per monitor)
Panel *panel1 = NULL; Panel *panel1 = 0;
int nb_panel = 0; int nb_panel = 0;
Imlib_Image default_icon = NULL; Imlib_Image default_icon = NULL;
@ -113,10 +113,11 @@ void init_panel()
new_panel[i].main_win = old_win; new_panel[i].main_win = old_win;
} }
fprintf(stderr, "tint2 : nb monitor %d, nb desktop %d\n", nb_panel, server.nb_desktop); fprintf(stderr, "tint2 : nb monitor %d, nb monitor used %d, nb desktop %d\n", server.nb_monitor, nb_panel, server.nb_desktop);
for (i=0 ; i < nb_panel ; i++) { for (i=0 ; i < nb_panel ; i++) {
p = &new_panel[i]; p = &new_panel[i];
if (panel_config.monitor < 0)
p->monitor = i; p->monitor = i;
p->area.parent = p; p->area.parent = p;
p->area.panel = p; p->area.panel = p;
@ -263,8 +264,11 @@ void cleanup_panel()
} }
} }
if (panel1) free(panel1); if (panel1) {
free(panel1);
panel1 = 0; panel1 = 0;
nb_panel = 0;
}
if (panel_config.g_task.font_desc) { if (panel_config.g_task.font_desc) {
pango_font_description_free(panel_config.g_task.font_desc); pango_font_description_free(panel_config.g_task.font_desc);

View file

@ -267,7 +267,6 @@ void get_monitors()
next: next:
server.nb_monitor = i; server.nb_monitor = i;
server.monitor = realloc(server.monitor, server.nb_monitor * sizeof(Monitor)); server.monitor = realloc(server.monitor, server.nb_monitor * sizeof(Monitor));
//printf(" nbmonitor %d\n", server.nb_monitor);
qsort(server.monitor, server.nb_monitor, sizeof(Monitor), compareMonitorPos); qsort(server.monitor, server.nb_monitor, sizeof(Monitor), compareMonitorPos);
} }
} }

View file

@ -739,9 +739,8 @@ int main (int argc, char *argv[])
if (!g_tooltip.enabled) break; if (!g_tooltip.enabled) break;
Panel* panel = get_panel(e.xmotion.window); Panel* panel = get_panel(e.xmotion.window);
Area* area = click_area(panel, e.xmotion.x, e.xmotion.y); Area* area = click_area(panel, e.xmotion.x, e.xmotion.y);
if (area->_get_tooltip_text) { if (area->_get_tooltip_text)
tooltip_trigger_show(area, panel, e.xmotion.x_root, e.xmotion.y_root); tooltip_trigger_show(area, panel, e.xmotion.x_root, e.xmotion.y_root);
}
else else
tooltip_trigger_hide(); tooltip_trigger_hide();
break; break;

View file

@ -102,6 +102,7 @@ void tooltip_trigger_show(Area* area, Panel* p, int x_root, int y_root)
} }
else if (!g_tooltip.mapped) { else if (!g_tooltip.mapped) {
start_show_timeout(); start_show_timeout();
//printf("!g_tooltip.mapped %d %d\n", x, y);
} }
} }
@ -272,10 +273,12 @@ void start_show_timeout()
{ {
reset_timer(g_tooltip.hide_timer_id, 0, 0, 0, 0); reset_timer(g_tooltip.hide_timer_id, 0, 0, 0, 0);
struct timespec t = g_tooltip.show_timeout; struct timespec t = g_tooltip.show_timeout;
if (t.tv_sec == 0 && t.tv_nsec == 0) if (t.tv_sec == 0 && t.tv_nsec == 0) {
tooltip_show(); tooltip_show();
else }
else {
reset_timer(g_tooltip.show_timer_id, t.tv_sec, t.tv_nsec, 0, 0); reset_timer(g_tooltip.show_timer_id, t.tv_sec, t.tv_nsec, 0, 0);
}
} }