vandenoever (Jos van den Oever)
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Friday

  • Clear sailing ahead.

User Details

User Since
Jul 9 2015, 3:00 PM (167 w, 5 d)
Availability
Available

Recent Activity

Yesterday

vandenoever committed R881:0294ed948b45: Add a link to a presentation (authored by vandenoever).
Add a link to a presentation
Tue, Sep 25, 7:49 PM
vandenoever committed R881:ad8dd3223593: Add two more links to tutorials (authored by vandenoever).
Add two more links to tutorials
Tue, Sep 25, 7:47 PM

Tue, Sep 18

vandenoever added a comment to D14634: Add moveable objects.

Sure, i can give comments via Phabricator.

Tue, Sep 18, 8:29 PM
vandenoever added a comment to D14634: Add moveable objects.

This could certainly become a separate experimental branch. You have commit access and also the ability to make a new branch (I think). Note however, that branches are not easily deleted on KDE infrastructure. Creating a branch moveable_objects is fine with me.

Tue, Sep 18, 7:58 PM
vandenoever added a comment to D14634: Add moveable objects.

Deleting the QObject is now no memory issue. That's good progress.
I'm still wondering about the Rust side of the replaceableObject. The Rust struct should be tied to the replaceableObject.
A good practice might be to use something like

rust
struct InnerObjectData {
    ...
}
type InnerObject = Arc<Mutex<InnerObjectData>>;
Tue, Sep 18, 7:23 PM

Sun, Sep 16

vandenoever accepted D15553: Use nullptr in generated C++ sources.
Sun, Sep 16, 5:11 PM
vandenoever accepted D15552: Remove unused QWidget dependecy from Todo example app.
Sun, Sep 16, 5:10 PM
vandenoever accepted D15545: Use Q_SIGNALS/Q_EMIT instead of signals/emit in generated sources.

Better safe than sorry. I was not familiar with this practice. I looked for some information on it and found these https://www.kdab.com/kdab-contributions-to-qt-5-0-part-5/ I found no qt.io docs on QT_NO_SIGNALS_SLOTS_KEYWORDS but using Q_SIGNALS is listed as a good idea at http://doc.qt.io/qt-5/qobject.html#Q_SIGNALS.

Sun, Sep 16, 7:05 AM

Sat, Sep 15

vandenoever accepted D15541: Add break; statements in the generated switch code for model::data().

Very good. Weirdly, my compiler did not complain about this.

Sat, Sep 15, 7:59 PM

Tue, Sep 11

vandenoever committed R881:0192124c7087: Fix some clippy issues in written and generated code (authored by vandenoever).
Fix some clippy issues in written and generated code
Tue, Sep 11, 11:12 PM
vandenoever committed R881:9549c5021717: Automatically update index when calling layoutChanged (authored by vandenoever).
Automatically update index when calling layoutChanged
Tue, Sep 11, 11:12 PM

Sat, Sep 8

vandenoever committed R881:f0eb78457bbd: Make the model struct that emits model signals clonable (authored by vandenoever).
Make the model struct that emits model signals clonable
Sat, Sep 8, 9:13 PM
vandenoever committed R881:96376517c699: Add bindings for layoutAboutToBeChanged and layoutChanged (authored by vandenoever).
Add bindings for layoutAboutToBeChanged and layoutChanged
Sat, Sep 8, 8:49 PM
vandenoever committed R881:b702c980afc5: Add bindings for beginMoveRows and endMoveRows (authored by vandenoever).
Add bindings for beginMoveRows and endMoveRows
Sat, Sep 8, 7:54 PM
vandenoever committed R881:2a3123eda3d5: Consistently use Option instead of two arguments (value and bool) (authored by vandenoever).
Consistently use Option instead of two arguments (value and bool)
Sat, Sep 8, 7:54 PM
vandenoever committed R881:754214e7b48e: snapshot (authored by vandenoever).
snapshot
Sat, Sep 8, 7:54 PM

Aug 26 2018

vandenoever committed R881:32fed925e9ad: Intruduce rustByFunction (authored by vandenoever).
Intruduce rustByFunction
Aug 26 2018, 5:47 PM

Aug 19 2018

vandenoever added a comment to D14634: Add moveable objects.

