diff client.c @ 307:ec8a66a2b9cc

fixed issue reported by sander
author Anselm R.Garbe <arg@10ksloc.org>
date Wed, 16 Aug 2006 17:56:04 +0200
parents 71f02d14dce1
children b591412bd2da
line wrap: on
line diff
--- a/client.c	Wed Aug 16 15:57:36 2006 +0200
+++ b/client.c	Wed Aug 16 17:56:04 2006 +0200
@@ -261,6 +261,10 @@
 	if(trans && (tc = getclient(trans))) {
 		c->x = (tc->x + tc->w / 2) - (c->w / 2);
 		c->y = (tc->y + tc->h / 2) - (c->h / 2);
+		if(c->x < 0 || c->x >= sw)
+			c->x = (sw / 2) - (c->w / 2);
+		if(c->y < 0 || c->y >= sh)
+			c->y = ((sh - bh) / 2) - (c->h / 2) + bh;
 	}
 	else {
 		c->x = (sw / 2) - (c->w / 2);