about summary refs log tree commit diff stats
path: root/src/server
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-01-10 02:34:34 +0100
committerbptato <nincsnevem662@gmail.com>2024-01-10 02:34:34 +0100
commit90b647f8d31f335b158f98e6be63fd56a8c68fd2 (patch)
tree25ca99d3f3a9d94ecc696f91b78e47336ec37ef5 /src/server
parent7e77bced54d29e5e909c0e587fbf9a0c689043dc (diff)
downloadchawan-90b647f8d31f335b158f98e6be63fd56a8c68fd2.tar.gz
Fix windowChange not refreshing valid media queries
* css/cascade: copy stylesheet in applyMediaQuery (so that changes
  are reverted on re-style)
* buffer: clear prevstyled in windowChange (to avoid using cached
  results from previous cascading passes); set window.attrs
* pager: avoid windowChange if new attrs are identical to the old ones
Diffstat (limited to 'src/server')
-rw-r--r--src/server/buffer.nim3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/buffer.nim b/src/server/buffer.nim
index 43944982..3d4c86b7 100644
--- a/src/server/buffer.nim
+++ b/src/server/buffer.nim
@@ -651,6 +651,9 @@ proc windowChange*(buffer: Buffer, attrs: WindowAttributes) {.proxy.} =
   buffer.attrs = attrs
   buffer.width = buffer.attrs.width
   buffer.height = buffer.attrs.height - 1
+  buffer.prevstyled = nil
+  if buffer.window != nil:
+    buffer.window.attrs = attrs
 
 type UpdateHoverResult* = object
   link*: Option[string]