Here is test that could be added for the delete functionality:

void TestRustObjects::testObjectSetterDelete()
{
    // GIVEN
    Person person;
    InnerObject* inner = new InnerObject();
    QSignalSpy spy(&person, &Person::replaceableObjectChanged);
Aug 19 2018, 8:37 AM
vandenoever added a comment to D14634: Add moveable objects.

The reason why the above test works is

rust
#[derive(Clone)]
pub struct InnerObjectEmitter {
    qobject: Arc<Mutex<*const InnerObjectQObject>>,
    description_changed: fn(*const InnerObjectQObject),
}

The qobject is in an Arc, so when you clone it, it's not cloned, but another reference is created. When that referenced object is set to null, the reference in Person will also be null.
However any other information that got cloned is probably not wrapped in Rc or Arc. The question is if that is cloning is the intended behavior or if a single reference is desired.
The current patch allows both, but requires the user to be aware of the issue. This could be helped by documenting clearly how this works.

Aug 19 2018, 7:09 AM

Aug 18 2018

vandenoever added a comment to D14634: Add moveable objects.

I tried to find an easy error in the patch with this code:

Person person;
InnerObject* inner = new InnerObject();
person.setReplaceableObject(inner);
delete inner;
QCOMPARE(person.replaceableObject(), nullptr);

To my astonishment, this test passes. How does the code know that the object is null?

Aug 18 2018, 9:44 PM
vandenoever added a comment to D14634: Add moveable objects.

No more copy constructors saves a lot of code. :-) I'll continue the review with this new version.

Aug 18 2018, 7:03 PM
vandenoever added a comment to D14634: Add moveable objects.

The Qt documentation says that QObject and derived classes should not have copy constructor or assignment operator. Is it possible to make the same functionality without them?

Aug 18 2018, 1:26 PM
vandenoever added a comment to D14634: Add moveable objects.

The copy constructor that is causing the double free is not used in the test code. Where is it needed? I've thought about it some more and see that copying the object causes more problems. If you copy an object, what do you do with the signal/slot bindings? Only one of the copies will have the binding, so when you want to remove the binding you'll have to remove it from the same copy.

Aug 18 2018, 8:13 AM
vandenoever added a comment to D14634: Add moveable objects.

This is a good start to making the nesting of binding objects more flexible.

Aug 18 2018, 7:58 AM

Aug 17 2018

vandenoever abandoned D11232: Make qstring_t and qbytearray_t into POD types.

Similar code has been committed a while ago.

Aug 17 2018, 8:16 AM
vandenoever closed D7704: add rust-qt-binding-generator to the CI system.
Aug 17 2018, 8:14 AM

Aug 16 2018

vandenoever awarded T9390: Next Gen MTP a Like token.
Aug 16 2018, 10:56 AM · Frameworks

Aug 6 2018

vandenoever added a comment to D14634: Add moveable objects.

The null_mut is not urgent and can be made nice later. A good test that shows how to use the features is required to let he code be maintainable.

Aug 6 2018, 8:51 PM

Aug 5 2018

vandenoever requested changes to D14634: Add moveable objects.

This code is quite tricky, so I'd like it if it had some tests.

