From e5be17ac46a7021524a4456be1894bdbdbb7ef20 Mon Sep 17 00:00:00 2001 From: Santiago Gimeno Date: Tue, 9 Dec 2014 10:31:34 +0100 Subject: [PATCH] src: fix CreateWindow attributes encoding - Every attribute must have 4 byte length. - Add test. --- lib/corereqs.js | 10 +++++----- test/core-CreateWindow.js | 9 +++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/corereqs.js b/lib/corereqs.js index ca6697b..13f224d 100644 --- a/lib/corereqs.js +++ b/lib/corereqs.js @@ -24,15 +24,15 @@ var valueMask = { }, bitGravity : { mask: 0x00000010, - format: 'C' + format: 'Cxxx' }, winGravity : { mask: 0x00000020, - format: 'C' + format: 'Cxxx' }, backingStore : { mask: 0x00000040, - format: 'C' + format: 'Cxxx' }, backingPlanes : { mask: 0x00000080, @@ -44,11 +44,11 @@ var valueMask = { }, overrideRedirect : { mask: 0x00000200, - format: 'C' + format: 'Cxxx' }, saveUnder : { mask: 0x00000400, - format: 'C' + format: 'Cxxx' }, eventMask : { mask: 0x00000800, diff --git a/test/core-CreateWindow.js b/test/core-CreateWindow.js index 1cbc04e..11aa147 100644 --- a/test/core-CreateWindow.js +++ b/test/core-CreateWindow.js @@ -48,4 +48,13 @@ describe('CreateWindow request', function() { }); }); + it('should work with any kind of attributes too', function(done) { + var wid = X.AllocID(); + X.CreateWindow(wid, display.screen[0].root, 0, 0, 1, 1, 0, 0, 0, 0, { overrideRedirect : true }); // 1x1 pixel window + X.QueryTree(display.screen[0].root, function(err, list) { + should.not.exist(err); + list.children.should.containEql(wid); + done(); + }); + }); });