Fixed bug with short updates

This commit is contained in:
vvaltman 2014-08-25 18:12:17 +04:00
parent c721eca51e
commit 43397269de
2 changed files with 16 additions and 6 deletions

View File

@ -647,11 +647,13 @@ void tglf_fetch_message_short (struct tgl_message *M) {
int date = fetch_int ();
//tglu_fetch_seq ();
fetch_int ();
int seq = fetch_int ();
assert (seq == tgl_state.seq + 1);
bl_do_create_message_text (id, from_id, TGL_PEER_USER, to_id, date, 1, l, s);
bl_do_msg_seq_update (id);
} else {
fetch_int (); // id
int id = fetch_int (); // id
fetch_int (); // from_id
int l = prefetch_strlen ();
fetch_str (l); // text
@ -659,7 +661,9 @@ void tglf_fetch_message_short (struct tgl_message *M) {
tglu_fetch_pts ();
fetch_int ();
//tglu_fetch_seq ();
fetch_int ();
int seq = fetch_int ();
assert (seq == tgl_state.seq + 1);
bl_do_msg_seq_update (id);
}
}
@ -678,10 +682,12 @@ void tglf_fetch_message_short_chat (struct tgl_message *M) {
int date = fetch_int ();
//tglu_fetch_seq ();
fetch_int ();
int seq = fetch_int ();
assert (seq == tgl_state.seq + 1);
bl_do_create_message_text (id, from_id, TGL_PEER_CHAT, to_id, date, 1, l, s);
bl_do_msg_seq_update (id);
} else {
fetch_int (); // id
int id = fetch_int (); // id
fetch_int (); // from_id
fetch_int (); // to_id
int l = prefetch_strlen ();
@ -690,7 +696,9 @@ void tglf_fetch_message_short_chat (struct tgl_message *M) {
tglu_fetch_pts ();
fetch_int ();
//tglu_fetch_seq ();
fetch_int ();
int seq = fetch_int ();
assert (seq == tgl_state.seq + 1);
bl_do_msg_seq_update (id);
}
}

View File

@ -428,8 +428,10 @@ static int do_skip_seq (int seq) {
return -1;
}
if (tgl_state.locks & TGL_LOCK_DIFF) {
vlogprintf (E_DEBUG, "Update during get_difference. seq = %d\n", seq);
return -1;
}
vlogprintf (E_DEBUG, "Ok update. seq = %d\n", seq);
return 0;
} else {
return -1;