Aug 5 2018, 7:13 PM
vandenoever committed R881:ee5df0337bb0: Fix test in testQuoteBytesFunction: it should compare to QByteArray (authored by vandenoever).
Fix test in testQuoteBytesFunction: it should compare to QByteArray
Aug 5 2018, 6:04 PM
vandenoever committed R881:5b458fddde4b: Adapt quote_bytes test so it return QByteArray which was not yet tested (authored by vandenoever).
Adapt quote_bytes test so it return QByteArray which was not yet tested
Aug 5 2018, 5:52 PM
vandenoever committed R881:73b9c89b3032: Check function parameters and return type for use of QString and QByteArray (authored by vandenoever).
Check function parameters and return type for use of QString and QByteArray
Aug 5 2018, 5:52 PM
vandenoever committed R881:cdc50304b3a5: Remove unneeded boolean hasStringWrite (authored by vandenoever).
Remove unneeded boolean hasStringWrite
Aug 5 2018, 5:36 PM
vandenoever committed R881:b32ed198c729: Merge branch 'master' of git://anongit.kde.org/rust-qt-binding-generator (authored by vandenoever).
Merge branch 'master' of git://anongit.kde.org/rust-qt-binding-generator
Aug 5 2018, 12:45 PM
vandenoever committed R881:26eacf2095e5: Update templates and example to latest version of rust_qt_binding_generator (authored by vandenoever).
Update templates and example to latest version of rust_qt_binding_generator
Aug 5 2018, 12:43 PM
vandenoever committed R881:c4d9b0408343: Update to CMake 3.10 so that AUTOMOC scans generated files (authored by vandenoever).
Update to CMake 3.10 so that AUTOMOC scans generated files
Aug 5 2018, 12:43 PM
vandenoever committed R881:c5b09ca04c06: Fix the generated implementation.rs variable name (authored by vandenoever).
Fix the generated implementation.rs variable name
Aug 5 2018, 12:43 PM
vandenoever committed R881:ac286829bae7: Remove unneeded parentheses (authored by vandenoever).
Remove unneeded parentheses
Aug 5 2018, 12:43 PM

Jun 30 2018

vandenoever committed R881:233cab0bfca0: Update generated interface.rs files (authored by vandenoever).
Update generated interface.rs files
Jun 30 2018, 6:25 PM
vandenoever committed R881:7f2f4b71a47d: Prefix signal with property name (authored by vandenoever).
Prefix signal with property name
Jun 30 2018, 6:25 PM

Jun 25 2018

vandenoever accepted D13719: OdfExtractor: deal with non-common prefix names.

Good fixes. Just some small naming suggestions.

Jun 25 2018, 5:30 PM · Baloo, Frameworks

Jun 22 2018

vandenoever accepted D13631: Add metadata extraction plugin for ODF files.
Jun 22 2018, 10:02 PM
vandenoever added a comment to D13631: Add metadata extraction plugin for ODF files.

Looks good. Certainly good enough. I think it's readable.

Jun 22 2018, 4:02 PM

Jun 21 2018

vandenoever added a comment to D13631: Add metadata extraction plugin for ODF files.

If you want to be really correct, you have to remove foreign elements first or parse in a way that you ignore foreign elements.

Jun 21 2018, 5:38 PM
vandenoever added a comment to D13631: Add metadata extraction plugin for ODF files.

QDomDocument is lazy, you have to explicitly ask for namespace processing.

Jun 21 2018, 5:00 PM

Jun 20 2018

vandenoever added a comment to D13631: Add metadata extraction plugin for ODF files.

Don't feel bad. I'm not even sure what this patch will do. I guess KRename has some renaming rules where you can use extracted information.

Jun 20 2018, 9:10 PM
vandenoever added a comment to D13631: Add metadata extraction plugin for ODF files.

Apart from that I do not see any bugs, just differences in taste which I commented on and you can take as you see fit.

Jun 20 2018, 7:34 PM
vandenoever requested changes to D13631: Add metadata extraction plugin for ODF files.

I added a comment that was apparently lost in my first review.

Jun 20 2018, 7:32 PM
vandenoever requested changes to D13631: Add metadata extraction plugin for ODF files.

Nice addition! You might want to apply some of the suggested changes.

Jun 20 2018, 5:33 PM

Jun 8 2018

vandenoever committed R881:916d59ac1640: Update generated source code (authored by vandenoever).
Update generated source code
Jun 8 2018, 12:21 PM
vandenoever committed R881:7d4b55b90afc: Use "index" instead of "item" for the index in the model (authored by vandenoever).
Use "index" instead of "item" for the index in the model
Jun 8 2018, 12:21 PM
vandenoever committed R881:d55eadb972c5: Simplifiy .gitignore (authored by vandenoever).
Simplifiy .gitignore
Jun 8 2018, 12:21 PM

May 19 2018

vandenoever committed R881:b8fcb6711201: Add function to look up role number from role name (authored by vandenoever).
Add function to look up role number from role name
May 19 2018, 3:08 PM
vandenoever committed R881:9822dcef071f: Simplify the example by removing the optional roles property (authored by vandenoever).
Simplify the example by removing the optional roles property
May 19 2018, 2:47 PM
vandenoever committed R881:e3bfa85849a9: Make the roles property in the bindings.json optional (authored by vandenoever).
Make the roles property in the bindings.json optional
May 19 2018, 12:03 PM

