On Tue, Apr 19, 2011 at 07:13:03PM +0200, Adam Wysocki wrote: > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > 19:02 ::: EKG - Eksperymentalny Klient Gadu-Gadu (20110418) > > 19:02 ::: libgadu-20110418 (protokol 0x2e, klient 10.1.0.11070) > > 19:02 ::: skompilowano: Apr 19 2011 18:00:17 > > > > E-e, to samo, problem nadal wystepuje podczas zmiany rozmiaru okna. > > Czy polecenie /_resize powoduje wtedy zmianę rozmiaru okna?
Nie. Nic sie nie dzieje. > W ui_ncurses.c w funkcji ui_ncurses_loop jest taki if: > > if (ui_need_refresh) { > ui_need_refresh = 0; > endwin(); > refresh(); > keypad(input, TRUE); > /* wywoła wszystko, co potrzebne */ > header_statusbar_resize(NULL); > changed_backlog_size("backlog_size"); > > goto redraw_prompt; > } > > Dodaj przed goto: > > gg_debug(GG_DEBUG_MISC, "// refresh\n"); Najpierw zmienilem rozmiar okna 4 razy. Nastepnie wykonalem pare razy samo /_resize z wiersza polecen: 19:33 // SIGWINCH 19:33 // refresh 19:33 // SIGWINCH 19:33 // refresh 19:33 // SIGWINCH 19:33 // refresh 19:33 // SIGWINCH 19:33 // refresh 19:33 // refresh 19:33 // refresh 19:33 // refresh Nic sie nie dzieje, ekg nie zmienia rozmaru okna (ekg-20110418). --- src/ui-ncurses.c.orig Mon Apr 18 21:00:09 2011 +++ src/ui-ncurses.c Tue Apr 19 18:31:31 2011 @@ -2408,8 +2408,11 @@ static void update_statusbar(int commit) #ifdef SIGWINCH static void sigwinch_handler(int sig) { + gg_debug(GG_DEBUG_MISC, "// SIGWINCH\n"); ui_need_refresh = 1; } +#else +#error Brak SIGWINCH #endif void save_windows() @@ -4756,6 +4759,7 @@ static void ui_ncurses_loop() header_statusbar_resize(NULL); changed_backlog_size("backlog_size"); + gg_debug(GG_DEBUG_MISC, "// refresh\n"); goto redraw_prompt; } -- best regards q#