-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hi,
This patch fixes two minor bugs which (afaik) didn't have any negative impact.
Still, they are bugs. ;)
The wibox' code tried to change a wibox' border color/width even if some wibox
didnt have a X11 window.
Uli
- --
"Do you know that books smell like nutmeg or some spice from a foreign land?"
-- Faber in Fahrenheit 451
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQEcBAEBCAAGBQJK//asAAoJECLkKOvLj8sGZ1QIAKB6ovA8A0c0tvs+Z82mm5c/
QFNyJIceK89+OqxhyN+akKZZ19otQQV8MjTt4mJ/mw/QLxbzKw/OYIuX1rqCJ/Sd
CtSJCBlE6Vlfd8lgpHIGDqpOSkcbkK4RKs+XWuId/TUKQcYi7jgjHhAHE1jNAvPA
nz2tn9PT5C1Ja/T0ZRTTz9uQF60LA9j2yVljs/muf/BNFTJqMV1XvXmosKhFwDxk
oX6pyyljUA9uL5VjMSambRNybxA0FIh46i/KzRn9h2uthXqymtg6iEtAAGUfTsSy
dBll1THV7fSGRdzO447udm2idpEfdTJFAqjw2kwLNnB5uIQZBqjrNBrcwEYaolQ=
=l9MG
-----END PGP SIGNATURE-----
>From b86b6d5d9641464ad6448a4ee05cdf8c47043c0c Mon Sep 17 00:00:00 2001
From: Uli Schlachter <[email protected]>
Date: Sun, 15 Nov 2009 13:36:48 +0100
Subject: [PATCH] Wibox: Check if a window exists before changing it
wibox_set_border_color() and luaA_wibox_set_border_width() didn't check if a
wibox really had an associated X11 window before changing this window which
resulted in (silent) errors.
Signed-off-by: Uli Schlachter <[email protected]>
---
objects/wibox.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/objects/wibox.c b/objects/wibox.c
index a53462d..63d6595 100644
--- a/objects/wibox.c
+++ b/objects/wibox.c
@@ -363,8 +363,9 @@ static void
wibox_set_border_color(lua_State *L, int udx, const xcolor_t *color)
{
wibox_t *w = luaA_checkudata(L, udx, &wibox_class);
- xcb_change_window_attributes(globalconf.connection, w->window,
- XCB_CW_BORDER_PIXEL, &color->pixel);
+ if (w->window != XCB_NONE)
+ xcb_change_window_attributes(globalconf.connection, w->window,
+ XCB_CW_BORDER_PIXEL, &color->pixel);
w->border_color = *color;
luaA_object_emit_signal(L, udx, "property::border_color", 0);
}
@@ -1295,8 +1296,9 @@ luaA_wibox_set_border_width(lua_State *L, wibox_t *wibox)
uint32_t border_width = luaL_checknumber(L, -1);
if(border_width != w->border_width)
{
- xcb_configure_window(globalconf.connection, w->window, XCB_CONFIG_WINDOW_BORDER_WIDTH,
- &border_width);
+ if (w->window != XCB_NONE)
+ xcb_configure_window(globalconf.connection, w->window, XCB_CONFIG_WINDOW_BORDER_WIDTH,
+ &border_width);
w->border_width = border_width;
/* Need update if transparent background */
wibox_need_update(w);
--
1.6.5