May 18 2018

vandenoever committed R881:259015d8b538: Add line breaks (authored by vandenoever).
Add line breaks
May 18 2018, 6:07 PM
vandenoever committed R881:fb972b111923: Add an exception to the license: no copyright claim on generated code (authored by vandenoever).
Add an exception to the license: no copyright claim on generated code
May 18 2018, 6:05 PM
vandenoever committed R881:07517824ab07: Add screenshot of example application (authored by vandenoever).
Add screenshot of example application
May 18 2018, 4:51 PM
vandenoever committed R881:574440ba588b: Add example Todos application from FOSDEM presentation (authored by vandenoever).
Add example Todos application from FOSDEM presentation
May 18 2018, 4:37 PM
vandenoever committed R881:f4ffeeda9174: Fix typo (authored by vandenoever).
Fix typo
May 18 2018, 1:05 PM
vandenoever committed R881:c27e451066b4: Check conversion between c_int and usize (authored by vandenoever).
Check conversion between c_int and usize
May 18 2018, 7:38 AM

May 17 2018

vandenoever committed R881:8949026c63da: Make primitive types more precise and add test (authored by vandenoever).
Make primitive types more precise and add test
May 17 2018, 8:47 AM

May 16 2018

vandenoever committed R881:75d540694389: Add more tests (authored by vandenoever).
Add more tests
May 16 2018, 8:38 PM
vandenoever committed R881:e636d82da59f: More precise types (authored by vandenoever).
More precise types
May 16 2018, 5:19 PM

May 15 2018

vandenoever committed R881:392153f9a931: Allow optional primitive object properties (authored by vandenoever).
Allow optional primitive object properties
May 15 2018, 7:45 PM
vandenoever committed R881:a051556990de: Add more tests (authored by vandenoever).
Add more tests
May 15 2018, 3:09 PM

May 13 2018

vandenoever committed R881:57d557378ee6: Update template projects to not use struct qstring_t (authored by vandenoever).
Update template projects to not use struct qstring_t
May 13 2018, 1:11 PM
vandenoever committed R881:7fb53a8916f1: Merge branch 'master' of git://anongit.kde.org/rust-qt-binding-generator (authored by vandenoever).
Merge branch 'master' of git://anongit.kde.org/rust-qt-binding-generator
May 13 2018, 1:11 PM
vandenoever committed R881:6099ee3c3d0c: Add more integer types (authored by vandenoever).
Add more integer types
May 13 2018, 1:11 PM
vandenoever committed R881:12cebe88bb60: Make sure that the optional types in the bindings are POD types (authored by vandenoever).
Make sure that the optional types in the bindings are POD types
May 13 2018, 1:11 PM
vandenoever committed R881:848b472c3fc4: Use QVariant::fromValue and QVariant::setValue to avoid type conversion (authored by vandenoever).
Use QVariant::fromValue and QVariant::setValue to avoid type conversion
May 13 2018, 1:11 PM
vandenoever committed R881:c87339ed6a82: Add type check when converting QVariant in QAbstractItemModel::setData (authored by vandenoever).
Add type check when converting QVariant in QAbstractItemModel::setData
May 13 2018, 1:11 PM
vandenoever committed R881:4dba74acbd31: Beter whitespace (authored by vandenoever).
Beter whitespace
May 13 2018, 1:11 PM
vandenoever committed R881:8ccb2e519b76: cleanup (authored by vandenoever).
cleanup
May 13 2018, 1:11 PM
vandenoever committed R881:67e6e8a9bf4f: Convert test_functions (authored by vandenoever).
Convert test_functions
May 13 2018, 1:11 PM
vandenoever committed R881:5bcb96b56124: Convert test_object_list (authored by vandenoever).
Convert test_object_list
May 13 2018, 1:11 PM
vandenoever committed R881:af7b64b82d03: Convert demo (authored by vandenoever).
Convert demo
May 13 2018, 1:11 PM
vandenoever committed R881:18368ee14285: Convert test_object_types (authored by vandenoever).
Convert test_object_types
May 13 2018, 1:11 PM
vandenoever committed R881:fb6e2c933fda: Convert test_object (authored by vandenoever).
Convert test_object
May 13 2018, 1:11 PM

