Commit graph

158 commits

Author SHA1 Message Date
Olivier Goffart
63785fd262
vtable: fix for warning with the nightly rust compiler
```
warning: non-local `macro_rules!` definition, `#[macro_export]` macro should be written at top level module
   --> helper_crates/vtable/tests/test_vtable.rs:159:5
    |
159 |     #[vtable]
    |     ^^^^^^^^^ in this procedural macro expansion
    |
    = help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current function `test3`
```

Put the macro in the module with everything else, so it is re-exported
with the same visibility
2024-09-26 09:35:12 +02:00
Tobias Hunger
e0ac115edd janitor: vtable: Fix struct SelfInfo is never constructed
Fix a build time warning.
2024-07-01 12:38:34 +02:00
Tobias Hunger
18e7ed2626 janitor: Fix clippy "doc list item missing indentation" 2024-06-24 14:59:47 +02:00
Tobias Hunger
2e3b00e38e janitor: Fix some clippy warnings pre-release
Nothing that should be controversial, but the
`internal/compiler/builtin_macros.rs` could point to a thinko in the original
commit.
2024-05-06 16:47:14 +02:00
Olivier Goffart
e34d5f61a5 Prepare for release of helper crates 2024-03-14 08:52:09 +01:00
Olivier Goffart
8bc4c4e053 vtable: increase version number to account for breaking change in vtable::Dyn 2024-02-26 14:45:47 +01:00
Olivier Goffart
8888e547a5 vtable: Fix soundess issue of VRc::into_dyn for !Send types
Dyn is currently Send+Sync, so `VRc<WhateverVTable, Dyn>` is also
Send+Sync. So we shouldn't really allow conversion between
`VRc<WhateverVTable, SomeThingNotSend>` to `VRc<_, Dyn>` that can be
sent between threads

This is a breaking change of the vtable crate, but also a soundness fix

Also VRc shouldn't be shared between thread if the vtable itself can't
be shared between threads
2024-02-26 14:45:47 +01:00
Olivier Goffart
fa05f1091e vtable: fix clippy warnings
```
warning: this expression creates a reference which is immediately dereferenced by the compiler
   --> helper_crates/vtable/src/vrc.rs:109:56
    |
109 |                 let mut layout = VTable::drop_in_place(&*vtable, data);
    |                                                        ^^^^^^^^ help: change this to: `*vtable`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
    = note: `#[warn(clippy::needless_borrow)]` on by default

warning: this expression creates a reference which is immediately dereferenced by the compiler
   --> helper_crates/vtable/src/vrc.rs:124:37
    |
124 |                     VTable::dealloc(&*vtable, self.inner.cast().as_ptr(), layout);
    |                                     ^^^^^^^^ help: change this to: `*vtable`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
