mirror of
https://github.com/penpot/penpot.git
synced 2026-01-06 21:39:00 -05:00
Compare commits
8 Commits
2.13.0-RC1
...
staging-re
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32ca42a093 | ||
|
|
523a97a4ec | ||
|
|
260f6861a3 | ||
|
|
edd53b419a | ||
|
|
078a3d5a5c | ||
|
|
c4e57427ac | ||
|
|
218f34380a | ||
|
|
6c6b3db87e |
@@ -21,6 +21,7 @@
|
||||
- Fix problem when drag+duplicate a full grid [Taiga #12565](https://tree.taiga.io/project/penpot/issue/12565)
|
||||
- Fix problem when pasting elements in reverse flex layout [Taiga #12460](https://tree.taiga.io/project/penpot/issue/12460)
|
||||
- Fix wrong board size presets in Android [Taiga #12339](https://tree.taiga.io/project/penpot/issue/12339)
|
||||
- Fix problem with grid layout components and auto sizing [Github #7797](https://github.com/penpot/penpot/issues/7797)
|
||||
|
||||
|
||||
## 2.12.1
|
||||
|
||||
@@ -269,8 +269,8 @@
|
||||
"Remove flex children properties except the fit-content for flex layouts. These are properties
|
||||
that we don't have to propagate to copies but will be respected when swapping components"
|
||||
[shape]
|
||||
(let [layout-item-h-sizing (when (and (ctl/flex-layout? shape) (ctl/auto-width? shape)) :auto)
|
||||
layout-item-v-sizing (when (and (ctl/flex-layout? shape) (ctl/auto-height? shape)) :auto)]
|
||||
(let [layout-item-h-sizing (when (and (ctl/any-layout? shape) (ctl/auto-width? shape)) :auto)
|
||||
layout-item-v-sizing (when (and (ctl/any-layout? shape) (ctl/auto-height? shape)) :auto)]
|
||||
(-> shape
|
||||
(d/without-keys ctk/swap-keep-attrs)
|
||||
(cond-> (some? layout-item-h-sizing)
|
||||
|
||||
@@ -432,10 +432,12 @@
|
||||
:val position-data
|
||||
:ignore-touched true
|
||||
:ignore-geometry true}]})))]
|
||||
(dch/commit-changes
|
||||
{:redo-changes changes :undo-changes []
|
||||
:save-undo? false
|
||||
:tags #{:position-data}})))))))
|
||||
(when (d/not-empty? changes)
|
||||
(dch/commit-changes
|
||||
{:redo-changes changes :undo-changes []
|
||||
:save-undo? false
|
||||
:tags #{:position-data}})))))
|
||||
(rx/take-until stoper-s))))
|
||||
|
||||
(->> stream
|
||||
(rx/filter dch/commit?)
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
;; FIXME: rename; confunsing name
|
||||
[app.render-wasm.wasm :as wasm]
|
||||
[app.util.debug :as dbg]
|
||||
[app.util.dom :as dom]
|
||||
[app.util.functions :as fns]
|
||||
[app.util.globals :as ug]
|
||||
[app.util.modules :as mod]
|
||||
@@ -1230,6 +1231,13 @@
|
||||
(re-find #"(?i)edge" user-agent) :edge
|
||||
:else :unknown)))))
|
||||
|
||||
(defn- on-webgl-context-lost
|
||||
[event]
|
||||
(dom/prevent-default event)
|
||||
(reset! wasm/context-lost? true)
|
||||
(log/warn :hint "WebGL context lost")
|
||||
(st/emit! (drw/context-lost)))
|
||||
|
||||
(defn init-canvas-context
|
||||
[canvas]
|
||||
(let [gl (unchecked-get wasm/internal-module "GL")
|
||||
@@ -1257,14 +1265,8 @@
|
||||
(set-canvas-size canvas)
|
||||
|
||||
;; Add event listeners for WebGL context lost
|
||||
(let [handler (fn [event]
|
||||
(.preventDefault event)
|
||||
(reset! wasm/context-lost? true)
|
||||
(log/warn :hint "WebGL context lost")
|
||||
(st/emit! (drw/context-lost)))]
|
||||
(set! wasm/context-lost-handler handler)
|
||||
(set! wasm/context-lost-canvas canvas)
|
||||
(.addEventListener canvas "webglcontextlost" handler))
|
||||
(set! wasm/canvas canvas)
|
||||
(.addEventListener canvas "webglcontextlost" on-webgl-context-lost)
|
||||
(set! wasm/context-initialized? true)))
|
||||
|
||||
context-init?))
|
||||
@@ -1278,10 +1280,9 @@
|
||||
(h/call wasm/internal-module "_clean_up")
|
||||
|
||||
;; Remove event listener for WebGL context lost
|
||||
(when (and wasm/context-lost-handler wasm/context-lost-canvas)
|
||||
(.removeEventListener wasm/context-lost-canvas "webglcontextlost" wasm/context-lost-handler)
|
||||
(set! wasm/context-lost-canvas nil)
|
||||
(set! wasm/context-lost-handler nil))
|
||||
(when wasm/canvas
|
||||
(.removeEventListener wasm/canvas "webglcontextlost" on-webgl-context-lost)
|
||||
(set! wasm/canvas nil))
|
||||
|
||||
;; Ensure the WebGL context is properly disposed so browsers do not keep
|
||||
;; accumulating active contexts between page switches.
|
||||
|
||||
@@ -9,8 +9,20 @@
|
||||
|
||||
(defonce internal-frame-id nil)
|
||||
(defonce internal-module #js {})
|
||||
|
||||
;; Reference to the HTML canvas element.
|
||||
(defonce canvas nil)
|
||||
|
||||
;; Reference to the Emscripten GL context wrapper.
|
||||
(defonce gl-context-handle nil)
|
||||
|
||||
;; Reference to the actual WebGL Context returned
|
||||
;; by the `.getContext` method of the canvas.
|
||||
(defonce gl-context nil)
|
||||
|
||||
(defonce context-initialized? false)
|
||||
(defonce context-lost? (atom false))
|
||||
|
||||
(defonce serializers
|
||||
#js {:blur-type shared/RawBlurType
|
||||
:blend-mode shared/RawBlendMode
|
||||
@@ -44,8 +56,3 @@
|
||||
:stroke-linecap shared/RawStrokeLineCap
|
||||
:stroke-linejoin shared/RawStrokeLineJoin
|
||||
:fill-rule shared/RawFillRule})
|
||||
|
||||
(defonce context-initialized? false)
|
||||
(defonce context-lost? (atom false))
|
||||
(defonce context-lost-handler nil)
|
||||
(defonce context-lost-canvas nil)
|
||||
Reference in New Issue
Block a user