all repos — openbox @ 97e854b07d9f259c422fda4cc7b8c26328fd83ab

openbox fork - make it a bit more like ryudo

use a client destructor to watch for focus_in/out becoming invalid
Dana Jansens danakj@orodu.net
commit

97e854b07d9f259c422fda4cc7b8c26328fd83ab

parent

58977733d0ad42642869b33a8fed4769f366a48a

1 files changed, 10 insertions(+), 0 deletions(-)

jump to
M openbox/event.copenbox/event.c

@@ -57,6 +57,7 @@ #endif

static void event_process(const XEvent *e, gpointer data); static void event_done(gpointer data); +static void event_client_dest(ObClient *client, gpointer data); static void event_handle_root(XEvent *e); static void event_handle_menu(XEvent *e); static void event_handle_dock(ObDock *s, XEvent *e);

@@ -148,6 +149,7 @@ IceAddConnectionWatch(ice_watch, NULL);

#endif client_add_destructor(focus_delay_client_dest, NULL); + client_add_destructor(event_client_dest, NULL); } void event_shutdown(gboolean reconfig)

@@ -311,6 +313,14 @@ return TRUE;

break; } return FALSE; +} + +static void event_client_dest(ObClient *client, gpointer data) +{ + if (client == focus_in) + focus_in = NULL; + if (client == focus_out) + focus_out = NULL; } static void event_done(gpointer data)