```
2024-02-26 12:30:16 +01:00
Olivier Goffart
73187356b9 vtable: prepare for 0.1.12 release 2024-02-26 12:26:20 +01:00
Olivier Goffart
5605c606ca vtable: fix UB detected as miri errors
We can't create references for things that aren't represented by the
reference. Even if we never dereference that reference.

Also add a miri test in the CI that runs the test on crate which are
error free.
2024-02-21 08:12:18 +01:00
Tobias Hunger
a8f912900b janitor: Fix warnings in nightly about redandant use 2024-02-19 17:05:21 +01:00
Tobias Hunger
783083868a janitor: Fix clippy errors about wrong clone implementations
... for Copy types.
2023-09-20 20:23:38 +02:00
Simon Hausmann
3a55dae0af Bump vtable version 2023-09-04 10:30:10 +02:00
Tobias Hunger
2aecba2e90 xtask: Fix license symlinks after the latest license header changes 2023-08-17 08:55:28 +02:00
Tobias Hunger
0139eea4f9 xtask: Fix up license headers
* Keep project related .md files triple licensed as the rest of the
  crate
* Make vtable MIT OR Apache 2.0 (as suggested by @ogoffart)
2023-08-17 08:55:28 +02:00
Simon Hausmann
96d7bb132c reuse: remove glob for markdown files
Instead, place the copyright and license right into the source.

To satisfy reuse, this also removes the unnecessary MIT.txt
symlinks.
2023-08-17 08:55:28 +02:00
Tobias Hunger
09d3eaf00a Update license symlinks
run `cargo xtask check_reuse_compliance --fix-symlinks`
2023-08-16 11:46:15 +02:00
Olivier Goffart
7f0ba774ec Use portable_atomic instead of deprecated atomic_polyfill 2023-08-10 13:12:04 +02:00
Aurindam Jana
5a4a7fee63
Update royalty free license to 1.1 (#2994) 2023-07-10 10:12:11 +02:00
Tobias Hunger
e02c360000 Clippy polish 2023-06-28 14:22:30 +02:00
Olivier Goffart
9b59036816 Add licenses symlinks 2023-06-26 13:12:29 +02:00
Olivier Goffart
11dea135f7 Domain: slint-ui.com -> slint.dev 2023-06-16 10:55:08 +02:00
Tobias Hunger
04d1229685 Fix licnese information using xtask 2023-06-16 09:14:20 +02:00
Aurindam Jana
039e54a5de
Add royalty free license to files except examples and docs (#2888) 2023-06-15 11:20:50 +02:00
Olivier Goffart
cae1ef1238 Date in Changelog for the release 2023-04-03 07:29:02 +02:00
Olivier Goffart
a2a29862a2 vtable: update syn 2023-03-22 09:49:54 +01:00
Tobias Hunger
9b30cacd0c vtable-macro: Fix syntax error in Cargo.toml 2022-10-26 08:59:36 +02:00
Simon Hausmann
27fea8b9f3 Fix rustdoc warnings with nightly
Use backticks as recommended by rustdoc for items that could be interpreted as HTML tags.
2022-10-12 17:29:46 +02:00
Olivier Goffart
9cab0747b5 Ensure vtable and vtable-macro have the same version 2022-09-14 14:41:04 +02:00
Olivier Goffart
37f6d3185b Update vtable changelog 2022-09-14 14:38:34 +02:00
Olivier Goffart
2dddce7536 Update atomic-polyfill
Since the new version also depends on the ctirical-section 1.0 crate
we need to enable the relevant API in the cortex-m crate because the
rp2040-hal doesn't have it yet
2022-08-22 13:16:30 +02:00
Olivier Goffart
a1724602e6 Skia: Cache the Skia image in the core image cache
Because re-generating the Skia image is slow and there is no point
storing both the image buffer and the SkiaImage in the cache as it
is basically the same information.
2022-08-16 11:22:11 +02:00
Simon Hausmann
2bf3f8389e Add test and ChangeLog entry for VRc::map_dyn 2022-07-22 23:09:08 +02:00
Simon Hausmann
3276d2b2cd Add doc link
Co-authored-by: Olivier Goffart <olivier.goffart@slint-ui.com>
2022-07-22 23:09:08 +02:00
Simon Hausmann
a5cd0a7173 Simplify window item interaction in the core library
Simlify the borrow_pin / downcast_pin dance a little by using VRcMapped.
2022-07-22 23:09:08 +02:00
Olivier Goffart
65346c699c Attempt to get the "image-in-corelib" feature compile with C++ 2022-07-20 12:57:37 +02:00
Olivier Goffart
ced9504635 Fix warning in nightly rust
```
warning: unused return value of `alloc::boxed::Box::<T>::from_raw` that must be used
Warning:    --> internal/core/properties.rs:382:9
    |
382 |         Box::from_raw(_self as *mut BindingHolder<B>);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: call `drop(from_raw(ptr))` if you intend to drop the `Box`
```

Just do what the note says
2022-07-18 16:21:27 +02:00
Olivier Goffart
dacc01a583 vtable 0.1.8 released 2022-07-05 16:57:24 +02:00
Olivier Goffart
615c7635ee Qt: use a HashMap for the cache
And not the cache dirrectly within the item, because it is already in use
for the partial rendering
2022-05-31 10:48:24 +02:00
Olivier Goffart
91acbeed92 VTable: use NonNull as internal data.
That way, `Option<VBox<X>>` has the same layout as `VBox<X>`
2022-05-30 13:54:35 +02:00
Olivier Goffart
530623a61b vtable: update changelog for release 2022-05-04 09:30:09 +02:00
Tobias Hunger
c825eee228 janitor: Update global cspell
Update global cspell words and remove some file-wide words.

Also remove a manual test that is now also run as a proper test case.
2022-04-12 12:03:45 +02:00
Olivier Goffart
d0501b4f3c Bump vtable version
Commit 99ac33c440 make use of the new Debug impl
in ctable from corelib, so we must update the minimum required version
from its Cargo.toml
2022-04-07 11:17:50 +02:00
Tobias Hunger
99ac33c440
Debug for ItemRc (#1151)
* vtable: Add Debug implementation to VRc

This will just print the pointer value to be able to destinguish between
different VRcs.

* Derive Debug implmentation for ItemRc

This needs vtable::VRc to have a Debug implementation!

* Update helper_crates/vtable/src/vrc.rs

Co-authored-by: Simon Hausmann <simon.hausmann@slint-ui.com>
2022-04-06 16:14:30 +02:00
Tobias Hunger
626f7c64fc vtable: Quieten possible warning about unused unsafe 2022-03-22 18:33:15 +01:00
Tobias Hunger
86a6add32c janitor: Fix typos and make cspell happy 2022-03-18 10:15:44 +01:00
Olivier Goffart
c35e4dfdc8 vtable: fix the changelog date 2022-03-09 14:06:33 +01:00
Tobias Hunger
f3feab1267
Implement ptr_eq for VWeak and PartialEq for Items (#976)
* Implement ptr_eq for VWeaks

Co-authored-by: Simon Hausmann <simon.hausmann@slint-ui.com>
2022-02-21 17:45:18 +01:00
Tobias Hunger
58e7caafb0
Fix LICENSES symlinks 2022-02-09 17:05:47 +01:00
Tobias Hunger
4230ac2572
Update copyright information to reflect name change
Also run resue over the codebase and fix complaints from that tool.
2022-02-09 10:27:47 +01:00