about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/css/cascade.nim3
-rw-r--r--src/local/pager.nim2
-rw-r--r--src/server/buffer.nim3
3 files changed, 7 insertions, 1 deletions
diff --git a/src/css/cascade.nim b/src/css/cascade.nim
index 173b2af3..f9422a19 100644
--- a/src/css/cascade.nim
+++ b/src/css/cascade.nim
@@ -276,7 +276,8 @@ proc applyDeclarations(pseudo: PseudoElem, styledParent: StyledNode,
 
 func applyMediaQuery(ss: CSSStylesheet, window: Window): CSSStylesheet =
   if ss == nil: return nil
-  result = ss
+  new(result)
+  result[] = ss[]
   for mq in ss.mqList:
     if mq.query.applies(window):
       result.add(mq.children.applyMediaQuery(window))
diff --git a/src/local/pager.nim b/src/local/pager.nim
index 228a79b9..9afea4f5 100644
--- a/src/local/pager.nim
+++ b/src/local/pager.nim
@@ -628,6 +628,8 @@ proc toggleSource(pager: Pager) {.jsfunc.} =
     pager.addContainer(container)
 
 proc windowChange*(pager: Pager, attrs: WindowAttributes) =
+  if attrs == pager.attrs:
+    return
   if pager.lineedit.isSome:
     pager.lineedit.get.windowChange(attrs)
   pager.term.windowChange(attrs)
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]