aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xevents.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/xevents.c b/xevents.c
index 3733419..ce3f740 100644
--- a/xevents.c
+++ b/xevents.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: xevents.c,v 1.144 2019/03/10 20:38:28 okan Exp $
+ * $OpenBSD: xevents.c,v 1.145 2019/03/10 22:53:11 okan Exp $
*/
/*
@@ -431,20 +431,17 @@ xev_handle_clientmessage(XEvent *ee)
static void
xev_handle_randr(XEvent *ee)
{
- XRRScreenChangeNotifyEvent *rev = (XRRScreenChangeNotifyEvent *)ee;
+ XRRScreenChangeNotifyEvent *e = (XRRScreenChangeNotifyEvent *)ee;
struct screen_ctx *sc;
- int i;
- LOG_DEBUG3("new size: %d/%d", rev->width, rev->height);
+ LOG_DEBUG3("size: %d/%d", e->width, e->height);
- i = XRRRootToScreen(X_Dpy, rev->root);
- TAILQ_FOREACH(sc, &Screenq, entry) {
- if (sc->which == i) {
- XRRUpdateConfiguration(ee);
- screen_update_geometry(sc);
- screen_assert_clients_within(sc);
- }
- }
+ if ((sc = screen_find(e->root)) == NULL)
+ return;
+
+ XRRUpdateConfiguration(ee);
+ screen_update_geometry(sc);
+ screen_assert_clients_within(sc);
}
/*