diff options
author | okan | 2015-06-30 14:01:43 +0000 |
---|---|---|
committer | okan | 2015-06-30 14:01:43 +0000 |
commit | e486eca576ea66b79546c532715971cf6e56cdfe (patch) | |
tree | 1fed60f751b94932798e93161d782cc660b0807a /client.c | |
parent | 79f3790d536892405f9d37da7aba126fc69ceb18 (diff) | |
download | cwm-e486eca576ea66b79546c532715971cf6e56cdfe.tar.gz |
Re-implement XClientMessage handling so that we can feed screen_find and
client_find valid resources as needed, relieving the need for
screen_find to ungracefully handle invalid root windows. Removes a long
standing XXX. Should theoretically allow XClientMessage handling on
more than one X screen. Alter callers of screen_find to handle
failures.
Diffstat (limited to '')
-rw-r--r-- | client.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: client.c,v 1.196 2015/06/28 19:54:37 okan Exp $ + * $OpenBSD: client.c,v 1.197 2015/06/30 14:01:43 okan Exp $ */ #include <sys/types.h> @@ -55,7 +55,8 @@ client_init(Window win, struct screen_ctx *sc) return(NULL); if (sc == NULL) { - sc = screen_find(wattr.root); + if ((sc = screen_find(wattr.root)) == NULL) + return(NULL); mapped = 1; } else { if (wattr.override_redirect || wattr.map_state != IsViewable) |