fixed unpacking Expose event

This commit is contained in:
sidorares 2011-07-19 10:51:05 +10:00
parent 359c8205ef
commit bd7897d6b5

View file

@ -57,6 +57,7 @@ function XClient(stream)
this.importRequestsFromTemplates(this, coreRequests);
this.startHandshake();
// TODO: bad name
this.event_consumers = {}; // maps window id to eventemitter
// import available extentions
@ -170,13 +171,13 @@ XClient.prototype.unpackEvent = function(type, seq, extra, raw)
event.buttons = values[7];
event.sameScreen = values[8];
} else if (type == 12) { // Expose
var values = raw.unpack('LSSSSS');
event.wid = values[0];
event.x = values[1];
event.y = values[2];
event.width = values[3];
event.height = values[4];
event.count = values[5]; // TODO: ???
var values = raw.unpack('SSSSS');
event.wid = extra;
event.x = values[0];
event.y = values[1];
event.width = values[2];
event.height = values[3];
event.count = values[4]; // TODO: ???
}
return event;
}
@ -219,6 +220,7 @@ XClient.prototype.expectReplyHeader = function()
var extra = res[3];
var ev = client.unpackEvent(type, seq_num, extra, buf);
client.emit('event', ev);
console.log(ev);
var ee = client.event_consumers[ev.wid];
if (ee) {
ee.emit('event', ev);