- `touch_handle` can't be initialized with an optional anymore, it is a
pointer.
- Take the opportunity to actually initialize the touch handle.
- `bsp/display.h` for the box3 fails to compiled if it is included
before `bsp/esp-bsp.h`
Round the value.
The previous behavior is that
- For the interpreter, we were rounding (same as new behavior)
- for Rust and C++ we were truncating, unless the properties were
inlinined and then we were keeping it as float
Fix#5646
Qt is a bit more involved since it always put scrollbar if there is a ScrollArea and we can't
easily know the size to which make the popup. That's why it needs two popups
This is a workaround for the compositor on WSL tending to crash.
Unfortunately we can't just try to create an event loop with x11 first
and then re-try with wayland, winit doesn't allow that. So just avoid
wayland for now.
The long term solution #5667Fixes#5657
We were trying to convert a node to a wrong kind of node.
Then of course it didn't have the expected children
In debug mode you'd have
```
assertion `left == right` failed
left: SubElement
right: Component
```
from the debug_assert! in `$Node::from`
I changed the call to `.into` to a call to `$Node::new` that return an
option.
Also made the debug_assert into an assert and added track_caller so such
problem are easier to debug in the future. (Retrospectively, we probably
shouldn't have derived From for $Node)
Fix#5642
The change contains no tests because the is_recursive_inclusion function
is currently not tested and would need some effort to create a test
before
```
error: Uncaught (in promise) Error: Could not compile ui/appwindow.slint
at loadSlint (file:///home/mrcool/.cache/deno/npm/registry.npmjs.org/slint-ui/1.7.0/index.js:464:19)
at Module.loadFile (file:///home/mrcool/.cache/deno/npm/registry.npmjs.org/slint-ui/1.7.0/index.js:644:12)
at file:///home/mrcool/dev/deno/lab/memory/src/main.ts:3:23
```
after
```
error: Uncaught (in promise) Error: Could not compile ui/appwindow.slint
Diagnostics:
[ui/appwindow.slint:4:5] Unknown type MemoryTile
at loadSlint (file:///home/mrcool/.cache/deno/npm/registry.npmjs.org/slint-ui/1.7.0/index.js:468:19)
at Module.loadFile (file:///home/mrcool/.cache/deno/npm/registry.npmjs.org/slint-ui/1.7.0/index.js:648:12)
at file:///home/mrcool/dev/deno/lab/memory/src/main.ts:3:23
```
... when deciding whether or not we are dropping into a layout or not.
Components that take @children (like a GroupBox) were misrecognized before.
This is a bit tricky as the optimized Elements do not allow to find out whether
something had a child insertion point. So I need to convert over to the
unoptimized Element found in my `document_cache`.
Unfortunately there the lowering pass for the layouts has not been done yet,
so my "normal" approach to figuring out whether something is a layout or not
does not work anymore:-/
I ended up duplicating the logic of the layout lowering step: Match specific
type names for Builtin types. That's not nice and should be cleaned up at
some point.