aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/oscar/oscar.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2005-12-14 00:27:58 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2005-12-14 00:27:58 +0100
commit22bf64eab8a79352317ee190cddfeef3011aa8dc (patch)
tree588aeb197e2b24660c2813866270f8e780903da0 /protocols/oscar/oscar.c
parent6aaa2213588f7c4c00a68c5622f6974679eaf196 (diff)
parente7f46c56ffa29c6f8f4917c5f367a61706758e2a (diff)
Improved typing notification support. (from f0rked)
Diffstat (limited to 'protocols/oscar/oscar.c')
-rw-r--r--protocols/oscar/oscar.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c
index 15844479..240bab14 100644
--- a/protocols/oscar/oscar.c
+++ b/protocols/oscar/oscar.c
@@ -2450,10 +2450,20 @@ int gaim_parsemtn(aim_session_t *sess, aim_frame_t *fr, ...)
sn = va_arg(ap, char*);
type2 = va_arg(ap, int);
va_end(ap);
-
- if(type2 == 0x0001 || type2 == 0x0002)
- serv_got_typing(gc, sn, 0);
-
+
+ if(type2 == 0x0002) {
+ /* User is typing */
+ serv_got_typing(gc, sn, 0, 1);
+ }
+ else if (type2 == 0x0001) {
+ /* User has typed something, but is not actively typing (stale) */
+ serv_got_typing(gc, sn, 0, 2);
+ }
+ else {
+ /* User has stopped typing */
+ serv_got_typing(gc, sn, 0, 0);
+ }
+
return 1;
}