From c3c05db579b5e14fdd75aecb91b722dc8aad67f6 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 3 May 2009 22:18:33 +0200 Subject: [PATCH] Bugfix: Fix crash on new clients (Thanks Mirko) --- src/util.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/util.c b/src/util.c index 1a8b7ac4..c3e45c51 100644 --- a/src/util.c +++ b/src/util.c @@ -300,9 +300,11 @@ void set_focus(xcb_connection_t *conn, Client *client, bool set_anyways) { * we might have just gone into stacking mode and need to raise */ Client *last_focused = get_last_focused_client(conn, client->container, client); - LOG("raising above frame %p / child %p\n", last_focused->frame, last_focused->child); - uint32_t values[] = { last_focused->frame, XCB_STACK_MODE_ABOVE }; - xcb_configure_window(conn, client->frame, XCB_CONFIG_WINDOW_SIBLING | XCB_CONFIG_WINDOW_STACK_MODE, values); + if (last_focused != NULL) { + LOG("raising above frame %p / child %p\n", last_focused->frame, last_focused->child); + uint32_t values[] = { last_focused->frame, XCB_STACK_MODE_ABOVE }; + xcb_configure_window(conn, client->frame, XCB_CONFIG_WINDOW_SIBLING | XCB_CONFIG_WINDOW_STACK_MODE, values); + } } /* If it is the same one as old_client, we save us the unnecessary redecorate */