May 1 2018

vandenoever committed R881:d289bbdb6828: Add two tools to the Docker for convenience (authored by vandenoever).
Add two tools to the Docker for convenience
May 1 2018, 12:56 PM
vandenoever committed R881:f848b4f80f54: Add debug information to release builds of test and demo (authored by vandenoever).
Add debug information to release builds of test and demo
May 1 2018, 12:56 PM
vandenoever committed R881:b3f2afcd0d1a: snapshot (authored by vandenoever).
snapshot
May 1 2018, 12:56 PM

Apr 30 2018

vandenoever committed R881:56552a2d8626: Upgrade Docker image to latest Ubuntu version (authored by vandenoever).
Upgrade Docker image to latest Ubuntu version
Apr 30 2018, 2:50 PM
vandenoever committed R881:d3134229ae60: Add package ca-certificates (authored by vandenoever).
Add package ca-certificates
Apr 30 2018, 2:44 PM

Apr 29 2018

vandenoever committed R881:4cce277554ff: snapshot (authored by vandenoever).
snapshot
Apr 29 2018, 10:14 AM

Mar 17 2018

vandenoever accepted D11376: Install ca-certificates in docker image.

Looks good.

Mar 17 2018, 9:03 PM

Mar 11 2018

vandenoever added inline comments to D11232: Make qstring_t and qbytearray_t into POD types.
Mar 11 2018, 7:56 PM
vandenoever added inline comments to D11232: Make qstring_t and qbytearray_t into POD types.
Mar 11 2018, 7:27 PM
vandenoever added a comment to D11078: Fix crash stemming from mismatch of the C++ and Rust interfaces bug #389419.

See D11232 for a different approach.

Mar 11 2018, 2:28 PM
vandenoever updated the diff for D11232: Make qstring_t and qbytearray_t into POD types.

This patch now takes the opposite approach of what @illis proposes in D11078. The function on the rust side is sent as a pointer.

Mar 11 2018, 2:21 PM
vandenoever requested review of D11232: Make qstring_t and qbytearray_t into POD types.
Mar 11 2018, 1:31 PM
vandenoever committed R881:50ac9c3541c2: Add git to the docker image (authored by vandenoever).
Add git to the docker image
Mar 11 2018, 10:56 AM
vandenoever added a comment to D11078: Fix crash stemming from mismatch of the C++ and Rust interfaces bug #389419.

I'd have thought the same docker on the same hardware would give the same compiled code. I'll have a go at making a version of the patch where there are no qbytearray_t and no qstring_t.

Mar 11 2018, 10:52 AM

Mar 10 2018

vandenoever added a comment to D11078: Fix crash stemming from mismatch of the C++ and Rust interfaces bug #389419.

qbytearray_t and qstring_t are passed to C, so they should be PODs. This requires quite large changes.

Mar 10 2018, 11:26 PM
vandenoever added a comment to D11078: Fix crash stemming from mismatch of the C++ and Rust interfaces bug #389419.

After testing, I found that this patch crashes the demo in my docker on a 64 bit machine.

Mar 10 2018, 11:02 PM

Feb 7 2018

vandenoever committed R881:16f642ddc689: Add make to the Docker image (authored by vandenoever).
Add make to the Docker image
Feb 7 2018, 11:31 AM
vandenoever committed R881:36f92873720b: Run apt update before each apt command (authored by vandenoever).
Run apt update before each apt command
Feb 7 2018, 11:31 AM

Jan 31 2018

vandenoever committed R881:7345b9fada2c: Use ubuntu instead of neon as base for the docker image (authored by vandenoever).
Use ubuntu instead of neon as base for the docker image
Jan 31 2018, 2:17 PM
vandenoever committed R881:67abcae56410: Fix possible anchor loop (authored by vandenoever).
Fix possible anchor loop
Jan 31 2018, 2:17 PM

Jan 27 2018

vandenoever committed R881:e26ccbfd92d0: Add more tools to the docker environment (authored by vandenoever).
Add more tools to the docker environment
Jan 27 2018, 8:43 PM