diff --git a/lib/xcore.js b/lib/xcore.js index 5766dc6..771e0ea 100644 --- a/lib/xcore.js +++ b/lib/xcore.js @@ -506,9 +506,11 @@ XClient.prototype.expectReplyHeader = function() var result = unpack.call(client, data, opt_data); var callback = handler[1]; - callback(null, result); - // TODO: add multiple replies flag and delete handler only after last reply (eg ListFontsWithInfo) - delete client.replies[seq_num]; + var multiReply = handler[2]; + var handled = callback(null, result); + if (!multiReply || handled) { + delete client.replies[seq_num]; + } } // wait for new packet from server client.expectReplyHeader();