diff options
author | Ville Hakulinen <ville.hakulinen@gmail.com> | 2020-07-07 13:24:15 +0300 |
---|---|---|
committer | Ville Hakulinen <ville.hakulinen@gmail.com> | 2020-07-12 01:57:30 +0300 |
commit | 47a6024839c0bfea51d5ab7e0ff0556522a402c1 (patch) | |
tree | 0e320e409ec3f35cac2c869f9608775f1fcd6a0d | |
parent | f3ddcdbe5e4ee94a40094836072b6336cd503781 (diff) |
Prevent using grid's itself as anchor for float
-rw-r--r-- | src/ui/state.rs | 12 |
1 files 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) + } } }; |