Simon Hausmann
604450da47
WIP: slint-compiler: Add support for generating Python stubs
...
The generated file offers the following two pieces of functionality:
- Convenient front-end to slint.load_file() by loading the .slint file
(replaces use of auto-loader)
- More importantly: Type information for exported properties, callbacks,
functions, and globals
2025-07-14 13:36:39 +02:00
Olivier Goffart
4d2ae39f87
Timer: Don't panic if starting timers while drop'ing thread_locals
...
Fixes #8897
2025-07-11 12:24:44 +02:00
Simon Hausmann
0d8ecc6bc6
LinuxKMS: Improve diagnostics when opening the linux framebuffer fails
...
Collect all the error messages and don't just print the last time. The
first one is most likely the interesting one.
2025-07-11 08:30:44 +02:00
Simon Hausmann
168c38899a
LinuxKMS: Add support for overriding the default framebuffer interface selection
...
Fixes #7749
2025-07-11 08:30:44 +02:00
Simon Hausmann
5e8f2e4447
Fix warning with nightly about unnecessary parentheses
2025-07-11 08:26:30 +02:00
Olivier Goffart
e5e3128986
Binding analysis: We shouldn't report binding loop based on base bindings
...
In this case, there is an explicit binding in the PopupWindow::width,
so we shouldn't continue and find loop based on the implicit bindings
Fixes #8889
2025-07-11 05:16:25 +02:00
Olivier Goffart
e04f028c91
Fix default-font-size not working with PopupWindow with the Qt backend
...
We had code on the window to reset the default-font-size property to the
default from the renderer.
For the Qt backend, the PopupWindow being their own Window, this code
was activated also for the PopupWindow's hidden default-font-size
property, which caused all PopupWindow's font to not follow the
default-font-size
Fixes #8855
2025-07-09 17:08:24 +02:00
Simon Hausmann
3101104f5c
Switch from WGPU 24 to WGPU 25
...
- Use a version of FemtoVG that uses WGPU 25
- Rename the unstable-wgpu-24 feature and wgpu_24 module
- Fetch bevy from a revision on master branch that switches to WGPU 25
- Move the bevy example out of the common workspace: That way users of the repo don't get bevy pulled from git, unless they want to build the bevy example.
2025-07-09 11:30:05 +02:00
Olivier Goffart
01850e0b82
C++ live-reload: support getting the model back
2025-07-09 11:23:33 +02:00
Olivier Goffart
43b436a89f
WIP: live-reload for C++
...
Missing feature:
- conversion between Value and enums
- conversion from value to Model
- Compatibility with the testing framework (get the `VRc<ItemTreeTable>` from an instance)
2025-07-09 09:32:17 +02:00
Simon Hausmann
b2b3a09d52
winit: Bump AccessKit versions
2025-07-08 13:16:10 +02:00
Olivier Goffart
5f4a0a352d
live-reload: support slint!()
macro
2025-07-08 12:19:04 +02:00
Olivier Goffart
5af0dd81ab
live-reload: watch the parent directory instead of the files
...
Otherwise that doesn't work when the editor renames the files and then
remove it, such as what vim or helix are doing
Fixes #8857
2025-07-07 13:38:29 +02:00
Olivier Goffart
d49fe14e4a
Menu: avoid using padding properties ( #8847 )
...
Padding properties exists as reserved properties but don't have effect.
But the menu code was using them to store values.
This is now a warning because people got confused by setting padding and
wondering why it has not effect.
This also had some bug in the code were properties were padding was set
on a layout, as well as all the padding-* properties, so the padding was
not taking in account
2025-07-04 16:42:59 +02:00
Olivier Goffart
30a39f3c2b
Flickable: the clip detection shouldn't activate when something holds the grab ( #8844 )
...
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, 1.85) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, 1.85) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.85) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
Otherwise the inner elements stops receiving event once the mouse gets outside of the Flickable.
2025-07-04 12:05:52 +02:00
Olivier Goffart
647dd45213
Make a live reload module in the slint-interpreter
2025-07-04 10:07:22 +02:00
Olivier Goffart
cc9c573c9a
Rust codegen that forward to the interpreter (live-reload)
...
When the SLINT_LIVE_RELOAD env variable is set, generate a component
that will forward everything to the interpreter instead of generating
everything.
Fix running the test driver rust with the SLINT_LIVE_RELOAD
```
SLINT_LIVE_RELOAD=1 cargo test -p test-driver-rust --all-features --features=slint/live-reload
```
2025-07-04 10:07:22 +02:00
Olivier Goffart
ec12f22653
interpreter: Fix panic when a model return invalid value
...
This fixes the test on tests/cases/model/models when using the rust
interpreter, as the second test has a "broken" model, the data is left
uninitialized, and this causes a data of the wrong type which causes
panic when it is being used.
2025-07-04 10:07:22 +02:00
Olivier Goffart
d2b3287876
ComponentHandle: don't rely on the Inner to be a VRc<ItemTreeVTable>
...
Because i want to be able to hold componetns that do not directly
implement ItemTreeVTable, but only forward to it
2025-07-04 10:07:22 +02:00
Olivier Goffart
05f48b0fee
Rust codegen: ensure alignment of Texture
...
CI / test-figma-inspector (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / files-changed (push) Waiting to run
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, 1.85) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, 1.85) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.85) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
Some hardware acceleration routine needs it to be aligned.
(Eg, Otherwise, we get artifacts when drawing RGBA images with nema-gfx)
2025-07-03 12:35:39 +02:00
Olivier Goffart
ced9a60544
compiler: Dialog padding has effect and shouldn't be a warning
2025-07-03 10:25:16 +02:00
Olivier Goffart
a007ca8c60
Add a compiler warning when using padding
outside of layout
...
The padding property is accepted but doesn't have an effect.
It was meant for future use but didn't get any use.
And people get confuse when they set it. (See #8829 )
Closes : #8829
Closes : #6288
2025-07-02 11:08:12 +02:00
Simon Hausmann
bf8729d7f3
winit: Add support for timer based frame throttling ( #8828 )
...
Fixes #8826
2025-07-02 09:37:57 +02:00
Tobias Hunger
7f331c6bd9
compiler: Add SLINT_TEST_FILTER to syntax tests ( #8673 )
...
... so that you can only run certain tests you care for.
2025-07-01 14:24:55 +02:00
Olivier Goffart
5a87491834
Janitor: Fix typo in comments of input.rs
2025-07-01 12:28:13 +02:00
Olivier Goffart
be15b66ba3
Flickable: reject Wheel events in the orthogonal direction
...
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.85) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
Fixes #8798
ChangeLog: Flickable forward wheel event in a orthogonal direction to
their parent
2025-06-30 13:57:52 +02:00
Olivier Goffart
ac24e0274e
Rust: fix compilation if the slint code declares struct named core
2025-06-30 13:36:01 +02:00
Simon Hausmann
b862dc8694
doc: Start a best practices page
2025-06-30 11:51:16 +02:00
Olivier Goffart
73dc1c7cdc
compiler internal docs: expend the menu lowering docs
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, 1.85) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, 1.85) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.85) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
2025-06-29 17:27:15 +02:00
Simon Hausmann
a316d741d5
Update to skia-safe 0.87
...
For details, see https://github.com/rust-skia/rust-skia/releases/tag/0.87.0
2025-06-29 14:27:42 +02:00
+merlan #flirora
9a1ccaf502
Update fdsm
dependency to 0.7.0 ( #8524 )
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.85) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / files-changed (push) Waiting to run
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, 1.85) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, 1.85) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
2025-06-27 08:46:19 +02:00
Simon Hausmann
fae218fa6b
winit: Fix the maximize window not being disabled for fixed-size windows
...
The workaround of PR #6997 does not work anymore as the window is created much later. Apply the workaround when creating the window.
2025-06-26 22:45:37 +02:00
Olivier Goffart
01e6177d08
Reduce the size/alignment of Image
...
Use u32 for the timestamp store as the cache key, this is enough
precision so that there is no practical risk of ducplicates
And remove the Path from no_std as this is not used in this version
2025-06-26 18:45:37 +02:00
Joshua Goins
c09ed19a85
Menu: Add icon property
...
This adds an icon that is displayed to the left of the title, and is
also shown for Menus are inside of a parent menu.
Closes #7791
ChangeLog: Added icon property to MenuItem and Menu
2025-06-26 18:45:37 +02:00
Olivier Goffart
3823c1e8da
Experimental support for Drag & Drop
...
Add a `DragArea` and `DropArea` elements.
It is currently gated as experimental.
2025-06-26 15:39:18 +02:00
Olivier Goffart
47a556d0e7
Core: Pass the MouseEvent by reference
...
(Prepare to add non-copy data in it)
2025-06-26 15:39:18 +02:00
Avery Townsend
d2a5ae03dc
Add local variables ( #8740 )
...
Fixes : #2752
ChangeLog: Added local variable with `let`
2025-06-26 15:36:49 +02:00
Varin Thakur
3640cb8b97
Allow simplified callback handler without curly braces, ( #8764 )
...
Closes #8401
ChangeLog: Callbacks handler no longer need curly-braces. Extra semi-colon is no longer an error.
2025-06-26 15:33:56 +02:00
ogoffart
9cc24ff284
Bump version number to 1.13.0
2025-06-26 13:30:43 +00:00
Simon Hausmann
15944a9a3f
CI: Fix build
...
(ooops)
2025-06-25 21:25:22 +02:00
Simon Hausmann
a30368f0b9
system-testing: Improve error message when image encoding for snapshotting fails, by including the mime type
2025-06-25 21:23:13 +02:00
Simon Hausmann
3596cf3b5d
system-testing: Fix fallback for window image snapshotting
...
Only fall back to PNG if the old protocol is used (where the string would be empty), otherwise fail with an error.
2025-06-25 21:23:13 +02:00
Simon Hausmann
f0c3df815e
system-testing: Make the image format for snapshots configurable
...
Let the image crate pick an encoder by mime-type, otherwise fall back to png.
Renaming the field in the response is compatible, as only the tag
numbers are encoded. Adding a field to the request is also compatible as
every field is optional.
2025-06-25 21:23:13 +02:00
Olivier Goffart
ad2766518e
Fix comparison between int and float
...
We should not cast to int
Fixes #8778
ChangeLog: Fix comparison of int and float
2025-06-25 19:54:15 +02:00
Olivier Goffart
526c5da24c
Don't use the extended debug of the DisplayHandle in the error message
...
Keep the error message in one line.
Error such as
```
Error: Error creating OpenGL display (Ok(
DisplayHandle(
Wayland(
WaylandDisplayHandle {
display: 0x00005641c528e590,
},
),
),
)) with glutin: not found
```
Are not easy to parse because of all the new lines
2025-06-25 15:06:21 +02:00
Simon Hausmann
e45baccaaf
Fix accessing the Platform global from within other globals
...
The platform lowering pass was called before we collected globals, so visit_all_used_components never called the pass on any globals.
Fixes #8777
2025-06-25 12:56:51 +02:00
Olivier Goffart
df7b98ae4d
Fix crash in change callback evaluation
...
Revert part of fd993d0b52
Only keep the change in `evaluate` to fix the leak.
We can't destroy the nodes in mark_dirty as destroying them while
iterating lead to crash
2025-06-25 09:32:20 +02:00
Simon Hausmann
b7926f17f5
winit: Fix window constraints (min, max, pref) not being applied sometimes
...
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / build_and_test (--exclude bevy-example, ubuntu-22.04, 1.82) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, --exclude bevy-example, windows-2022, 1.82) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
We convert constraints into physical sizes so that an overriding scale factor is applied, instead of the windowing system one. However, that breaks when the window isn't known yet *and* there's no overriding scale factor. Store window constraints and pending sizes as logical sizes first.
When applying to a window directly, convert to physical using our own scale factor. When applying on window creation, apply only an overriding scale factor, otherwise let winit apply the scale factor, because we don't know the final value only after window creation.
Fixes #8765
Fixes #8736
2025-06-24 22:30:45 +02:00
Olivier Goffart
fd993d0b52
Fix memory leak with change handler
...
The dependency nodes would be leaked.
(This was particularly bad for the ones from the Flickable's bounds
change tracker since that one has many dependencies, while most change
tracker only have one)
Fixes #8768
2025-06-24 16:41:52 +02:00
Olivier Goffart
1bd5183629
Fix UB when a change tracker gets deleted as a result of that change tracker evaluation
...
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / build_and_test (--exclude bevy-example, ubuntu-22.04, 1.82) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, --exclude bevy-example, windows-2022, 1.82) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
Don't drop the ChangeTracker's BindingHolder if it is currently being
evaluated as we still need it later.
There was also a bug in DependencyListHead::clear as it was not properly
updating all the field, and the use of for_each was problematic if nodes
gets delete as we iterate.
Fixes #8741
2025-06-23 16:39:03 +02:00