[ekg2-devel] Odswiezanie okienka kontaktow - ncurses
Wiesław Ochmiński
wiechu w wiechu.com
Czw, 7 Lut 2008, 17:41:49 CET
Mam nadzieję, że teraz naprawiając jedno nie zepsułem niczego innego.
--
Wiesław Ochmiński, Polska Północna, Malbork.
-------------- następna część ---------
Index: ekg/commands.c
===================================================================
--- ekg/commands.c (wersja 3755)
+++ ekg/commands.c (kopia robocza)
@@ -582,11 +582,8 @@
}
tmp = xstrdup(u->uid);
- query_emit_id(NULL, USERLIST_REMOVED, ¶ms[0], &tmp);
- query_emit_id(NULL, REMOVE_NOTIFY, &session->uid, &tmp);
printq("user_deleted", params[0], session_name(session));
- xfree(tmp);
tabnick_remove(u->uid);
tabnick_remove(u->nickname);
@@ -594,7 +591,12 @@
config_changed = 1;
userlist_remove(session, u);
+
+ query_emit_id(NULL, USERLIST_REMOVED, ¶ms[0], &tmp);
+ query_emit_id(NULL, REMOVE_NOTIFY, &session->uid, &tmp);
+ xfree(tmp);
+
return 0;
}
Index: ekg/windows.c
===================================================================
--- ekg/windows.c (wersja 3755)
+++ ekg/windows.c (kopia robocza)
@@ -189,6 +189,7 @@
{
list_t l;
userlist_t *u;
+ int ul_refresh = 0;
#if 0
/* XXX, need testing */
@@ -212,8 +213,10 @@
query_emit_id(NULL, UI_WINDOW_SWITCH, &w); /* XXX */
w->act &= ~3;
- if (w->target && w->session && (u=userlist_find(w->session, w->target)) && (u->xstate & EKG_XSTATE_BLINK))
+ if (w->target && w->session && (u=userlist_find(w->session, w->target)) && (u->xstate & EKG_XSTATE_BLINK)) {
u->xstate &= ~EKG_XSTATE_BLINK;
+ ul_refresh = 1;
+ }
if (!(config_make_window & 3) && w->id == 1 && session_current) {
list_t l;
@@ -221,11 +224,18 @@
for (l = s->userlist; l; l = l->next) {
userlist_t *u = l->data;
- if (!window_find_s(s, u->uid))
- u->xstate &= ~EKG_XSTATE_BLINK;
+ if (!window_find_s(s, u->uid)) {
+ if (u->xstate & EKG_XSTATE_BLINK) {
+ u->xstate &= ~EKG_XSTATE_BLINK;
+ ul_refresh = 1;
+ }
+ }
}
}
+ if (ul_refresh)
+ query_emit_id(NULL, USERLIST_REFRESH);
+
if (!w->id)
w->session = session_current;
Więcej informacji o liście dyskusyjnej ekg2-devel