From 47a6024839c0bfea51d5ab7e0ff0556522a402c1 Mon Sep 17 00:00:00 2001 From: Ville Hakulinen Date: Tue, 7 Jul 2020 13:24:15 +0300 Subject: Prevent using grid's itself as anchor for float --- src/ui/state.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ui/state.rs b/src/ui/state.rs index 563a96d..1d616d5 100644 --- a/src/ui/state.rs +++ b/src/ui/state.rs @@ -6,7 +6,7 @@ use glib; use gtk; use gtk::prelude::*; -use log::{debug, error}; +use log::{debug, error, warn}; use nvim_rs::{Tabpage, Window as NvimWindow}; use crate::nvim_bridge::{ @@ -556,8 +556,14 @@ impl UIState { if evt.anchor_grid == 1 { (0.0, 0.0) } else { - let anchor_window = self.windows.get(&evt.anchor_grid).unwrap(); - (anchor_window.x, anchor_window.y) + if evt.anchor_grid == evt.grid { + warn!("Can't use a grid as its own float anchor. Defaulting to (0, 0)"); + (0.0, 0.0) + } else { + let anchor_window = + self.windows.get(&evt.anchor_grid).unwrap(); + (anchor_window.x, anchor_window.y) + } } }; -- cgit v1.2.3