aboutsummaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authorokan2015-06-30 14:01:43 +0000
committerokan2015-06-30 14:01:43 +0000
commite486eca576ea66b79546c532715971cf6e56cdfe (patch)
tree1fed60f751b94932798e93161d782cc660b0807a /client.c
parent79f3790d536892405f9d37da7aba126fc69ceb18 (diff)
downloadcwm-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 'client.c')
-rw-r--r--client.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/client.c b/client.c
index acc14e6..3d1c085 100644
--- a/client.c
+++ b/client.c
@@ -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)