16 Commits
Author SHA1 Message Date
Alex Jbanca d8b0542011 ci(windows): patch Qt 5.15 headers for MSVC STL stdext removal
GitHub's windows-latest image now ships VS 17.12+, whose STL removed
stdext::(un)checked_array_iterator; Qt 5.15.2's qcompilerdetection.h
still expands QT_MAKE_CHECKED_ARRAY_ITERATOR to it, breaking the build
inside Qt's own headers (QTBUG-118993). Rewrite the two defines to the
portable raw-pointer fallback after installing Qt. Also disable
fail-fast so the Qt 6 leg isn't cancelled by a 5.15 failure.
2026-07-27 14:02:31 +03:00
Alex Jbanca 13db83cf62 fix(ModelQuery): pin CppOwnership on QObject role values returned to JS
A Q_INVOKABLE returning a QVariant holding a QObject* makes the object
destructible by the JS GC (qv4qobjectwrapper transfers ownership unless
explicitly set). ModelQuery::get(model, row, roleName) returns nested
submodels (e.g. QQmlListModel's cached nested models) this way; the GC
could delete them while the source model still owns them, causing a
double-free/UAF in ListModel::destroy() on model teardown.
2026-07-27 14:02:31 +03:00
Lukáš Tinkl b249dc22be chore: fix building against Qt 6.11
- use the static QQmlPropertyMap::create() method instead of the
deprecated CTOR
2026-03-23 18:43:30 +01:00
Khushboo Mehta af59b81bc1 fix: This fixes the crash in ObjectProxy Model when the QML Context
becomes invalid
2025-12-05 15:14:30 +01:00
Alex Jbanca 8a6632b94e perf(LeftJoinModel): Add LRU cache for right model data access
The right model data access is expensive because we need to search the right model for a matching key on every `data` call. This commit adds a LRU cache to the `data` call, storing by default up to 1000 rows.

The cache mechanism uses a QCache for fast index lookup and a std::list to preserve the access order and to ensure a controlled cache removal.

+ fix compilation errors on ConcatModel and WritableProxyModel
2025-08-15 16:17:16 +03:00
Michał Cieślak 99588ada43 README updated 2025-07-10 10:47:09 +02:00
Michał Cieślak bb9f2ff117 Compatibility tests for SFPM added 2025-07-10 10:47:09 +02:00
Michał Cieślak 85ee42b29c TestModel extended to mimick ListModel's behavior
The TestModel can simulate 1-1 behavior of ListModel related
to QTBUG-57971.
2025-07-10 10:47:09 +02:00
Michał Cieślak 854675e7a5 Specific version of SFPM pinned 2025-07-10 10:47:09 +02:00
Michał Cieślak 362de52492 QtTest -> QTest imports fix
Wide module imports fixed.
2025-07-10 10:47:09 +02:00
Michał Cieślak e0ca6ee482 LeftJoinModel re-init and reset on sources reset
The LJM had incorrect handling of source models (left/right) reset.
2025-07-07 15:26:39 +02:00
Michał Cieślak 3e2454d8a7 WritableProxyModel: layout change handling fixed 2025-07-04 11:35:47 +02:00
Michał Cieślak 109fbd4225 LeftJoinModel improvements
- proper handling of source models reset (left and right)
- removed QQmlParserStatus inheritance
- emiting model reset only if needed to simplify upstream models
  initialization
2025-07-04 11:35:47 +02:00
Michał Cieślak 6939f497ec TestModel extended to init empty and reset with new data 2025-07-04 11:35:47 +02:00
Michał Cieślak dc138d1c8a add -Wall -Wextra and releated fixes 2025-06-19 02:46:16 +02:00
Michał Cieślak 777b05cc98 initial commit 2025-06-13 16:25:14 +02:00